tests: test-vc-list-files-git.sh: skip if git is not available
[gnulib.git] / ChangeLog
1 2012-08-28  Jim Meyering  <meyering@redhat.com>
2
3         tests: test-vc-list-files-git.sh: skip if git is not available
4         * tests/test-vc-list-files-git.sh: Skip this test when git is
5         not available.
6
7 2012-08-26  Bruno Haible  <bruno@clisp.org>
8
9         gnulib-tool: Remove no-op option --no-changelog.
10         * gnulib-tool (func_usage): Don't mention --no-changelog.
11         (do_changelog): Remove variable.
12         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
13
14 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15
16         doc: remove fdl-1.2.texi
17         It is no longer used or maintained, and its use of @acronym
18         is problematic.  See the thread containing
19         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
20         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
21         * doc/old-licenses/fdl-1.2.texi: Remove.
22
23         execinfo: port to FreeBSD
24         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
25         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
26         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
27         * modules/execinfo (Link): Add $(LIB_EXECINFO).
28
29 2012-08-23  Jim Meyering  <meyering@redhat.com>
30
31         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
32         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
33         to placate gcc's -Wold-style-declaration.
34
35 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36
37         doc: do not use @acronym
38         * doc/inet_ntoa.texi (inet_ntoa):
39         * doc/parse-datetime.texi (Seconds since the Epoch)
40         (Specifying time zone rules):
41         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
42         Don't use @acronym.  Problem reported by John Darlington in
43         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
44
45 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
46
47         stdnoreturn: port to newer GCCs
48         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
49         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
50         Problem reported by Jim Meyering in
51         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
52         Also, rename the 'test' function to a void a clash with the
53         already-supplied 'main' function; this fixes a bug that incorrectly
54         rejected GCC 4.7.1's <stdnoreturn.h>.
55         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
56         Document GCC problem.
57
58 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
59
60         pipe-filter: fix comment typo
61         * lib/pipe-filter.h: Mention correct function.
62
63 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64
65         execinfo: new module
66         This is for Emacs.  Currently, it provides a no-effect stub
67         on all platforms where it does not already work.
68         It already works on glibc-based systems, and on Solaris 11.
69         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
70         New files.
71         * doc/glibc-headers/execinfo.texi (execinfo.h):
72         * MODULES.html.sh (Misc): Document it.
73
74 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75
76         extern-inline: support old GCC 'inline'
77         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
78         if available.  This applies to GCC versions 2.7 through 4.2, or
79         when newer GCC is using -fgnu89-inline.  The goal is to address
80         some of the performance issues mentioned by Bruno Haible in
81         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
82
83 2012-08-20  Eric Blake  <eblake@redhat.com>
84
85         maint.mk: avoid redundant file name in message
86         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
87         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
88         (sc_makefile_path_separator_check): Remove bogus $(ME).
89
90 2012-08-20  Mike Frysinger <vapier@gentoo.org>
91
92         timer-time: fix link order when static linking on glibc
93         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
94         _after_ -lrt so that it's significant.
95
96 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97
98         timespec: omit unnecessary AC_C_INLINE
99         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
100
101         stat-time: omit unnecessary AC_C_INLINE
102         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
103         Do not require AC_C_INLINE.
104
105         ignore-value: omit unnecessary AC_C_INLINE
106         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
107
108         sys_select: avoid 'static inline'
109         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
110
111         mktime: avoid 'static inline'
112         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
113         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
114
115 2012-08-19  Bruno Haible  <bruno@clisp.org>
116
117         gnulib-tool: Improve coding style.
118         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
119         func_emit_lib_Makefile_am.
120         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
121
122 2012-08-19  Bruno Haible  <bruno@clisp.org>
123
124         gnulib-tool: Fix indentation.
125         * gnulib-tool (func_import): Fix indentation.
126
127 2012-08-19  Bruno Haible  <bruno@clisp.org>
128
129         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
130         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
131         on the list of removed files.
132
133 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
134
135         test-parse-datetime: avoid glibc leap-second glitch
136         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
137         with the 2012 rules.  Problem reported by Bruce Dubbs in
138         <http://bugs.gnu.org/12206>.
139
140 2012-08-14  Bruno Haible  <bruno@clisp.org>
141
142         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
143         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
144         from argument.
145         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
146
147 2012-08-14  Eric Blake  <eblake@redhat.com>
148
149         ldexp: relax license
150         * modules/ldexp (License): Trivial relax, since the module only
151         provides a permissively licensed m4 file.
152
153 2012-08-13  Bruno Haible  <bruno@clisp.org>
154
155         gnulib-tool: Fix persistence of --witness-c-macro option.
156         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
157         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
158
159 2012-08-11  Eric Blake  <eblake@redhat.com>
160
161         count-leading-zeros: use a lookup table on non-gcc compilers
162         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
163         alternate implementation, suggested by Jim Meyering.
164
165 2012-08-10  Eric Blake  <eblake@redhat.com>
166
167         count-leading-zeros: new module
168         * modules/count-leading-zeros: New module.
169         * m4/count-leading-zeros.m4: New file.
170         * lib/count-leading-zeros.h: Likewise.
171         * modules/count-leading-zeros-tests: New test.
172         * tests/test-count-leading-zeros.c: New file.
173         * MODULES.html.sh (Integer arithmetic functions): Document it.
174
175 2012-08-07  Simon Josefsson  <simon@josefsson.org>
176             Jim Meyering  <meyering@redhat.com>
177
178         maintainer-makefile: Fix syntax error with dash.
179         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
180         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
181
182 2012-08-05  Jim Meyering  <meyering@redhat.com>
183
184         extern-inline: also ignore -Wmissing-declarations
185         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
186         required with gcc-4.8.0-to-be.
187
188         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
189         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
190         for /error ?([^,]*)/.  This avoids false-positives for strings like
191         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
192
193 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
194
195         gnumakefile: better interaction with Automake-NG
196         * modules/gnumakefile [Makefile.am]: The makefiles generated by
197         Automake-NG always contain a definition of VPATH, even in non-VPATH
198         builds (its value being simply '.' in that case).  So, in the
199         'clean-GNUmakefile' rule, to determine whether running under a
200         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
201         '$(VPATH)' expands to the empty string.
202
203 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
204
205         base64: Use extern C scope in header file, for C++.
206         * lib/base64.h: Add C++ namespace protection.
207
208 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
209
210         stat-time, timespec, u64: support naive out-of-dir builds
211         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
212         Use '#include "foo.h"', not '#include <foo.h>', when including
213         one's own interface.  This works better when configuring with
214         out-of-directory builds, since packages need not add an
215         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
216
217 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
218
219         utimens: use extern-inline
220         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
221         * lib/utimens.h: Add copyright notice, since this is now large enough
222         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
223         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
224         * modules/utimens (Depends-on): Add extern-inline.
225
226         u64: use extern-inline
227         * lib/u64.c: New file.
228         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
229         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
230         * modules/u64 (Files): Add lib/u64.c.
231         (Depends-on): Add extern-inline.
232         (configure.ac): No need to require AC_C_INLINE, since extern-inline
233         does that now.
234         (lib_SOURCES): Add u64.c.
235
236         timespec: use extern-inline
237         * lib/timespec.c: New file.
238         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
239         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
240         * modules/timespec (Files): Add lib/timespec.c.
241         (Depends-on): Add extern-inline.
242         (lib_SOURCES): Add timespec.c.
243
244         stat-time: use extern-inline
245         * lib/stat-time.c: New file.
246         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
247         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
248         * modules/stat-time (Files): Add lib/stat-time.c.
249         (Depends-on): Add extern-inline.
250         (lib_SOURCES): Add stat-time.c.
251
252         extern-inline: new module
253         * modules/extern-inline, m4/extern-inline.m4: New files.
254         This is for better support of 'extern inline' a la ISO C99,
255         with a portable alternative on compilers that do not support
256         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
257         of the Emacs executable, when compiled with debugging disabled,
258         which is a typical way that Emacs is built while developing.
259
260 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
261
262         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
263         * build-aux/do-release-commit-and-tag: Move variable definitions
264         together.
265         ($branch): Instead of defaulting to "master", default to the current
266         branch (as gnu-web-doc-update does).
267         (help): Display the current values of the option arguments.
268         * top/maint.mk (release-commit): New.
269         * top/README-release: Simplify the corresponding step.
270
271 2012-07-30  Eric Blake  <eblake@redhat.com>
272
273         passfd: fix comment on recvfd
274         * lib/passfd.c (recvfd): Fix comment.
275         Reported by Jann Horn <jannhorn@googlemail.com>.
276
277 2012-07-30  Jim Meyering  <meyering@redhat.com>
278
279         maint.mk: avoid a sub-shell
280         * top/maint.mk (release-prep): Remove unneeded sub-shell.
281
282 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
283
284         maint.mk: use silent-rules support from Automake
285         * top/maint.mk (news-check, vc-diff-check, announcement)
286         (no-submodule-changes, alpha beta stable, release-prep)
287         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
288
289 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
290
291         maint.mk: provide a web-manual-update target
292         * top/maint.mk: here.
293         * top/README-release: Use it to simplify the web manual update step.
294
295 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
296
297         README-release: shorten the circuit to post a news
298         * top/README-release: Point directly to the news submission form.
299
300 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
301
302         gnu-web-doc-update: fix --help
303         * build-aux/gnu-web-doc-update: The information "top level" was written
304         twice.
305
306 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
307
308         maint.mk: absolute VPATH issue
309         * top/maint.mk (release-prep): Help Git find .git/.
310         From Jim Meyering.
311
312 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
313
314         gitlog-to-changelog: fix previous change
315         * build-aux/gitlog-to-changelog: Fix condition.
316         Add missing ";".
317
318 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
319
320         gitlog-to-changelog: don't expect .git to be in $srcdir
321         Reported by Bruno Haible.
322         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
323         * build-aux/gitlog-to-changelog (&git_dir_option): New.
324         Use it.
325
326 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
327
328         maint.mk: absolute VPATH build fix
329         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
330         $(srcdir) is not a parent of $(builddir).
331
332 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
333
334         clean-temp: Fix memory leak.
335         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
336         'files' members of tmpdir.
337
338 2012-07-27  Jim Meyering  <meyering@redhat.com>
339
340         maint.mk: new rule: refresh-gnulib-patches
341         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
342         Use this rule to refresh them.
343         * top/maint.mk (refresh-gnulib-patches): New rule.
344
345 2012-07-24  Bruno Haible  <bruno@clisp.org>
346
347         gnulib-tool: Fix handling of inctests variable.
348         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
349         Reported by Nick Bowler <nbowler@elliptictech.com>.
350
351 2012-07-22  Bruno Haible  <bruno@clisp.org>
352
353         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
354         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
355         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
356         Remove exemption for getpass.h.
357         Suggested by Eric Blake.
358
359 2012-07-20  Eric Blake  <eblake@redhat.com>
360
361         verify: document conflict with -Wnested-externs
362         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
363
364         maint.mk: forbid exit(-1)
365         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
366
367 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
368
369         fsusage: port back to Solaris
370         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
371         error (fsd not declared) on Solaris 10.  Reported privately by
372         Andrew Borodin.
373
374 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
375
376         gnu-web-doc-update: fix error messages
377         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
378
379         gnu-web-doc-update: check the requirements.
380         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
381         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
382         * build-aux/bootstrap (find_tool): Comment change.
383
384 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
385
386         maint.mk: minor simplication.
387         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
388         for default values.
389
390 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
391
392         gitlog-to-changelog: VPATH build issues
393         If builddir is not a subdirectory of srcdir, running git from it will
394         fail.
395         * build-aux/gitlog-to-changelog (--srcdir): New option.
396
397 2012-07-15  Bruno Haible  <bruno@clisp.org>
398
399         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
400         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
401         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
402         Remove exemption for fpending.h.
403         Suggested by Eric Blake.
404
405 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
406
407         pthread_sigmask: fix bug on FreeBSD 9
408         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
409         Include string.h.
410         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
411         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
412         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
413         but pthread_sigmask (1729, NULL, NULL) returns zero.
414         See <http://bugs.gnu.org/11884>.
415         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
416         by inspecting whether the main call changed the old mask.
417
418 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
419
420         README-release: make it more legible
421         * top/README-release: Improve typography slightly.
422
423 2012-07-15  Jim Meyering  <meyering@redhat.com>
424
425         maint: require that each sc_... command start with "@"
426         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
427         "make sc_maint" helps us avoid this nit.
428
429 2012-07-15  Jim Meyering  <meyering@redhat.com>
430
431         maint.mk: add leading "@" to quiet new "make syntax-check" rule
432         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
433
434 2012-07-13  Eric Blake  <eblake@redhat.com>
435
436         maint.mk: new syntax check for HAVE_DECL checks
437         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
438         * cfg.mk
439         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
440         Exempt some false positives.
441         Based on a report by Karel Zak.
442
443         argp: make HAVE_DECL usage consistent
444         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
445         macros, not whether they are defined.
446         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
447         convention with other declaration checks.
448         Reported by Karel Zak, with suggestions from Paul Eggert.
449
450         stat-time: relax license to LGPLv2+
451         * modules/stat-time (License): Relax, with consent of all authors.
452
453         strndup: fix m4 usage error
454         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
455         defined, to either 0 or 1.
456         Reported by Karel Zak.
457
458 2012-07-11  Jim Meyering  <meyering@redhat.com>
459
460         maint: enable the sc_avoid_if_before_free syntax-check rule
461         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
462         (if_before_free_offenders_): Define.
463         (if_before_free_basename_re_): Define.
464         Exempt current files with useless if-before-free.
465
466 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
467
468         gettext: do not assume '#define ... defined ...' behavior
469         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
470         Do not use '#define FOO ... defined BAR ...', as the C standard says
471         it's not portable to expect that this works after macro expansion.
472         Problem reported for gzip by Steven M. Schweda in
473         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
474
475 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
476
477         getloadavg: clean out old Emacs and Autoconf cruft
478         See Glenn Morris in <http://bugs.gnu.org/11905>.
479         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
480         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
481         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
482         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
483
484 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
485
486         bootstrap: let warn be like tests/init.sh's warn_
487         Reported by Jim Meyering.
488         * build-aux/bootstrap (warn): Remove, replaced by...
489         (warnf_, warn_): these.
490         Adjust callers.
491         Shorten messages that no longer fit in 80 columns.
492
493 2012-07-09  Bruno Haible  <bruno@clisp.org>
494
495         getopt: Simplify after Emacs changed.
496         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
497         (gl_GETOPT_IFELSE): Remove macro.
498
499 2012-07-09  Jim Meyering  <meyering@redhat.com>
500
501         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
502         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
503
504         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
505         Bugs in both of those conspired to make the
506         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
507         _sc_search_regexp's handling of non-empty $in_files would filter
508         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
509         choice of in_files value meant there would be no match in most
510         projects, due to the presence of two or more Makefile.in files.
511         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
512         Fix a bug in how a non-empty $$in_files was processed:
513         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
514         in spite of the name, it's a regexp, not a list of file names.
515
516 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
517
518         getloadavg, getopt: fix commentary re configure.in
519         Autoconf is deprecating the name 'configure.in', so change it to
520         to the new name 'configure.ac' in a couple of places.
521         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
522         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
523         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
524         Emacs has renamed it to configure.ac, and it no longer refers
525         to these macros anyway.
526
527         timespec: mark functions with const attributes
528         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
529         Mark with _GL_ATTRIBUTE_CONST.
530
531 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
532
533         canonicalize[-lgpl]: handle "guessing" values when cross-building
534         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
535         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
536         matches "*yes" instead of just "yes".  Regression introduced in commit
537         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
538
539 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
540             Bruno Haible  <bruno@clisp.org>
541
542         canonicalize: make the right guess when cross-compiling to GNU
543         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
544         determine whether cross-compiling to glibc systems, so as to
545         include GNU/Hurd.
546
547 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
548
549         timespec-sub: avoid duplicate include
550         * lib/timespec-sub.c: Do not include <config.h> twice.
551         Reported by Juanma Barranquero.
552
553 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
554
555         bootstrap: use a more consistent error reporting scheme
556         * build-aux/bootstrap (warn, die): New.
557         Use them.
558
559 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
560
561         sys_time: allow too-wide tv_sec
562         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
563         timeval even if tv_sec is wider than time_t.  This allows
564         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
565         as without this patch gnulib replaces struct timeval
566         and OpenBSD futimes therefore has a type mismatch.
567         * doc/posix-headers/sys_time.texi: Mention this.
568
569         pthread: check for both pthread_create and pthread_join
570         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
571         alter the check so that it tests for both pthread_create and
572         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
573         Suggested by Bruno Haible and Richard Yao in
574         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
575
576         parse-datetime: doc tuneup
577         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
578         spacing issues.
579
580 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
581
582         do-release-commit-and-tag: fix the previous commit
583         * build-aux/do-release-commit-and-tag: Actually the test was right,
584         but the comment and the error message were misleading.
585         Fix comment, and improve error message.
586         Perform check first, so that NEWS is not modified uselessly.
587
588         do-release-commit-and-tag: fix typo
589         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
590         _not_ start with a stub.
591
592 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
593
594         pthread: check for pthread_create, not pthread_join
595         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
596         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
597         pthread_join in libc.  I hope this removes the need for all the
598         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
599         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
600
601 2012-07-04  Jim Meyering  <meyering@redhat.com>
602
603         parse-datetime: fix failure to diagnose invalid input
604         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
605         rather than diagnosing the invalid input.  Now it reports this:
606         date: invalid date '\260'
607         * lib/parse-datetime.y (to_uchar): Define.
608         (yylex): Don't sign-extend "other" bytes.
609         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
610         Thanks to Bruno Haible for the patch to this file.
611         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
612         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
613
614 2012-07-03  Jim Meyering  <meyering@redhat.com>
615
616         bootstrap: do not require now-removed build-aux/missing
617         Now that build-aux/missing is, er, missing, bootstrap would
618         silently fail.
619         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
620         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
621         no longer part of gnulib.
622         Diagnose the failure.
623
624 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
625
626         alloca: add support for HP NonStop TNS/E native
627         * lib/alloca.in.h (alloca): Support the new host.
628         From a suggestion by Joachim Schmitz in
629         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
630
631 2012-07-02  Pádraig Brady  <P@draigBrady.com>
632
633         fsusage: remove code not needed on non GNU/Linux systems.
634
635         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
636         Don't include headers no longer needed in this case.
637         * lib/fsusage.c [STAT_STATVFS &&
638         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
639         STAT_STATFS2_FRSIZE to exclude code not used in this case.
640
641 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
642
643         fsusage: include files needed for glibc 2.6 fallback
644         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
645         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
646         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
647         Problem reported by Ludovic Courtès in
648         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
649
650         fsusage: avoid needless check on GNU/Linux
651         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
652         on GNU/Linux systems, since it can't possibly work.
653
654 2012-07-01  Bruno Haible  <bruno@clisp.org>
655
656         log: Fix an autoconf >= 2.64 warning.
657         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
658         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
659
660 2012-06-28  Bruno Haible  <bruno@clisp.org>
661
662         log10f: Fix possible configuration problem.
663         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
664         $LOGF_LIBM.
665         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
666
667 2012-06-28  Bruno Haible  <bruno@clisp.org>
668
669         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
670         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
671         not gl_cv_func_unlink_works.
672         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
673
674 2012-06-27  Eric Blake  <eblake@redhat.com>
675
676         config: drop scripts that automake says are not independent
677         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
678         * build-aux/elisp-comp: Delete.
679         * build-aux/missing: Likewise.
680         * build-aux/ylwrap: Likewise.
681         * modules/elisp-comp: Likewise.
682         * MODULES.html.sh: Drop mention of elisp-comp.
683         * NEWS: Mention this.
684
685 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
686
687         root-uid: new module
688         This is for portability to Tandem's NonStop Kernel.
689         * lib/root-uid.h, modules/root-uid: New files.
690         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
691         * lib/write-any-file.c, tests/test-sethostname2.c:
692         Include "root-uid.h".
693         * lib/euidaccess.c (euidaccess):
694         * lib/pt_chown.c (main):
695         * lib/unlinkdir.c (cannot_unlink_dir):
696         * lib/write-any-file.c (can_write_any_file):
697         * m4/mknod.m4 (gl_FUNC_MKNOD):
698         * tests/test-sethostname2.c (geteuid, main):
699         Don't assume ROOT_UID == 0.
700         * modules/euidaccess (Depends-on):
701         * modules/pt_chown (Depends-on):
702         * modules/sethostname-tests (Depends-on):
703         * modules/unlinkdir (Depends-on):
704         * modules/write-any-file (Depends-on):
705         Add root-uid.
706
707         regex: use locale-independent comparison for codeset name
708         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
709         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
710         for codeset name.
711         * lib/regex_internal.h: Do not include <strings.h>, since we
712         no longer use strcasecmp.
713         * modules/regex (Depends-on): Remove strcase.
714
715 2012-06-23  Bruno Haible  <bruno@clisp.org>
716
717         getopt-posix: No longer guarantee that option processing is resettable.
718         * doc/posix-functions/getopt.texi: Drop description of problem with
719         internal state. Fix info about mingw and msvc9.
720         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
721         option processing by getopt(). Run three test programs instead of one.
722         Simplify cross-compilation guess.
723         * NEWS: Mention the change.
724         Reported by Rich Felker <dalias@aerifal.cx>.
725
726 2012-06-26  Bruno Haible  <bruno@clisp.org>
727
728         argp, regex: Ensure strcasecmp gets declared.
729         * lib/argp-help.c: Include <strings.h>.
730         * lib/regex_internal.h: Likewise.
731         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
732
733 2012-06-24  Bruno Haible  <bruno@clisp.org>
734
735         ptsname_r: Make it consistent with ptsname on AIX.
736         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
737         implementation as for OSF/1.
738         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
739         a pty master.
740
741         ptsname_r: Make it consistent with ptsname on OSF/1.
742         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
743         OSF/1.
744
745 2012-06-24  Bruno Haible  <bruno@clisp.org>
746
747         ttyname_r: Fix result on OSF/1, Solaris.
748         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
749
750 2012-06-24  Bruno Haible  <bruno@clisp.org>
751
752         ptsname_r: Add support for Solaris.
753         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
754         Solaris.
755
756         ptsname_r: Fix test failure on native Windows.
757         * modules/ptsname_r (Depends-on): Add isatty.
758
759         ptsname_r: Fix test failures on IRIX, Solaris.
760         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
761         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
762         accordingly.
763         * lib/ptsname_r.c: Include <fcntl.h>.
764         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
765         set errno if fd is invalid.
766         * tests/test-isatty.c (main): Update comments.
767
768 2012-06-24  Bruno Haible  <bruno@clisp.org>
769
770         ptsname test: Extend test.
771         * tests/test-ptsname.c: Include <errno.h>.
772         (main): Test behaviour with invalid file descriptor.
773
774 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
775
776         time: fix obsolete comment
777         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
778         reference to HAVE_STRUCT_TIMESPEC in comment.
779
780 2012-06-23  Bruno Haible  <bruno@clisp.org>
781
782         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
783         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
784         does not handle abbreviated long options with equivalent
785         disambiguations, set gl_replace_getopt to yes.
786         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
787
788 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
789
790         time_r: fix typo that always overrode localtime_r decl
791         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
792         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
793         not in a standard include.
794
795 2012-06-22  Bruno Haible  <bruno@clisp.org>
796
797         Write "Mac OS X" instead of "MacOS X".
798         * README: Write "Mac OS X" instead of "MacOS X".
799         * build-aux/bootstrap: Likewise.
800         * build-aux/install-reloc: Likewise.
801         * lib/acl-internal.h: Likewise.
802         * lib/acl_entries.c: Likewise.
803         * lib/argp-ba.c: Likewise.
804         * lib/argp-pv.c: Likewise.
805         * lib/config.charset: Likewise.
806         * lib/copy-acl.c: Likewise.
807         * lib/csharpexec.c: Likewise.
808         * lib/euidaccess.c: Likewise.
809         * lib/fbufmode.c: Likewise.
810         * lib/fflush.c: Likewise.
811         * lib/file-has-acl.c: Likewise.
812         * lib/filemode.h: Likewise.
813         * lib/fpurge.c: Likewise.
814         * lib/freadable.c: Likewise.
815         * lib/freadahead.c: Likewise.
816         * lib/freading.c: Likewise.
817         * lib/freadptr.c: Likewise.
818         * lib/freadseek.c: Likewise.
819         * lib/fseeko.c: Likewise.
820         * lib/fseterr.c: Likewise.
821         * lib/fsusage.c: Likewise.
822         * lib/fwritable.c: Likewise.
823         * lib/fwriting.c: Likewise.
824         * lib/get-rusage-as.c: Likewise.
825         * lib/get-rusage-data.c: Likewise.
826         * lib/getdomainname.c: Likewise.
827         * lib/idpriv-drop.c: Likewise.
828         * lib/idpriv-droptemp.c: Likewise.
829         * lib/localcharset.c: Likewise.
830         * lib/locale.in.h: Likewise.
831         * lib/localename.c: Likewise.
832         * lib/mbsrtowcs-state.c: Likewise.
833         * lib/nproc.c: Likewise.
834         * lib/passfd.c: Likewise.
835         * lib/posix_openpt.c: Likewise.
836         * lib/printf-parse.c: Likewise.
837         * lib/progreloc.c: Likewise.
838         * lib/safe-read.h: Likewise.
839         * lib/safe-write.h: Likewise.
840         * lib/sched.in.h: Likewise.
841         * lib/set-mode-acl.c: Likewise.
842         * lib/signal.in.h: Likewise.
843         * lib/stdint.in.h: Likewise.
844         * lib/stdio-impl.h: Likewise.
845         * lib/stdlib.in.h: Likewise.
846         * lib/strtod.c: Likewise.
847         * lib/sys_select.in.h: Likewise.
848         * lib/tcgetsid.c: Likewise.
849         * lib/unistd.in.h: Likewise.
850         * lib/unlockpt.c: Likewise.
851         * lib/vasnprintf.c: Likewise.
852         * lib/vma-iter.c: Likewise.
853         * lib/wcsrtombs-state.c: Likewise.
854         * m4/acl.m4: Likewise.
855         * m4/acosl.m4: Likewise.
856         * m4/asinl.m4: Likewise.
857         * m4/atanl.m4: Likewise.
858         * m4/c-stack.m4: Likewise.
859         * m4/cosl.m4: Likewise.
860         * m4/expl.m4: Likewise.
861         * m4/extensions.m4: Likewise.
862         * m4/fdatasync.m4: Likewise.
863         * m4/fmal.m4: Likewise.
864         * m4/frexp.m4: Likewise.
865         * m4/frexpf.m4: Likewise.
866         * m4/frexpl.m4: Likewise.
867         * m4/fsusage.m4: Likewise.
868         * m4/getdomainname.m4: Likewise.
869         * m4/getloadavg.m4: Likewise.
870         * m4/getopt.m4: Likewise.
871         * m4/gettext.m4: Likewise.
872         * m4/gnulib-common.m4: Likewise.
873         * m4/intdiv0.m4: Likewise.
874         * m4/intlmacosx.m4: Likewise.
875         * m4/largefile.m4: Likewise.
876         * m4/ldexpl.m4: Likewise.
877         * m4/link-follow.m4: Likewise.
878         * m4/locale-ar.m4: Likewise.
879         * m4/locale-fr.m4: Likewise.
880         * m4/locale-ja.m4: Likewise.
881         * m4/locale-tr.m4: Likewise.
882         * m4/locale-zh.m4: Likewise.
883         * m4/locale_h.m4: Likewise.
884         * m4/lock.m4: Likewise.
885         * m4/logl.m4: Likewise.
886         * m4/mathfunc.m4: Likewise.
887         * m4/minus-zero.m4: Likewise.
888         * m4/mktime.m4: Likewise.
889         * m4/mmap-anon.m4: Likewise.
890         * m4/multiarch.m4: Likewise.
891         * m4/nanosleep.m4: Likewise.
892         * m4/nocrash.m4: Likewise.
893         * m4/poll.m4: Likewise.
894         * m4/printf-frexpl.m4: Likewise.
895         * m4/printf.m4: Likewise.
896         * m4/signbit.m4: Likewise.
897         * m4/sinl.m4: Likewise.
898         * m4/sqrtl.m4: Likewise.
899         * m4/strerror_r.m4: Likewise.
900         * m4/tanl.m4: Likewise.
901         * m4/threadlib.m4: Likewise.
902         * m4/ttyname_r.m4: Likewise.
903         * m4/unlink.m4: Likewise.
904         * m4/visibility.m4: Likewise.
905         * m4/wcwidth.m4: Likewise.
906         * tests/minus-zero.h: Likewise.
907         * tests/test-alloca-opt.c: Likewise.
908         * tests/test-copy-acl.sh: Likewise.
909         * tests/test-copy-file.sh: Likewise.
910         * tests/test-fdatasync.c: Likewise.
911         * tests/test-file-has-acl.sh: Likewise.
912         * tests/test-flock.c: Likewise.
913         * tests/test-fsync.c: Likewise.
914         * tests/test-localename.c: Likewise.
915         * tests/test-malloca.c: Likewise.
916         * tests/test-nonblocking-pipe.h: Likewise.
917         * tests/test-nonblocking-socket.h: Likewise.
918         * tests/test-openpty.c: Likewise.
919         * tests/test-posix_openpt.c: Likewise.
920         * tests/test-ptsname.c: Likewise.
921         * tests/test-ptsname_r.c: Likewise.
922         * tests/test-sameacls.c: Likewise.
923         * tests/test-select.h: Likewise.
924         * tests/test-set-mode-acl.sh: Likewise.
925         * tests/test-snprintf-posix.h: Likewise.
926         * tests/test-sprintf-posix.h: Likewise.
927         * tests/test-strtod.c: Likewise.
928         * tests/test-time.c: Likewise.
929         * tests/test-vasnprintf-posix.c: Likewise.
930         * tests/test-vasprintf-posix.c: Likewise.
931         * doc/acl-resources.txt: Likewise.
932         * doc/**/*.texi: Likewise.
933         Reported by Max Horn <max@quendi.de>.
934
935 2012-06-22  Bruno Haible  <bruno@clisp.org>
936
937         grantpt: Relax requirement regarding invalid file descriptors.
938         * lib/grantpt.c: Don't include <fcntl.h>.
939         (grantpt): Don't verify the validity of the file descriptor.
940         * modules/grantpt (Depends-on): Remove fcntl-h.
941         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
942         file descriptors.
943         * doc/posix-functions/grantpt.texi: Document more platforms on which
944         grantpt succeeds for invalid file descriptors.
945         Reported by Rich Felker <dalias@aerifal.cx>.
946
947 2012-06-22  Bruno Haible  <bruno@clisp.org>
948
949         fbufmode test: Don't test unportable behaviour.
950         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
951         (main): Invoke it three times.
952         Reported by Szabolcs Nagy <nsz@port70.net>
953         and Rich Felker <dalias@aerifal.cx>.
954
955 2012-06-21  Bruno Haible  <bruno@clisp.org>
956
957         gnulib-tool: Refactor inctests variable.
958         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
959         (func_modules_transitive_closure,
960         func_modules_transitive_closure_separately,
961         func_import, func_create_testdir): Update.
962
963         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
964         * gnulib-tool: Accept option --without-tests.
965         (func_usage): Document --without-tests option. Rearrange.
966         (inctests): Normalize according to the mode.
967         * NEWS: Mention the change.
968         Suggested by Simon Josefsson.
969
970 2012-06-21  Bruce Korb  <bkorb@gnu.org>
971
972         parse-duration test: Avoid spurious output.
973         * tests/test-parse-duration.sh: Reindent with leading tabs.
974
975 2012-06-21  Jim Meyering  <meyering@redhat.com>
976
977         maint: disable the strncpy prohibition
978         * cfg.mk: Do not prohibit strncpy here.
979
980 2012-06-21  Bruno Haible  <bruno@clisp.org>
981
982         nonblocking: Avoid compilation error on mingw64.
983         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
984         fscanf.
985         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
986         * modules/vfscanf (configure.ac): Likewise.
987         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
988         definition only if stdio.h has prepared it.
989         Reported by Daniel P. Berrange <berrange@redhat.com>.
990
991 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
992
993         gnulib-tool: Use readlink if it is available.
994         * gnulib-tool (func_readlink): Choose function more appropriately.
995
996 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
997
998         posixtm-tests: port to buggy compiler
999         Problem reported by Simon Josefsson in
1000         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
1001         * modules/posixtm-tests (Depends-on): Add stdint.
1002         * tests/test-posixtm.c (struct posixtm_test.t_expected):
1003         Now of type int_least64_t, not int64_t, both because that's
1004         what INT64_C returns and because int_least64_t works even
1005         on 72-bit hosts.
1006         (T): Use INT64_C on constants outside the traditional int range,
1007         to work around compiler bug noted by Simon.
1008
1009         mktime: fix integer overflow in 'configure'-time test
1010         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
1011         after integer overflow.  Problem reported by Rich Felker in
1012         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
1013         Also, don't look for further instances of a bug if we've already
1014         found one instance; this helps 'configure' run faster.
1015
1016 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
1017
1018         tmpfile, clean-temp: Fix invocation of GetVersionEx.
1019         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
1020         GetVersionEx correctly.
1021         * lib/clean-temp.c (supports_delete_on_close): Likewise.
1022
1023 2012-06-20  Bruno Haible  <bruno@clisp.org>
1024
1025         fdopen: Allow implementations that don't reject invalid fd arguments.
1026         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
1027         succeeds.
1028         Reported by Rich Felker <dalias@aerifal.cx>.
1029
1030 2012-06-20  Simon Josefsson  <simon@josefsson.org>
1031
1032         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
1033         bring in LIBINTL.
1034
1035 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1036
1037         init.sh: do not rely on autoupated PWD
1038         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
1039         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
1040         Although Nelson's bug was not necessarily fixed by this patch,
1041         it seems wise to make the change for safety.
1042         * tests/init.sh (path_prepend_): Do not rely on PWD updating
1043         automagically after 'cd'; this is not reliable on older shells.
1044         (setup_): Fail if we cannot cd to temporary directory.
1045
1046 2012-06-19  Bruno Haible  <bruno@clisp.org>
1047
1048         stat, fstat: Avoid warnings on mingw64.
1049         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
1050         redefining.
1051         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
1052         Reported by Daniel P. Berrange <berrange@redhat.com>.
1053
1054 2012-06-19  Bruno Haible  <bruno@clisp.org>
1055
1056         stdioext: Add support for musl libc.
1057
1058         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
1059         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
1060
1061         * m4/fseterr.m4: New file.
1062         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
1063         function exists.
1064         * modules/fseterr (Files): Add m4/fseterr.m4.
1065         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
1066         __fseterr does not exist.
1067         (Makefile.am): Remove fseterr.c from lib_SOURCES.
1068
1069         * lib/freadable.h: Update comment.
1070
1071         * lib/fwritable.h: Update comment.
1072
1073         * lib/freading.h: Update comment.
1074
1075         * lib/fwriting.h: Update comment.
1076
1077         * m4/freadahead.m4: New file.
1078         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
1079         that function exists.
1080         * modules/freadahead (Files): Add m4/freadahead.m4.
1081         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
1082         __freadahead does not exist.
1083         (Makefile.am): Remove freadahead.c from lib_SOURCES.
1084
1085         * m4/freadptr.m4: New file.
1086         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
1087         function exists.
1088         * modules/freadptr (Files): Add m4/freadptr.m4.
1089         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
1090         __freadptr does not exist.
1091         (Makefile.am): Remove freadptr.c from lib_SOURCES.
1092
1093         * m4/freadseek.m4: New file.
1094         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
1095         exists.
1096         * modules/freadseek (Files): Add m4/freadseek.m4.
1097         (configure.ac): Invoke gl_FUNC_FREADSEEK.
1098
1099         * lib/fpurge.c (fpurge): Update comment.
1100
1101         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
1102
1103 2012-06-19  Bruno Haible  <bruno@clisp.org>
1104
1105         *printf-posix: Put more info into config.log.
1106         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
1107         exit code into config.log.
1108
1109 2012-06-19  Bruno Haible  <bruno@clisp.org>
1110
1111         getopt-gnu: Fix exit code overflow in autoconf test.
1112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
1113         to keep them below < 128.
1114
1115 2012-06-17  Jim Meyering  <meyering@redhat.com>
1116
1117         maint.mk: fix typo in code to derive GPG key at release time
1118         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
1119
1120 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1121
1122         regex: avoid warning when pointers are not long
1123         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
1124         and uintptr_t, not long, for portability to hosts where pointers and
1125         long have different sizes.  Issue noted by Daniel P. Berrange in
1126         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
1127         and fix suggested by Bruno Haible in
1128         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
1129
1130 2012-06-17  Bruno Haible  <bruno@clisp.org>
1131
1132         dummy: Relicense into the public domain.
1133         * modules/dummy (License): Set to "public domain".
1134         Suggested by Reuben Thomas.
1135
1136 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1137
1138         announce-gen: VPATH issues
1139         * build-aux/announce-gen (--srcdir): New option, used to trim the
1140         $srcdir part of the path from $builddir to NEWS.
1141         * top/maint.mk (announcement): Adjust.
1142
1143 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1144
1145         gnu-web-doc-update: VPATH builds
1146         * build-aux/gnu-web-doc-update (--builddir): New option.
1147         Revamp the handling of options.
1148         Prefer $(...) to `...`.
1149         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
1150         the template, and it is GNU mktemp specific.
1151         Prefer set -e to long series of &&.
1152         Restore the initial git branch, not "master".
1153         Properly initialize submodules (don't rely only on bootstrap).
1154         Do not reconfigure blindly, use config.status.
1155         * top/README-release: Update instructions for gnu-web-doc-update.
1156
1157 2012-06-11  Jim Meyering  <meyering@redhat.com>
1158
1159         maint.mk: revert most of the previous change re "all these"
1160         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
1161         For rationale, see the discussion at
1162         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
1163
1164 2012-06-10  Karl Berry  <karl@gnu.org>
1165
1166         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
1167
1168         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
1169
1170 2012-06-10  Bruce Korb  <bkorb@gnu.org>
1171
1172         parse-duration: Relicense under LGPLv2+.
1173         * modules/parse-duration (License): Change to LGPLv2+.
1174
1175 2012-06-10  Jim Meyering  <meyering@redhat.com>
1176
1177         maint.mk: prohibit common grammar error: "all these"
1178         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
1179         the list of prohibited word sequences.  It should be "all of these".
1180         * lib/tempname.c (__gen_tempname): Fix one of them.
1181
1182 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1183
1184         do-release-commit-and-tag: support VPATH builds
1185         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
1186         (noteworthy): Defined earlier to factor its value.
1187         (noteworthy_stub): New.
1188         Use it to factor.
1189         (help_version): Split into...
1190         (help, version): these.
1191         Adjust the option processing part.
1192         Support "--option=value" in addition to "--option value".
1193         (builddir): New.
1194         (--builddir): New option.
1195         * top/README-release: Document this.
1196         Reword slightly so that the reader cannot understand that he
1197         has to do these steps before calling do-release-commit-and-tag.
1198
1199 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1200
1201         readme-release: also require announce-gen and maintainer-makefile
1202         * modules/readme-release (Depends-on): here.
1203         * modules/announce-gen, modules/do-release-commit-and-tag,
1204         modules/gnu-web-doc-update, modules/maintainer-makefile
1205         (Description): Point to readme-release.
1206
1207 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1208
1209         maint.mk: fix VPATH issues.
1210         * top/maint.mk (news-check): GNU Make understand $< very well.
1211         (release-prep): NEWS is in $(srcdir).
1212
1213 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
1214
1215         readme-release: require the promoted modules.
1216         * modules/readme-release (Depends-on): Add
1217         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
1218         in this text.
1219
1220 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1221             Bruno Haible  <bruno@clisp.org>
1222
1223         error, strerror-override: Support mingw64 from Fedora 17.
1224         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
1225         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
1226         EINPROGRESS.
1227         * lib/strerror-override.h (strerror_override): Test it.
1228         * lib/strerror-override.c (strerror_override): Likewise.
1229         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
1230
1231 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1232             Bruno Haible  <bruno@clisp.org>
1233
1234         error, strerror-override: Support mingw64 from Fedora 17.
1235         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
1236         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
1237         * lib/strerror-override.h (strerror_override): Test it.
1238         * lib/strerror-override.c (strerror_override): Likewise.
1239
1240 2012-06-03  Bruno Haible  <bruno@clisp.org>
1241
1242         error, strerror-override: Support new errno values from POSIX:2008.
1243         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
1244         ENOTRECOVERABLE.
1245         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
1246         platforms.
1247         * lib/strerror-override.c (strerror_override): Conditionalize the
1248         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
1249         * lib/strerror-override.h (strerror_override): Declare also if
1250         GNULIB_defined_EOWNERDEAD is defined.
1251         * tests/test-errno.c (e130, e131): New variables.
1252         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
1253         ENOTRECOVERABLE.
1254         Reported by Paolo Bonzini.
1255
1256 2012-05-31  Jim Meyering  <meyering@redhat.com>
1257
1258         savewd: add missing dependency on sys_wait module
1259         * modules/savewd (Depends-on): Add sys_wait, needed at least
1260         for MSVC.  Report and suggested change by Michael Goffioul.
1261
1262 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1263
1264         system-quote-tests: port to CentOS 5
1265         Problem reported by Tom G. Christensen in
1266         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
1267         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
1268
1269 2012-05-29  Jim Meyering  <meyering@redhat.com>
1270
1271         maint: fix typos in comments and ChangeLog
1272         Culprits identified and fixed mostly automatically using these commands:
1273         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
1274         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
1275         using http://github.com/lyda/misspell-check
1276         * ChangeLog: Fix typos.
1277         * doc/solaris-versions: Likewise.
1278         * lib/regexec.c (re_search_stub): Likewise.
1279         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1280
1281 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1282
1283         manywarnings: remove duplicate -Wmultichar entry
1284         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
1285         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
1286         so keep the entry marked as documented.
1287
1288 2012-05-27  Karl Berry  <karl@gnu.org>
1289
1290         * config/srclist.txt (mktime.c): remove last libc sync,
1291         perhaps just temporarily.
1292
1293 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1294
1295         regex: don't assume uint64_t or uint32_t
1296         * lib/regcomp.c (init_word_char): Don't assume that the types
1297         uint64_t and uint32_t exist.  The C standard doesn't guarantee
1298         them, and on some 32-bit compilers there is no uint64_t.
1299         Problem reported by Gianluigi Tiesi in
1300         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
1301
1302 2012-05-25  Jim Meyering  <meyering@redhat.com>
1303
1304         maint.mk: add strncpy-prohibiting syntax-check rule
1305         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
1306
1307 2012-05-24  Jim Meyering  <meyering@redhat.com>
1308
1309         maint.mk: compute $(gpg_key_ID) more portably
1310         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
1311         That use of sed is not portable to some fringe systems.
1312         Reported by Paul Eggert in
1313         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
1314
1315 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1316
1317         mktime: sync from glibc
1318         * config/srclist.txt: Uncomment mktime.c.
1319         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
1320         First, indent with tabs, since glibc uses tabs and doesn't want to
1321         change and we'd rather be identical to glibc.  Also, two small
1322         coding changes:
1323         (isdst_differ): Use &&, not &, as && is the usual style.
1324         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
1325         for clarity.
1326
1327 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1328
1329         announce-gen: du -h is more portable than du --human
1330         * build-aux/announce-gen (sizes): Invoke du with -h instead
1331         of --human.  Accept leading white space in its output.
1332
1333 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1334
1335         announce-gen: Improve diagnostics.
1336         * build-aux/announce-gen: When parsing command line options,
1337         prefer "announce-gen: option --release-type requires an argument"
1338         to "Option release-type requires an argument".
1339
1340 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1341
1342         maint.mk: gpg_key_ID: use sed more portably
1343         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1344         the closing brace.
1345         (refresh-po): Fuse two sed invocations into one.
1346
1347 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1348
1349         gitlog-to-changelog: support the log message format used in Bison.
1350         * build-aux/gitlog-to-changelog: Support --strip-tab and
1351         --strip-cherry-picked.
1352
1353 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1354
1355         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1356         the rest of the current time slice to another thread in the current
1357         process. So if the thread that feeds the file decscriptor we're
1358         polling is not in the current process, we get busy-waiting.
1359         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1360         Patch from Theodore Leblond.
1361         * lib/select.c: Split polling out of the loop that sets the output
1362         fd_sets.  Check for zero result and loop if the wait timeout is
1363         infinite.
1364
1365 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1366
1367         select: Fix build error on IRIX 6.5.
1368         * lib/select.c: Include stddef.h for NULL.
1369
1370 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1371
1372         gc: fix libgcrypt detection on older machines.
1373         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1374         copyright years because the file has been distributed every year
1375         since it was created.
1376
1377 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1378
1379         crypto: fix bug in large buffer handling
1380         Problem reported by Serge Belyshev for glibc in
1381         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1382         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1383         * lib/md4.c (md4_process_block):
1384         * lib/md5.c (md5_process_block):
1385         * lib/sha1.c (sha1_process_block):
1386         * lib/sha256.c (sha256_process_block):
1387         Don't assume the buffer length is less than 2**32.
1388         * lib/sha512.c (sha512_process_block): Likewise.
1389         Here, the bug is present only in the rare case where the host does
1390         not support uint64_t or where size_t is wider than 64 bits.
1391         Use u64size to work around the problems.
1392         * lib/u64.h (u64size): New macro.
1393
1394 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1395
1396         fsusage: fix block size returned on older Linux 2.6
1397
1398         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1399         which is available since Linux 2.6.
1400         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
1401         when the member is available so it can be used as a fallback.
1402         * doc/posix-functions/statvfs.texi: Mention the hang issue
1403         on Linux < 2.6.36.
1404
1405 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1406
1407         bootstrap: suppress stderr chatter
1408         * build-aux/bootstrap (insert_sorted_if_absent, main program):
1409         Omit unnecessary chatter to stderr.  The main program chatter
1410         was there only inadvertantly.
1411
1412         bootstrap: .gitignore files created by autopoint, libtool
1413         I ran into this problem when bootstrapping the latest diffutils.
1414         After './bootstrap', 'git status' reported lots of untracked files
1415         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
1416         autopoint and do not need to be version-controlled.
1417         * build-aux/bootstrap: Put into .gitignore the files that
1418         autopoint and libtool create, by keeping track of files that exist
1419         after but not before these programs are run.
1420         (version_controlled_file): Move up.  2nd arg is now full file
1421         name, not base name; this is more convenient.  Put CVS at the end,
1422         as it's now somewhat deprecated.
1423
1424 2012-05-14  Jim Meyering  <meyering@redhat.com>
1425
1426         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
1427         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
1428         definition.  Reported by Bruno Haible.
1429
1430 2012-05-13  Bruno Haible  <bruno@clisp.org>
1431             Paul Eggert  <eggert@cs.ucla.edu>
1432
1433         binary-io: Define set_binary_mode function.
1434         * lib/binary-io.h (set_binary_mode): New function.
1435         (SET_BINARY): Define in terms of set_binary_mode.
1436         * modules/binary-io (configure.ac): Require AC_C_INLINE.
1437         * tests/test-binary-io.c (main): Accept an argument, and test either
1438         set_binary_mode or SET_BINARY depending on the argument.
1439         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
1440         argument. Clean up also t-bin-out0.tmp.
1441
1442 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1443
1444         bootstrap: take advantage of POSIX shell features
1445
1446         The 'bootstrap' script offered by Gnulib script already uses POSIX
1447         shell features (like $((...)) arithmetic expansions) that are not
1448         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
1449         means that bootstrap must already be run using a proper POSIX shell,
1450         which will thus provide more features, like ${var#pattern} parameter
1451         expansion or inversion of a command exit status with '!'.  We can
1452         thus use these features to improve the clarity and the performances
1453         of the bootstrap script.
1454
1455         Suggested by Eric Blake.
1456
1457         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
1458         of sed/expr plus command substitutions, to save some forks.  While
1459         we are at it, prefer the POSIX $(...) form of command substitution,
1460         rather than the legacy form `...` (since the former is visually
1461         clearer and interacts better with quoting), and prefer the idiom:
1462           "if ! CMD; then ACTION ..."
1463         over the idiom:
1464           "if CMD; then :; else ACTION ..."
1465         which was required by legacy Bourne shells not supporting '!'.
1466
1467 2012-05-12  Bruno Haible  <bruno@clisp.org>
1468
1469         system-quote: Add more comments.
1470         * lib/system-quote.h: Add more comments about wilcards and limitations.
1471         Suggested by Eli Zaretskii <eliz@gnu.org>.
1472
1473         sh-quote, system-quote: Add comments about wildcards.
1474         * lib/sh-quote.h: Clarify what happens with wildcard characters.
1475         * lib/system-quote.h: Likewise.
1476         Reported by Eli Zaretskii <eliz@gnu.org>.
1477
1478 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1479
1480         fsusage: check for GNU/Linux statvfs problem dynamically
1481         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
1482         Define STAT_STATFS2_BSIZE too, since in this case the code now
1483         checks dynamically whether statvfs is reliable, falling back on
1484         Linux-style statfs otherwise.
1485         (statvfs_works): New function, for dynamically testing statvfs.
1486         (get_fs_usage) [STAT_STATVFS]: Use it.
1487         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
1488         statvfs on GNU/Linux hosts, since it's now done dynamically.
1489
1490 2012-05-10  Bruno Haible  <bruno@clisp.org>
1491
1492         system-quote, execute, spawn-pipe: Escape '?' on Windows.
1493         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
1494         '?' character.
1495         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
1496         * tests/test-system-quote-main.c (check_all): Check also strings like
1497         "??????????".
1498         Reported by Eli Zaretskii <eliz@gnu.org>.
1499
1500 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1501
1502         _Noreturn: port config.h to gcc -Wundef
1503         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
1504         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
1505         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
1506
1507 2012-05-10  Bruno Haible  <bruno@clisp.org>
1508
1509         system-quote: Refactor.
1510         * lib/system-quote.h (system_quote_copy): Fix comment.
1511         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
1512         New functions, extracted from system_quote_copy.
1513         (system_quote_length, system_quote_copy): Use these functions.
1514         Reported by Paul Eggert.
1515
1516 2012-05-08  Bruno Haible  <bruno@clisp.org>
1517
1518         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
1519         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
1520
1521 2012-05-08  Bruno Haible  <bruno@clisp.org>
1522
1523         Tests for module 'system-quote'.
1524         * modules/system-quote-tests: New file.
1525         * tests/test-system-quote.sh: New file.
1526         * tests/test-system-quote-main.c: New file.
1527         * tests/test-system-quote-child.c: New file.
1528
1529         New module 'system-quote'.
1530         * lib/system-quote.h: New file.
1531         * lib/system-quote.c: New file.
1532         * modules/system-quote: New file.
1533
1534 2012-05-08  Bruno Haible  <bruno@clisp.org>
1535
1536         sh-quote: Make C++ safe and allow multiple inclusion.
1537         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
1538         declarations in extern "C".
1539
1540 2012-05-08  Bruno Haible  <bruno@clisp.org>
1541
1542         sh-quote tests: Make tests stricter.
1543         * tests/test-sh-quote.c (check_one): Check the return value of
1544         shell_quote_copy.
1545         (main): Check a string with a CR character. Check a string that
1546         contains UCHAR_MAX.
1547
1548 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
1549
1550         warnings.m4: provide a means to specify the program to compile.
1551         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
1552         (gl_WARN_ADD): here.
1553         Use gl_AS_VAR_APPEND.
1554         Support an argument to specify the program to compile.
1555         (gl_WARN_ADD): Accept an argument to specify the program to compile.
1556         AC_SUBST the WARN_CFLAGS when they are used.
1557         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
1558         leave this to gl_WARN_ADD.
1559
1560 2012-05-08  Eric Blake  <eblake@redhat.com>
1561
1562         doc: recommendations on gettext version
1563         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
1564         choice between versions.
1565         * DEPENDENCIES (gettext): Cover both approaches.
1566
1567 2012-05-08  Jim Meyering  <meyering@redhat.com>
1568
1569         init.sh: explain why EXEEXT support uses aliases rather than functions
1570         * tests/init.sh: Add a comment.
1571
1572         init.sh: don't let bash aliases interfere with tests
1573         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
1574         is bash.  This avoids problems for those who alias standard commands to
1575         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
1576         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
1577
1578 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1579
1580         stdint: be more consistent with glibc, SunOS libc
1581         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
1582         (gl_int_fast16_t, gl_uint_fast16_t)
1583         (gl_int_fast32_t, gl_uint_fast32_t)
1584         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
1585         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
1586         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
1587         Be consistent with glibc by default, and with SunOS 5.10 and later
1588         if __sun is defined.  This lessens the likelihood of clashes if
1589         code compiled for older hosts is combined with code compiled for
1590         newer ones.  Problem reported by Niels Möller in
1591         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
1592
1593 2012-05-07  Eric Blake  <eblake@redhat.com>
1594
1595         isatty: relax license to LGPLv2+
1596         * modules/isatty (License): Relax license.
1597
1598 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1599
1600         stat-size: comment fix
1601         * lib/stat-size.h: Remove obsolete comment about indenting.
1602
1603 2012-05-06  Bruno Haible  <bruno@clisp.org>
1604
1605         Tests for module 'sh-quote'.
1606         * modules/sh-quote-tests: New file.
1607         * tests/test-sh-quote.c: New file.
1608
1609 2012-05-06  Bruno Haible  <bruno@clisp.org>
1610
1611         sh-quote: Improve shell_quote_argv's signature.
1612         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
1613         * lib/sh-quote.c (shell_quote_argv): Likewise.
1614
1615 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1616
1617         stdint: document issues with int_fast8_t etc.
1618         * doc/posix-headers/stdint.texi (stdint.h): Say that other
1619         stdint.h substitutes may define these types differently.  See
1620         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
1621
1622 2012-05-05  Bruno Haible  <bruno@clisp.org>
1623
1624         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
1625         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
1626         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
1627         or 'guessing no (mishandles large arguments)'.
1628
1629 2012-05-05  Bruno Haible  <bruno@clisp.org>
1630
1631         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
1632         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
1633         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1634         set gl_cv_func_link_follows_symlink to "guessing no".
1635
1636 2012-05-05  Bruno Haible  <bruno@clisp.org>
1637
1638         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
1639         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
1640         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
1641         "guessing no".
1642         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
1643
1644 2012-05-05  Bruno Haible  <bruno@clisp.org>
1645
1646         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
1647         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
1648         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1649         set gl_cv_struct_dirent_d_ino to "guessing yes".
1650
1651 2012-05-05  Bruno Haible  <bruno@clisp.org>
1652
1653         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
1654         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
1655         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
1656         "guessing yes".
1657
1658 2012-05-05  Bruno Haible  <bruno@clisp.org>
1659
1660         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
1661         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
1662         compiling to a glibc system, set gl_cv_func_signbit and
1663         gl_cv_func_signbit_gcc to "guessing yes".
1664
1665 2012-05-05  Bruno Haible  <bruno@clisp.org>
1666
1667         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
1668         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
1669         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
1670         to "guessing yes".
1671         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
1672         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
1673
1674 2012-05-05  Bruno Haible  <bruno@clisp.org>
1675
1676         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
1677         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
1678         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
1679         gl_cv_func_realpath_works to "guessing yes".
1680
1681 2012-05-05  Bruno Haible  <bruno@clisp.org>
1682
1683         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
1684         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
1685         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
1686
1687 2012-05-04  Bruno Haible  <bruno@clisp.org>
1688
1689         Tweak last commit.
1690         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
1691         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1692
1693 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1694
1695         unistd_h: make it easier to avoid sys_types_h
1696         This is useful for Emacs, which has its own method of porting to
1697         Windows, and which therefore does not need the sys_types_h module.
1698         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
1699         code moved here from gl_SYS_TYPES_H.
1700         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
1701         using the code directly.
1702         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
1703         gl_SYS_TYPES_H.
1704         * modules/sys_types (Files):
1705         * modules/unistd (Files): Add m4/off_t.m4.
1706
1707 2012-05-03  Bruno Haible  <bruno@clisp.org>
1708
1709         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
1710         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
1711         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
1712         "guessing yes" or "guessing no".
1713         (gl_FUNC_LSTAT): Update.
1714         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
1715         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1716         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
1717
1718 2012-05-03  Bruno Haible  <bruno@clisp.org>
1719
1720         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
1721         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
1722         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
1723         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
1724         cross-compiling, choose the first alternative on glibc systems.
1725         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
1726
1727 2012-05-03  Bruno Haible  <bruno@clisp.org>
1728
1729         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
1730         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
1731         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
1732
1733 2012-05-03  Bruno Haible  <bruno@clisp.org>
1734
1735         chown: Avoid "guessing no" when cross-compiling to glibc systems.
1736         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
1737
1738 2012-05-03  Bruno Haible  <bruno@clisp.org>
1739
1740         Avoid "guessing no" guesses when cross-compiling to glibc systems.
1741         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
1742         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
1743         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
1744         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
1745         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
1746         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
1747         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
1748         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
1749         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
1750         compiling to glibc systems, set gl_cv_func_chown_slash_works,
1751         gl_cv_func_chown_ctime_works to "guessing yes".
1752         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
1753         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
1754         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
1755         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
1756         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
1757         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
1758         compiling to glibc systems, set gl_cv_func_open_directory_works to
1759         "guessing yes".
1760         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
1761         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
1762         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
1763         "guessing yes".
1764         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
1765         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
1766         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1767         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1768         "guessing yes".
1769         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1770         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1771         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1772         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1773         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1774         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1775         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1776         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1777         "guessing yes".
1778         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1779         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1780         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1781         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1782         "guessing yes".
1783         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1784         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1785         "guessing yes".
1786         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1787         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1788         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1789         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1790         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1791         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1792         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1793         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1794         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1795         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1796         "guessing yes".
1797         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1798         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1799         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1800         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1801         "guessing yes".
1802         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1803         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1804         "guessing yes".
1805         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1806         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1807         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1808         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1809         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1810         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1811         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1812         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1813         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1814         "guessing yes".
1815         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1816         compiling to glibc systems, set gl_cv_func_mknod_works to
1817         "guessing yes".
1818         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1819         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1820         "guessing yes".
1821         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1822         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1823         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1824         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1825         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1826         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1827         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1828         compiling to glibc systems, set gl_cv_func_svid_putenv to
1829         "guessing yes".
1830         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1831         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1832         "guessing yes".
1833         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1834         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1835         "guessing yes".
1836         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1837         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1838         to "guessing yes".
1839         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1840         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1841         to "guessing yes".
1842         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1843         compiling to glibc systems, set gl_cv_func_rmdir_works to
1844         "guessing yes".
1845         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1846         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1847         gl_cv_func_unlink_parent_fails to "guessing yes".
1848         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1849         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1850         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1851         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1852         gl_cv_func_rename_dest_works to "guessing yes".
1853         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1854         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1855         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1856         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1857         "guessing yes".
1858         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1859         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1860         "guessing yes".
1861         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1862         compiling to glibc systems, set gl_cv_func_setenv_works to
1863         "guessing yes".
1864         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1865         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1866         "guessing yes".
1867         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1868         compiling to glibc systems, set gl_cv_func_sleep_works to
1869         "guessing yes".
1870         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1871         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1872         "guessing yes".
1873         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1874         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1875         "guessing yes".
1876         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1877         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1878         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1879         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1880         "guessing yes".
1881         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1882         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1883         "guessing yes".
1884         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1885         compiling to glibc systems, set gl_cv_func_usleep_works to
1886         "guessing yes".
1887         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1888         compiling to glibc systems, set gl_cv_func_futimesat_works to
1889         "guessing yes".
1890
1891 2012-05-03  Bruno Haible  <bruno@clisp.org>
1892
1893         Say "guessing yes" or "guessing no" when cross-compiling.
1894         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1895         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1896         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1897         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1898         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1899         am_cv_func_working_getline to "guessing yes" or "guessing no".
1900         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1901         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1902         (gl_FUNC_MEMMEM): When cross-compiling, set
1903         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1904         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1905         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1906         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1907         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1908         "guessing no".
1909         (gl_FUNC_STRCASESTR): When cross-compiling, set
1910         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1911         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1912         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1913         (gl_FUNC_STRSTR): When cross-compiling, set
1914         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1915         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1916         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1917         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1918         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1919
1920 2012-05-01  Bruno Haible  <bruno@clisp.org>
1921
1922         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1923         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1924         * build-aux/reloc-ldflags: Likewise.
1925         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1926
1927 2012-05-01  Bruno Haible  <bruno@clisp.org>
1928
1929         gnulib-tool: Remove transitional code.
1930         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1931         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1932
1933 2012-05-01  Bruno Haible  <bruno@clisp.org>
1934
1935         getcwd: Fix misindentation.
1936         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1937
1938 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1939
1940         exclude: process exclude and include directives in order
1941         This restores the pre-2009 behavior, and is part of a fix of a
1942         grep bug reported by Quentin Arce in
1943         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
1944         * lib/exclude.c (struct exclude): Remove 'tail' member.
1945         (new_exclude_segment): Prepend the new segment instead of appending.
1946         Return void, since that's now more convenient.
1947         (file_pattern_matches): Renamed from excluded_file_pattern_p.
1948         (file_name_matches): Renamed from excluded_file_name_p.
1949         (file_pattern_matches, file_name_matches):
1950         Return true if the pattern matches, not if it excludes.
1951         All callers changed.
1952         (excluded_file_name): Process the list in reverse order;
1953         since the list is now reversed this restores the pre-2009 behavior.
1954         (add_exclude): Adjust to new reversed-order list.  Use local var
1955         rather than macro, for clarity.
1956         * tests/test-exclude7.sh: Adjust to corrected behavior.
1957
1958         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
1959         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
1960         it's not possible here.  Handle the case of \ at end of pattern
1961         without dumping core.
1962         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
1963
1964         _Noreturn: future-proof non-GNU and non-MSVC compilers
1965         * build-aux/snippet/_Noreturn.h (_Noreturn):
1966         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1967         Do not define _Noreturn if __STDC_VERSION__ indicates this is
1968         C11 or later.  This is more likely to work with random future C
1969         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
1970         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
1971
1972         exclude: handle wildcards with FNM_EXTMATCH
1973         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
1974         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
1975         comment that "has wildcards" really means "has or may have
1976         wildcards".  Simplify by avoiding the need to call strcspn.
1977
1978 2012-04-29  Bruno Haible  <bruno@clisp.org>
1979
1980         gnulib-tool: Fix list of authors.
1981         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1982
1983 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1984
1985         bootstrap: support Automake-NG in $buildreq
1986         * bootstrap (check_versions): Handle automake and aclocal from
1987         Automake-NG specially.  They can be specified as respectively
1988         the "automake-ng" and "aclocal-ng" requirements.
1989
1990 2012-04-25  Eric Blake  <eblake@redhat.com>
1991
1992         bootstrap: only force latest Makefile.in.in for gettext module
1993         * build-aux/bootstrap (with_gettext): Only install latest
1994         Makefile.in.in for projects requesting bleeding edge gettext.
1995
1996 2012-04-22  Bruno Haible  <bruno@clisp.org>
1997
1998         doc: Mention reason for replacement on glibc/Linux systems.
1999         * doc/posix-functions/dprintf.texi: Mention the problem with special
2000         'long double' values.
2001         * doc/posix-functions/fprintf.texi: Likewise.
2002         * doc/posix-functions/printf.texi: Likewise.
2003         * doc/posix-functions/snprintf.texi: Likewise.
2004         * doc/posix-functions/sprintf.texi: Likewise.
2005         * doc/posix-functions/vdprintf.texi: Likewise.
2006         * doc/posix-functions/vfprintf.texi: Likewise.
2007         * doc/posix-functions/vprintf.texi: Likewise.
2008         * doc/posix-functions/vsnprintf.texi: Likewise.
2009         * doc/posix-functions/vsprintf.texi: Likewise.
2010         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
2011         platforms with F_DUPFD_CLOEXEC problems.
2012         * doc/posix-functions/glob.texi: Mention which platforms are affected
2013         by the problem with symbolic links.
2014         * doc/posix-functions/linkat.texi: Mention the problem with
2015         AT_SYMLINK_FOLLOW on Linux.
2016
2017 2012-04-22  Bruno Haible  <bruno@clisp.org>
2018
2019         pwrite: Don't replace on all platforms.
2020         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
2021
2022 2012-04-22  Bruno Haible  <bruno@clisp.org>
2023
2024         rint* tests: Avoid gcc warnings.
2025         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
2026         * tests/test-rintf.c (INFINITY, NAN): Likewise.
2027         * tests/test-rintl.c (INFINITY, NAN): Likewise.
2028
2029 2012-04-21  Bruno Haible  <bruno@clisp.org>
2030
2031         users.txt: Update.
2032         * users.txt: Add freedink, wdiff. Update URLs for projects that have
2033         switched from CVS to git, bzr, or svn.
2034
2035 2012-04-21  Bruno Haible  <bruno@clisp.org>
2036
2037         Large File Support for native Windows platforms.
2038
2039         * m4/largefile.m4 (gl_LARGEFILE): New macro.
2040         * modules/largefile (configure.ac): Require gl_LARGEFILE.
2041
2042         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
2043         type.
2044         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
2045         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
2046         * doc/posix-headers/sys_types.texi: Mention the effect of the
2047         'largefile' module.
2048
2049         * lib/fcntl.in.h: Add comments about off_t.
2050         * modules/fcntl-h (Depends-on): Add sys_types.
2051
2052         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
2053         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
2054         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
2055         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
2056         * modules/unistd (Depends-on): Add sys_types.
2057         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
2058
2059         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
2060         instead of lseek.
2061         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
2062         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
2063         * modules/lseek (Depends-on): Add sys_types.
2064
2065         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
2066         msvc-nothrow.h.
2067         (SetFileSize): New function.
2068         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
2069         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
2070         if Large File Support is requested.
2071         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
2072         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
2073
2074         * lib/stdio.in.h: Add comments about off_t.
2075         * modules/stdio (Depends-on): Add sys_types.
2076
2077         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
2078         instead of ftello.
2079         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
2080         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
2081         (gl_PREREQ_FTELLO): New macro.
2082         * modules/ftello (Depends-on): Add sys_types.
2083         (configure.ac): Incoke gl_PREREQ_FTELLO.
2084
2085         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
2086         instead of fseeko.
2087         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
2088         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
2089         (gl_PREREQ_FSEEKO): New macro.
2090         * modules/fseeko (Depends-on): Add sys_types.
2091         (configure.ac): Invoke gl_PREREQ_FSEEKO.
2092
2093         * lib/sys_stat.in.h: Add comments about off_t.
2094         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
2095         64-bit integer for st_size in 'struct stat'.
2096         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
2097         Define _GL_WINDOWS_64_BIT_ST_SIZE.
2098         * modules/sys_stat (Depends-on): Add sys_types.
2099         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
2100
2101         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
2102         instead of stat or _stat.
2103
2104         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
2105         'struct _stati64' instead of fstat and 'struct stat'.
2106         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
2107         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
2108
2109         Reported by Ray Satiro <raysatiro@yahoo.com>.
2110
2111 2012-04-19  Eric Blake  <eblake@redhat.com>
2112
2113         bootstrap: accommodate older libtool
2114         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
2115         Reported by Daniel P. Berrange.
2116
2117 2012-04-19  Jim Meyering  <meyering@redhat.com>
2118
2119         announce-gen: avoid failure due to lack of Digest::SHA1
2120         Even with the preferred Digest::SHA available, this script
2121         would fail when the backup module, Digest::SHA1, was not installed.
2122         * build-aux/announce-gen: Quote the conditional use of "use".
2123         Reported by Reuben Thomas in:
2124         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
2125
2126         bootstrap: don't let a user's CDPATH setting affect this script
2127         When CDPATH is set, cd will sometimes generate output.
2128         When "cd" is run in a subshell whose output matters, that
2129         surprising-to-some output can cause malfunction.
2130         Unsetting CDPATH turns off this shell "feature."
2131         * build-aux/bootstrap (CDPATH): Unset.
2132         Reported by Reuben Thomas in:
2133         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
2134         and inspired by his patch here:
2135         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
2136
2137 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
2138         and Jim Meyering  <meyering@redhat.com>
2139
2140         maint.mk: catch "see @xref{}" and similar
2141         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
2142         prohibit "See also @xref{", "Also see @pxref{", and similar.
2143
2144 2012-04-16  Jim Meyering  <meyering@redhat.com>
2145
2146         bootstrap: really use gnulib's po/Makefile.in.in
2147         * build-aux/bootstrap: Correct the source file name in previous change.
2148         Reported by Akim Demaille.
2149
2150         configmake: correct minor inconsistency in Makefile rule
2151         * modules/configmake (Makefile.am): All other rules like this one
2152         run the final "mv -f ..." in the same backslash-continued command
2153         as the one that does everything else.  This one put the mv -f ...
2154         command on a separate, non-backslash-continued line.
2155         Make it like the others.
2156
2157         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
2158         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
2159         the one from gettext.  Reported by Akim Demaille.
2160
2161 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
2162
2163         Fix recursion of install-* into po directories.
2164         Bison's install-pdf bug reported by Hans Aberg at
2165         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
2166         * build-aux/po/Makefile.in.in (install-dvi, install-html)
2167         (install-info, install-pdf, install-ps): New targets.
2168
2169 2012-04-16  Jim Meyering  <meyering@redhat.com>
2170
2171         maint: avoid spurious "make sc_maint" failure
2172         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
2173         exempt all *.class file names, for lib/javaversion.class.
2174
2175 2012-04-15  Bruno Haible  <bruno@clisp.org>
2176
2177         lseek: Make configure test independent of environment.
2178         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
2179         Windows, we know that lseek() on pipes is broken; skip the runtime
2180         test.
2181
2182 2012-04-14  Bruno Haible  <bruno@clisp.org>
2183
2184         stat: Bypass buggy override in mingw64.
2185         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
2186         * lib/stat.c (stat) [mingw64]: Define to _stat.
2187         * doc/posix-functions/stat.texi: Mention mingw64 bug.
2188
2189 2012-04-14  Bruno Haible  <bruno@clisp.org>
2190
2191         pathmax: Fix compilation error on MSVC 9.
2192         * modules/pathmax (Depends-on): Add unistd.
2193
2194 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
2195
2196         README: document pointer comparison assumption
2197         * README (Portability guidelines): Document assumption about
2198         pointer comparisons, in response to a recent bug-gnulib comment by
2199         Jeffrey Kegler.
2200
2201 2012-04-12  Bruno Haible  <bruno@clisp.org>
2202
2203         Tests for module 'getrusage'.
2204         * modules/getrusage-tests: New file.
2205         * tests/test-getrusage.c: New file.
2206
2207         New module 'getrusage'.
2208         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
2209         warn-on-use.h.
2210         (getrusage): New declaration.
2211         * lib/getrusage.c: New file.
2212         * m4/getrusage.m4: New file.
2213         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
2214         is declared.
2215         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
2216         HAVE_GETRUSAGE.
2217         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
2218         snippet/c++defs, snippet/warn-on-use.
2219         (Makefile.am): Update generation of sys/resource.h. Substitute
2220         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
2221         * modules/getrusage: New file.
2222         * doc/posix-functions/getrusage.texi: Mention the new module.
2223
2224 2012-04-12  Bruno Haible  <bruno@clisp.org>
2225
2226         Tests for module 'sys_resource'.
2227         * modules/sys_resource-tests: New file.
2228         * tests/test-sys_resource.c: New file.
2229
2230         New module 'sys_resource'.
2231         * lib/sys_resource.in.h: New file.
2232         * m4/sys_resource_h.m4: New file.
2233         * modules/sys_resource: New file.
2234         * doc/posix-headers/sys_resource.texi: Mention the new module.
2235
2236 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
2237
2238         ioctl: Fix compilation error on mingw.
2239         * lib/ioctl.c: Include <windows.h>.
2240         Also reported by Ray Satiro <raysatiro@yahoo.com>.
2241
2242 2012-04-04  Jim Meyering  <meyering@redhat.com>
2243
2244         regex: correct #pragma guard expression
2245         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
2246         not 4.3.  Correct its cpp guard expression.
2247
2248 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2249
2250         regex: remove unnecessary type punning
2251         Problem reported by Vladimir Serbinenko in
2252         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
2253         * lib/regex.h (struct re_pattern_buffer): Change the type of
2254         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
2255         Fix comment to match code.
2256         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
2257         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
2258         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
2259         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
2260         (set_regs):
2261         Omit no-longer-necessary casts.
2262
2263 2012-04-03  Bruno Haible  <bruno@clisp.org>
2264
2265         Tests for module 'ilogbl'.
2266         * modules/ilogbl-tests: New file.
2267         * tests/test-ilogbl.c: New file.
2268
2269         New module 'ilogbl'.
2270         * lib/math.in.h (ilogbl): New declaration.
2271         * lib/ilogbl.c: New file.
2272         * m4/ilogbl.m4: New file.
2273         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
2274         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
2275         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
2276         Split sed invocation, to avoid the limit of 100 substitutions of
2277         HP-UX 'sed'.
2278         * modules/ilogbl: New file.
2279         * tests/test-math-c++.cc: Check the declaration of ilogbl.
2280         * doc/posix-functions/ilogbl.texi: Mention the new module.
2281
2282 2012-04-03  Bruno Haible  <bruno@clisp.org>
2283
2284         Tests for module 'ilogbf'.
2285         * modules/ilogbf-tests: New file.
2286         * tests/test-ilogbf.c: New file.
2287
2288         New module 'ilogbf'.
2289         * lib/math.in.h (ilogbf): New declaration.
2290         * lib/ilogbf.c: New file.
2291         * m4/ilogbf.m4: New file.
2292         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
2293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
2294         REPLACE_ILOGBF.
2295         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
2296         REPLACE_ILOGBF.
2297         * modules/ilogbf: New file.
2298         * tests/test-math-c++.cc: Check the declaration of ilogbf.
2299         * doc/posix-functions/ilogbf.texi: Mention the new module.
2300
2301 2012-04-03  Bruno Haible  <bruno@clisp.org>
2302
2303         Tests for module 'ilogb'.
2304         * modules/ilogb-tests: New file.
2305         * tests/test-ilogb.c: New file.
2306         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
2307         tests/test-logb-ieee.h.
2308
2309         New module 'ilogb'.
2310         * lib/math.in.h (ilogb): New declaration.
2311         * lib/ilogb.c: New file.
2312         * m4/ilogb.m4: New file.
2313         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
2314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
2315         REPLACE_ILOGB.
2316         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
2317         REPLACE_ILOGB.
2318         * modules/ilogb: New file.
2319         * tests/test-math-c++.cc: Check the declaration of ilogb.
2320         * doc/posix-functions/ilogb.texi: Mention the new module.
2321
2322 2012-04-03  Bruno Haible  <bruno@clisp.org>
2323
2324         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
2325         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
2326         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
2327         (main): Check their values.
2328         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
2329         problem.
2330
2331 2012-04-03  Bruno Haible  <bruno@clisp.org>
2332
2333         Tests for module 'logbl-ieee'.
2334         * modules/logbl-ieee-tests: New file.
2335         * tests/test-logbl-ieee.c: New file.
2336
2337         New module 'logbl-ieee'.
2338         * modules/logbl-ieee: New file.
2339
2340         Tests for module 'logb-ieee'.
2341         * modules/logb-ieee-tests: New file.
2342         * tests/test-logb-ieee.c: New file.
2343
2344         New module 'logb-ieee'.
2345         * modules/logb-ieee: New file.
2346
2347         Tests for module 'logbf-ieee'.
2348         * modules/logbf-ieee-tests: New file.
2349         * tests/test-logbf-ieee.c: New file.
2350         * tests/test-logb-ieee.h: New file.
2351
2352         New module 'logbf-ieee'.
2353         * modules/logbf-ieee: New file.
2354
2355 2012-04-03  Bruno Haible  <bruno@clisp.org>
2356
2357         Tests for module 'logbl'.
2358         * modules/logbl-tests: New file.
2359         * tests/test-logbl.c: New file.
2360
2361         New module 'logbl'.
2362         * lib/math.in.h (logbl): New declaration.
2363         * lib/logbl.c: New file.
2364         * m4/logbl.m4: New file.
2365         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2367         REPLACE_LOGBL.
2368         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2369         REPLACE_LOGBL.
2370         * modules/logbl: New file.
2371         * tests/test-math-c++.cc: Check the declaration of logbl.
2372         * doc/posix-functions/logbl.texi: Mention the new module.
2373
2374 2012-04-02  Bruno Haible  <bruno@clisp.org>
2375
2376         Tests for module 'logbf'.
2377         * modules/logbf-tests: New file.
2378         * tests/test-logbf.c: New file.
2379
2380         New module 'logbf'.
2381         * lib/math.in.h (logbf): New declaration.
2382         * lib/logbf.c: New file.
2383         * m4/logbf.m4: New file.
2384         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2386         REPLACE_LOGBF.
2387         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2388         REPLACE_LOGBF.
2389         * modules/logbf: New file.
2390         * tests/test-math-c++.cc: Check the declaration of logbf.
2391         * doc/posix-functions/logbf.texi: Mention the new module.
2392
2393 2012-04-02  Bruno Haible  <bruno@clisp.org>
2394
2395         logb tests: More tests.
2396         * tests/test-logb.h: New file, based on tests/test-logb.c and
2397         tests/test-frexp.h.
2398         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2399         (main): Just invoke test_function.
2400         * modules/logb-tests (Files): Add tests/test-logb.h,
2401         tests/minus-zero.h, tests/randomd.c.
2402         (Makefile.am): Add randomd.c to test_logb_SOURCES.
2403
2404         logb: Provide replacement and workarounds.
2405         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
2406         is 1.
2407         * lib/logb.c: New file.
2408         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
2409         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
2410         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
2411         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
2412         * modules/logb (Files): Add lib/logb.c.
2413         (Depends-on): Add isfinite, frexp, isnand.
2414         (configure.ac): Compile the replacement code logb.c if needed.
2415         * tests/test-math-c++.cc: Check the declaration of logb.
2416         * doc/posix-functions/logb.texi: Mention the replacement and the bug
2417         with subnormal numbers.
2418
2419 2012-04-02  Bruno Haible  <bruno@clisp.org>
2420
2421         log10* tests: Speed up.
2422         * tests/test-log10.h (test_function): Reduce amount of random numbers
2423         to test.
2424
2425 2012-04-01  Bruno Haible  <bruno@clisp.org>
2426
2427         logf-ieee: Fix test whether logf works.
2428         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
2429
2430 2012-04-01  Bruno Haible  <bruno@clisp.org>
2431
2432         log10l: Work around log10l-ieee test failure on IRIX 6.5.
2433         * lib/log10l.c: Include <float.h>
2434         (log10l): On IRIX, normalize the +Infinity value.
2435         * modules/log10l (Depends-on): Add 'float'.
2436         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
2437         +Infinity.
2438
2439         log10f-ieee: Work around test failure on NetBSD 5.1.
2440         * m4/log10f-ieee.m4: New file.
2441         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
2442         test whether log10f works with a negative argument. Replace it if not.
2443         * lib/log10f.c (log10f): For negative arguments, return NaN.
2444         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
2445         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
2446         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
2447
2448         log10f-ieee: Work around test failure on Solaris 9.
2449         * modules/log10f-ieee (Depends-on): Add log10-ieee.
2450         (configure.ac): Require gl_FUNC_LOG10F.
2451
2452         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2453         * m4/log10-ieee.m4: New file.
2454         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
2455         whether log10 works with a negative argument. Replace it if not.
2456         * lib/log10.c (log10): For negative arguments, return NaN.
2457         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
2458         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
2459         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
2460
2461         Tests for module 'log10l-ieee'.
2462         * modules/log10l-ieee-tests: New file.
2463         * tests/test-log10l-ieee.c: New file.
2464
2465         New module 'log10l-ieee'.
2466         * modules/log10l-ieee: New file.
2467
2468         Tests for module 'log10-ieee'.
2469         * modules/log10-ieee-tests: New file.
2470         * tests/test-log10-ieee.c: New file.
2471
2472         New module 'log10-ieee'.
2473         * modules/log10-ieee: New file.
2474
2475         Tests for module 'log10f-ieee'.
2476         * modules/log10f-ieee-tests: New file.
2477         * tests/test-log10f-ieee.c: New file.
2478         * tests/test-log10-ieee.h: New file.
2479
2480         New module 'log10f-ieee'.
2481         * modules/log10f-ieee: New file.
2482
2483 2012-04-01  Bruno Haible  <bruno@clisp.org>
2484
2485         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
2486         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
2487         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
2488         workaround.
2489         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
2490         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
2491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
2492         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
2493         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
2494         (Depends-on): Update conditions.
2495         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
2496         IRIX 6.5, OSF/1 5.1 problems.
2497
2498 2012-04-01  Bruno Haible  <bruno@clisp.org>
2499
2500         log10f: Work around OSF/1 5.1 bug.
2501         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
2502         * lib/log10f.c (log10f): If logf exists, use it and provide just the
2503         workaround.
2504         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
2505         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
2506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
2507         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
2508         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
2509         (Depends-on): Update conditions.
2510         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
2511
2512 2012-04-01  Bruno Haible  <bruno@clisp.org>
2513
2514         log10: Work around OSF/1 5.1 bug.
2515         * lib/math.in.h (log10): New declaration.
2516         * lib/log10.c: New file.
2517         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
2518         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
2519         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
2520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
2521         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
2522         * modules/log10 (Files): Add lib/log10.c.
2523         (Depends-on): Add math.
2524         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
2525         * tests/test-math-c++.cc: Check the declaration of log10.
2526         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
2527
2528 2012-03-31  Bruno Haible  <bruno@clisp.org>
2529
2530         log10l tests: More tests.
2531         * modules/log10l-tests (Files): Add tests/test-log10l.h,
2532         tests/minus-zero.h, tests/randoml.c.
2533         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
2534         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
2535         (main): Invoke test_function.
2536
2537         log10f tests: More tests.
2538         * modules/log10f-tests (Files): Add tests/test-log10.h,
2539         tests/minus-zero.h, tests/randomf.c.
2540         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
2541         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
2542         (main): Invoke test_function.
2543
2544         log10 tests: More tests.
2545         * tests/test-log10.h: New file.
2546         * modules/log10-tests (Files): Add tests/test-log10.h,
2547         tests/minus-zero.h, tests/randomd.c.
2548         (Makefile.am): Add randomd.c to test_log10_SOURCES.
2549         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
2550         (main): Invoke test_function.
2551
2552 2012-03-31  Simon Josefsson  <simon@josefsson.org>
2553
2554         fflush: Fix syntax error.
2555         * lib/fflush.c: Include unused-parameter.h, needed for
2556         _GL_UNUSED_PARAMETER.
2557         * modules/fflush (Depends-on): Add snippet/unused-parameter.
2558
2559 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2560
2561         regex: pacify GCC when compiling GRUB
2562         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
2563         a diagnostic.  Reported by Vladimir Serbinenko in
2564         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
2565
2566 2012-03-29  Eric Blake  <eblake@redhat.com>
2567
2568         stdio: don't assume gets any more
2569         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
2570         support.
2571         * modules/stdio (Makefile.am): Likewise.
2572         * lib/stdio-read.c (gets): Likewise.
2573         * tests/test-stdio-c++.cc: Likewise.
2574         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
2575         * lib/stdio.in.h (gets): Make warning occur in more places.
2576         * doc/posix-functions/gets.texi (gets): Update documentation.
2577         Reported by Christer Solskogen.
2578
2579         maint.mk: fix syntax checks without exclusions
2580         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
2581         Reported by Daniel P. Berrange.
2582
2583         strerror_r: avoid compiler warning
2584         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
2585         level.
2586
2587         fflush: avoid compiler warning
2588         * lib/fflush.c (update_fpos_cache): Mark variables that are
2589         potentially unused.
2590
2591 2012-03-25  Bruno Haible  <bruno@clisp.org>
2592
2593         Tests for module 'localeconv'.
2594         * modules/localeconv-tests: New file.
2595         * tests/test-localeconv.c: New file.
2596
2597         New module 'localeconv'.
2598         * lib/locale.in.h (localeconv): New declaration.
2599         * lib/localeconv.c: New file.
2600         * m4/localeconv.m4: New file.
2601         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
2602         REPLACE_LOCALECONV.
2603         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
2604         REPLACE_LOCALECONV.
2605         * modules/localeconv: New file.
2606         * modules/nl_langinfo (Depends-on): Add localeconv.
2607         * modules/human (Depends-on): Likewise.
2608         * doc/posix-functions/localeconv.texi: Mention the new module.
2609
2610 2012-03-25  Bruno Haible  <bruno@clisp.org>
2611
2612         locale: Provide a complete 'struct lconv'.
2613         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2614         'struct lconv' does not contain int_p_cs_precedes.
2615         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2616         * doc/posix-headers/locale.texi: Update.
2617
2618         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
2619         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
2620         * doc/posix-headers/locale.texi: Update.
2621
2622         locale: Provide a working 'struct lconv'.
2623         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
2624         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2625         'struct lconv' does not even contain decimal_point.
2626         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
2627         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
2628         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2629         * doc/posix-headers/locale.texi: Mention the problems with
2630         'struct lconv'.
2631         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2632
2633 2012-03-24  Bruno Haible  <bruno@clisp.org>
2634
2635         Enable common subexpression optimization in GCC.
2636         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
2637         macros.
2638         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
2639         GCC attribute 'const'.
2640         (uc_locale_language): Declare with GCC attribute 'pure'.
2641         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
2642         with GCC attribute 'const'.
2643         * lib/unictype.in.h (uc_is_general_category_withtable,
2644         uc_combining_class, uc_combining_class_name,
2645         uc_combining_class_long_name, uc_bidi_class_name,
2646         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
2647         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
2648         uc_decimal_value, uc_digit_value, uc_numeric_value,
2649         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
2650         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
2651         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
2652         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
2653         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
2654         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
2655         Declare with GCC attribute 'const'.
2656         (uc_general_category_name, uc_general_category_long_name,
2657         uc_general_category_byname, uc_general_category,
2658         uc_is_general_category, uc_combining_class_byname,
2659         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
2660         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
2661         Declare with GCC attribute 'pure'.
2662         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
2663         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
2664         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
2665         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
2666         with GCC attribute 'pure'.
2667         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
2668         'const'.
2669         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
2670         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
2671         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
2672         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
2673         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
2674         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
2675         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
2676         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
2677         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
2678         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
2679         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
2680         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
2681         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
2682         GCC attribute 'pure'.
2683         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
2684         'const'.
2685         * lib/uniwidth.in.h (uc_width): Simplify declaration.
2686         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
2687         u32_strwidth): Declare with GCC attribute 'pure'.
2688
2689         Enable common subexpression optimization in GCC.
2690         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2691         (alphasort): Declare with GCC attribute 'pure'.
2692         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2693         (atoll): Declare with GCC attribute 'pure'.
2694         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2695         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2696         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
2697         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2698         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
2699         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
2700         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
2701
2702 2012-03-24  Bruno Haible  <bruno@clisp.org>
2703
2704         gnulib-tool: Avoid unintended error output from 'cmp'.
2705         * gnulib-tool (func_add_file, func_update_file, func_import): Use
2706         "cmp -s", not "cmp > /dev/null".
2707
2708 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2709
2710         gnulib-tool: fix imprecise comments w.r.t. an automake bug
2711
2712         It's not just Automake versions < 1.9b that creates an empty
2713         pkgdatadir at installation time if pkgdata_DATA is specified
2714         to empty; modern automake versions do this as well, at least
2715         until automake 1.11.4 (not yet released at the moment of writing,
2716         but soon to appear).  That behaviour was generally considered a
2717         feature rather than a bug, at least until this discussion:
2718         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
2719
2720         See also automake bugs #10997 and #11030.
2721
2722         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
2723         reference to relevant automake bug numbers.
2724         (func_emit_tests_Makefile_am): Likewise.
2725
2726 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2727
2728         announce-gen: use Digest::SHA when possible
2729         * build-aux/announce-gen: Use Digest::SHA when possible, falling
2730         back to Digest::SHA1 if necessary.
2731
2732 2012-03-20  Jim Meyering  <meyering@redhat.com>
2733
2734         tests: avoid gcc warnings about argv vs. const initializers
2735         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
2736         warnings about discarding 'const' qualifier from pointer target type.
2737         * tests/test-posix_spawn2.c (main): Likewise.
2738
2739 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2740
2741         README-release: simplify slightly
2742         * top/README-release: Run "git checkout master" only once.
2743
2744 2012-03-15  Mark Wielaard  <mark@klomp.org>
2745
2746         git-merge-changelog: add specific example on how to use with hg.
2747         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
2748
2749 2012-03-18  Mark Wielaard  <mark@klomp.org>
2750
2751         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
2752
2753 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
2754
2755         git-version-gen: don't let "prefix" envvar cause trouble
2756         * build-aux/git-version-gen (prefix): Initialize properly,
2757         so as not to use a value specified via the environment.
2758         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
2759
2760 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2761
2762         regex: diagnose too-large repeat counts in EREs
2763         Previously, the code did not diagnose the too-large repeat count
2764         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
2765         as if it were 'b\{1000000000}', which is unexpected.
2766         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2767         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2768         is a reasonable one for this problem.  Another option would be to
2769         create a new REG_OVERFLOW error for repeat counts that are too large.
2770         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2771         count is too large, so that the caller can distinguish the two cases.
2772         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2773         "Too large" return code, and that repeat counts are one example of this.
2774
2775 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2776
2777         doc: some glibc x32 integer width issues
2778         * doc/posix-headers/sys_types.texi (sys/types.h):
2779         * doc/posix-headers/time.texi (time.h):
2780         Mention that glibc x32 does not conform to POSIX in a couple of
2781         areas related to integer widths.
2782
2783 2012-03-15  Bruno Haible  <bruno@clisp.org>
2784
2785         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2786         * lib/fma.c (VOLATILE): New macro.
2787         (FUNC): Use it to work around a GCC compiler bug.
2788
2789 2012-03-13  Bruno Haible  <bruno@clisp.org>
2790
2791         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2792         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2793         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2794         REPLACE_HYPOTL to 1.
2795         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2796
2797 2012-03-13  Bruno Haible  <bruno@clisp.org>
2798
2799         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2800         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2801         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2802         REPLACE_REMAINDERL to 1.
2803         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2804         bug.
2805
2806 2012-03-13  Bruno Haible  <bruno@clisp.org>
2807
2808         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2809         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2810         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2811         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2812         too big rounding errors.
2813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2814         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2815         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2816         (Depends-on): Update conditions.
2817         * tests/test-sqrtl.c (my_ldexpl): New function.
2818         (main): Add test of a particular value.
2819         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2820
2821 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2822
2823         doc: Update timer_* platform portability notes.
2824         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2825         that always return ENOSYS.
2826         * doc/posix-functions/timer_delete.texi: Likewise.
2827         * doc/posix-functions/timer_gettime.texi: Likewise.
2828         * doc/posix-functions/timer_settime.texi: Likewise.
2829
2830 2012-03-13  Bruno Haible  <bruno@clisp.org>
2831
2832         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2833         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2834         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2835         REPLACE_CBRTL to 1.
2836         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2837
2838 2012-03-13  Bruno Haible  <bruno@clisp.org>
2839
2840         remainderl: Avoid compilation error on AIX >= 5.2.
2841         * lib/math.in.h (remainderl): Undefine macro from the system header.
2842
2843 2012-03-13  Bruno Haible  <bruno@clisp.org>
2844
2845         Avoid compilation errors with MSVC option -fp:strict.
2846         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2847         * lib/cbrtf.c: Likewise.
2848         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2849
2850 2012-03-12  Bruno Haible  <bruno@clisp.org>
2851
2852         uninorm: Don't crash in out-of-memory conditions.
2853         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2854         gracefully.
2855         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2856         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2857
2858 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2859
2860         quote: fix syntax-check
2861         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2862         also exports quote_quoting_options.
2863
2864 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2865
2866         Collapse list of copyright years to ranges.  See
2867         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2868         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2869         build-aux/csharpexec.sh.in, build-aux/gnupload,
2870         build-aux/install-reloc, build-aux/javacomp.sh.in,
2871         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2872         build-aux/move-if-change, build-aux/reloc-ldflags,
2873         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2874
2875 2012-03-11  Bruno Haible  <bruno@clisp.org>
2876
2877         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2878         * m4/log2f-ieee.m4: New file.
2879         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2880         whether log2f works with a minus zero argument. Replace it if not.
2881         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2882         (Depends-on): Add log2-ieee.
2883         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2884         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2885
2886         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2887         * m4/log2-ieee.m4: New file.
2888         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2889         whether log2 works with a minus zero argument. Replace it if not.
2890         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2891         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2892         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2893
2894         Tests for module 'log2l-ieee'.
2895         * modules/log2l-ieee-tests: New file.
2896         * tests/test-log2l-ieee.c: New file.
2897
2898         New module 'log2l-ieee'.
2899         * modules/log2l-ieee: New file.
2900
2901         Tests for module 'log2-ieee'.
2902         * modules/log2-ieee-tests: New file.
2903         * tests/test-log2-ieee.c: New file.
2904
2905         New module 'log2-ieee'.
2906         * modules/log2-ieee: New file.
2907
2908         Tests for module 'log2f-ieee'.
2909         * modules/log2f-ieee-tests: New file.
2910         * tests/test-log2f-ieee.c: New file.
2911         * tests/test-log2-ieee.h: New file.
2912
2913         New module 'log2f-ieee'.
2914         * modules/log2f-ieee: New file.
2915
2916 2012-03-11  Bruno Haible  <bruno@clisp.org>
2917
2918         Tests for module 'log2l'.
2919         * modules/log2l-tests: New file.
2920         * tests/test-log2l.c: New file.
2921
2922         New module 'log2l'.
2923         * lib/math.in.h (log2l): New declaration.
2924         * lib/log2l.c: New file.
2925         * m4/log2l.m4: New file.
2926         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2928         REPLACE_LOG2L.
2929         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2930         REPLACE_LOG2L.
2931         * modules/log2l: New file.
2932         * tests/test-math-c++.cc: Check the declaration of log2l.
2933         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2934         and OSF/1 problems.
2935
2936 2012-03-11  Bruno Haible  <bruno@clisp.org>
2937
2938         Tests for module 'log2f'.
2939         * modules/log2f-tests: New file.
2940         * tests/test-log2f.c: New file.
2941
2942         New module 'log2f'.
2943         * lib/math.in.h (log2f): New declaration.
2944         * lib/log2f.c: New file.
2945         * m4/log2f.m4: New file.
2946         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
2947         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
2948         REPLACE_LOG2F.
2949         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
2950         REPLACE_LOG2F.
2951         * modules/log2f: New file.
2952         * tests/test-math-c++.cc: Check the declaration of log2f.
2953         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
2954         and OSF/1 and Cygwin problems.
2955
2956 2012-03-11  Bruno Haible  <bruno@clisp.org>
2957
2958         Tests for module 'log2'.
2959         * modules/log2-tests: New file.
2960         * tests/test-log2.c: New file.
2961         * tests/test-log2.h: New file.
2962
2963         New module 'log2'.
2964         * lib/math.in.h (log2): New declaration.
2965         * lib/log2.c: New file.
2966         * m4/log2.m4: New file.
2967         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
2968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
2969         REPLACE_LOG2.
2970         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
2971         REPLACE_LOG2.
2972         * modules/log2: New file.
2973         * tests/test-math-c++.cc: Check the declaration of log2.
2974         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
2975         and OSF/1 and Cygwin problems.
2976
2977 2012-03-11  Bruno Haible  <bruno@clisp.org>
2978
2979         exp2* tests: More tests.
2980         * tests/test-exp2.h (test_function): Test all integral arguments that
2981         don't need to overflow or denormalized numbers.
2982         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2983         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2984         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2985
2986 2012-03-10  Bruno Haible  <bruno@clisp.org>
2987
2988         log1pl-ieee: Work around test failure on AIX 7.1.
2989         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2990
2991         log1pl-ieee: Work around test failure on IRIX 6.5.
2992         * m4/log1pl-ieee.m4: New file.
2993         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2994         test whether log1pl works with a minus zero argument. Replace it if
2995         not.
2996         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2997         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2998         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2999         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
3000         (Depends-on): Update conditions.
3001         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3002         m4/signbit.m4.
3003         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
3004         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
3005
3006         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
3007         * m4/log1pf-ieee.m4: New file.
3008         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
3009         test whether log1pf works with a minus zero argument. Replace it if
3010         not.
3011         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
3012         m4/signbit.m4.
3013         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
3014         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
3015
3016         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
3017         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
3018         (configure.ac): Require gl_FUNC_LOG1PF.
3019
3020         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
3021         * m4/log1p-ieee.m4: New file.
3022         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
3023         whether log1p works with a minus zero argument. Replace it if not.
3024         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
3025         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
3026         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
3027         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
3028         (Depends-on): Update conditions.
3029         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3030         m4/signbit.m4.
3031         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
3032         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
3033
3034         Tests for module 'log1pl-ieee'.
3035         * modules/log1pl-ieee-tests: New file.
3036         * tests/test-log1pl-ieee.c: New file.
3037
3038         New module 'log1pl-ieee'.
3039         * modules/log1pl-ieee: New file.
3040
3041         Tests for module 'log1p-ieee'.
3042         * modules/log1p-ieee-tests: New file.
3043         * tests/test-log1p-ieee.c: New file.
3044
3045         New module 'log1p-ieee'.
3046         * modules/log1p-ieee: New file.
3047
3048         Tests for module 'log1pf-ieee'.
3049         * modules/log1pf-ieee-tests: New file.
3050         * tests/test-log1pf-ieee.c: New file.
3051         * tests/test-log1p-ieee.h: New file.
3052
3053         New module 'log1pf-ieee'.
3054         * modules/log1pf-ieee: New file.
3055
3056 2012-03-10  Bruno Haible  <bruno@clisp.org>
3057
3058         Tests for module 'log1pl'.
3059         * modules/log1pl-tests: New file.
3060         * tests/test-log1pl.c: New file.
3061
3062         New module 'log1pl'.
3063         * lib/math.in.h (log1pl): New declaration.
3064         * lib/log1pl.c: New file.
3065         * m4/log1pl.m4: New file.
3066         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
3067         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
3068         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
3069         * modules/log1pl: New file.
3070         * tests/test-math-c++.cc: Check the declaration of log1pl.
3071         * doc/posix-functions/log1pl.texi: Mention the new module.
3072
3073 2012-03-10  Bruno Haible  <bruno@clisp.org>
3074
3075         Tests for module 'log1pf'.
3076         * modules/log1pf-tests: New file.
3077         * tests/test-log1pf.c: New file.
3078
3079         New module 'log1pf'.
3080         * lib/math.in.h (log1pf): New declaration.
3081         * lib/log1pf.c: New file.
3082         * m4/log1pf.m4: New file.
3083         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
3084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
3085         REPLACE_LOG1PF.
3086         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
3087         REPLACE_LOG1PF.
3088         * modules/log1pf: New file.
3089         * tests/test-math-c++.cc: Check the declaration of log1pf.
3090         * doc/posix-functions/log1pf.texi: Mention the new module.
3091
3092 2012-03-10  Bruno Haible  <bruno@clisp.org>
3093
3094         log1p tests: More tests.
3095         * tests/test-log1p.h: New file.
3096         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
3097         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
3098         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
3099         (main): Invoke test_function.
3100
3101         log1p: Provide replacement for Minix and MSVC.
3102         * lib/math.in.h (log1p): New declaration.
3103         * lib/log1p.c: New file.
3104         * m4/log1p.m4: New file.
3105         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
3106         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
3107         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
3108         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
3109         (Depends-on): Add math, isnand, log, round.
3110         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
3111         HAVE_LOG1P is 0.
3112         * tests/test-math-c++.cc: Check the declaration of log1p.
3113         * doc/posix-functions/log1p.texi: Mention the replacement.
3114
3115 2012-03-10  Bruno Haible  <bruno@clisp.org>
3116
3117         math tests: Small simplification.
3118         * tests/test-exp.h (test_function): Use the same err_bound for
3119         'double' on platforms with sizeof (long double) == sizeof (double)
3120         than on platforms with sizeof (long double) > sizeof (double).
3121         * tests/test-exp2.h (test_function): Likewise.
3122         * tests/test-expm1.h (test_function): Likewise.
3123         * tests/test-log.h (test_function): Likewise.
3124
3125 2012-03-10  Bruno Haible  <bruno@clisp.org>
3126
3127         Fix some comments.
3128         * lib/expl.c: Fix an ambiguous comment.
3129         * lib/expm1.c: Likewise.
3130         * lib/expm1l.c: Likewise.
3131         * lib/exp2.c: Likewise.
3132         * lib/exp2l.c: Likewise.
3133
3134 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
3135
3136         regex: allow inclusion of <regex.h> before <limits.h>
3137         Without this patch, portable programs had to include <limits.h> before
3138         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
3139         I ran into this problem with a test version of GNU grep on Solaris 8.
3140         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
3141         This is done conditionally so that this change can be merged
3142         back to glibc.
3143         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
3144         using the included regex.
3145
3146         fts: depend on fdopendir
3147         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
3148         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
3149         problem was introduced when fdopendir was split out.
3150
3151 2012-03-10  Bruno Haible  <bruno@clisp.org>
3152
3153         Remove unused variables.
3154         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
3155         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3156
3157 2012-03-10  Bruno Haible  <bruno@clisp.org>
3158
3159         isnanf-nolibm: Fix last commit.
3160         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
3161
3162         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
3163         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
3164
3165 2012-03-10  Bruno Haible  <bruno@clisp.org>
3166
3167         logf-ieee: Work around test failure on NetBSD 5.1.
3168         * m4/logf-ieee.m4: New file.
3169         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
3170         whether logf works with a negative argument. Replace it if not.
3171         * lib/logf.c (logf): For negative arguments, return NaN.
3172         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
3173         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
3174         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
3175
3176         logf-ieee: Work around test failure on Solaris 9.
3177         * modules/logf-ieee (Depends-on): Add log-ieee.
3178         (configure.ac): Require gl_FUNC_LOGF.
3179
3180         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3181         * m4/log-ieee.m4: New file.
3182         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
3183         log works with a negative argument. Replace it if not.
3184         * lib/log.c (log): For negative arguments, return NaN.
3185         * modules/log-ieee (Files): Add m4/log-ieee.m4.
3186         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
3187         * doc/posix-functions/log.texi: Mention the log-ieee module.
3188
3189         Tests for module 'logl-ieee'.
3190         * modules/logl-ieee-tests: New file.
3191         * tests/test-logl-ieee.c: New file.
3192
3193         New module 'logl-ieee'.
3194         * modules/logl-ieee: New file.
3195
3196         Tests for module 'log-ieee'.
3197         * modules/log-ieee-tests: New file.
3198         * tests/test-log-ieee.c: New file.
3199
3200         New module 'log-ieee'.
3201         * modules/log-ieee: New file.
3202
3203         Tests for module 'logf-ieee'.
3204         * modules/logf-ieee-tests: New file.
3205         * tests/test-logf-ieee.c: New file.
3206         * tests/test-log-ieee.h: New file.
3207
3208         New module 'logf-ieee'.
3209         * modules/logf-ieee: New file.
3210
3211 2012-03-10  Bruno Haible  <bruno@clisp.org>
3212
3213         log: Fix bug introduced on 2012-03-09.
3214         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
3215
3216 2012-03-10  Pádraig Brady  <P@draigBrady.com>
3217
3218         timer-time: link explicitly with pthreads on glibc
3219         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3220         to support static linking, when newer glibc is
3221         detected, as that contains pthread emulation of
3222         POSIX timer functions where required.
3223         * modules/timer-time: Depend on threadlib to
3224         pull in the appropriate library to link.
3225
3226 2012-03-10  Bruno Haible  <bruno@clisp.org>
3227
3228         log* tests: More tests.
3229         * tests/test-log.h: New file.
3230         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
3231         (main): Invoke test_function.
3232         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
3233         (main): Invoke test_function.
3234         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
3235         (main): Invoke test_function.
3236         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3237         tests/randomd.c.
3238         (Makefile.am): Add randomd.c to test_log_SOURCES.
3239         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3240         tests/randomf.c.
3241         (Makefile.am): Add randomf.c to test_logf_SOURCES.
3242         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3243         tests/randoml.c.
3244         (Depends-on): Add 'float'.
3245         (Makefile.am): Add randoml.c to test_logl_SOURCES.
3246
3247 2012-03-09  Bruno Haible  <bruno@clisp.org>
3248
3249         logl: Work around OSF/1 5.1 bug.
3250         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
3251         * lib/logl.c (logl): If logl exists, use it and provide just the
3252         workaround.
3253         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
3254         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
3255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
3256         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
3257         * modules/logl (configure.ac): Consider REPLACE_LOGL.
3258         (Depends-on): Update conditions.
3259         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
3260
3261 2012-03-09  Bruno Haible  <bruno@clisp.org>
3262
3263         logf: Work around OSF/1 5.1 bug.
3264         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
3265         * lib/logf.c (logf): If logf exists, use it and provide just the
3266         workaround.
3267         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
3268         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
3269         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
3270         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
3271         * modules/logf (configure.ac): Consider REPLACE_LOGF.
3272         (Depends-on): Update conditions.
3273         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
3274
3275 2012-03-09  Bruno Haible  <bruno@clisp.org>
3276
3277         log: Work around OSF/1 5.1 bug.
3278         * lib/math.in.h (log): New declaration.
3279         * lib/log.c: New file.
3280         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
3281         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
3282         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
3283         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
3284         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
3285         * modules/log (Files): Add lib/log.c.
3286         (Depends-on): Add math.
3287         (configure.ac): If REPLACE_LOG is 1, compile an override.
3288         * tests/test-math-c++.cc: Check the declaration of log.
3289         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
3290
3291 2012-03-09  Jim Meyering  <meyering@redhat.com>
3292
3293         readtokens.c: adjust wording in a comment
3294         * lib/readtokens.c: Insert omitted "that" in a comment.
3295
3296 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3297
3298         modechange: add notations +40, 00440, etc.
3299         * lib/modechange.c (mode_compile): Support new notations
3300         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
3301
3302 2012-03-08  Bruno Haible  <bruno@clisp.org>
3303
3304         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
3305         * m4/exp2l-ieee.m4: New file.
3306         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
3307         test whether exp2l works with a NaN argument and with a negative
3308         infinity argument. Replace it if not.
3309         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
3310         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
3311         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
3312         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
3313         (Depends-on): Update conditions.
3314         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
3315         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
3316         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
3317
3318         Tests for module 'exp2l-ieee'.
3319         * modules/exp2l-ieee-tests: New file.
3320         * tests/test-exp2l-ieee.c: New file.
3321
3322         New module 'exp2l-ieee'.
3323         * modules/exp2l-ieee: New file.
3324
3325         Tests for module 'exp2-ieee'.
3326         * modules/exp2-ieee-tests: New file.
3327         * tests/test-exp2-ieee.c: New file.
3328
3329         New module 'exp2-ieee'.
3330         * modules/exp2-ieee: New file.
3331
3332         Tests for module 'exp2f-ieee'.
3333         * modules/exp2f-ieee-tests: New file.
3334         * tests/test-exp2f-ieee.c: New file.
3335         * tests/test-exp2-ieee.h: New file.
3336
3337         New module 'exp2f-ieee'.
3338         * modules/exp2f-ieee: New file.
3339
3340 2012-03-08  Bruno Haible  <bruno@clisp.org>
3341
3342         Tests for module 'exp2l'.
3343         * modules/exp2l-tests: New file.
3344         * tests/test-exp2l.c: New file.
3345
3346         New module 'exp2l'.
3347         * lib/math.in.h (exp2l): New declaration.
3348         * lib/exp2l.c: New file.
3349         * lib/expl-table.c: New file, extracted from lib/expl.c.
3350         * lib/expl.c (gl_expl_table): New declaration.
3351         (expl): Remove expl_table. Update reference.
3352         * m4/exp2l.m4: New file.
3353         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3354         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3355         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3356         * modules/exp2l: New file.
3357         * modules/expl (Files): Add lib/expl-table.c.
3358         (configure.ac): Compile also expl-table.c.
3359         * tests/test-math-c++.cc: Check the declaration of exp2l.
3360         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3361         problem.
3362
3363 2012-03-08  Bruno Haible  <bruno@clisp.org>
3364
3365         Tests for module 'exp2f'.
3366         * modules/exp2f-tests: New file.
3367         * tests/test-exp2f.c: New file.
3368
3369         New module 'exp2f'.
3370         * lib/math.in.h (exp2f): New declaration.
3371         * lib/exp2f.c: New file.
3372         * m4/exp2f.m4: New file.
3373         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3374         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3375         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3376         * modules/exp2f: New file.
3377         * tests/test-math-c++.cc: Check the declaration of exp2f.
3378         * doc/posix-functions/exp2f.texi: Mention the new module and the
3379         IRIX problem.
3380
3381 2012-03-08  Bruno Haible  <bruno@clisp.org>
3382
3383         Tests for module 'exp2'.
3384         * modules/exp2-tests: New file.
3385         * tests/test-exp2.c: New file.
3386         * tests/test-exp2.h: New file.
3387
3388         New module 'exp2'.
3389         * lib/math.in.h (exp2): New declaration.
3390         * lib/exp2.c: New file.
3391         * m4/exp2.m4: New file.
3392         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3393         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3394         REPLACE_EXP2.
3395         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3396         REPLACE_EXP2.
3397         * modules/exp2: New file.
3398         * tests/test-math-c++.cc: Check the declaration of exp2.
3399         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3400         and OpenBSD problems.
3401
3402 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3403
3404         savedir: fix comment typo
3405         * lib/savedir.c (savedirstream): Fix typo in comment.
3406
3407 2012-03-08  Bruno Haible  <bruno@clisp.org>
3408
3409         test-readtokens.c: use const; remove unwarranted cast
3410         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
3411
3412 2012-03-08  Bruno Haible  <bruno@clisp.org>
3413
3414         fmal: Avoid compilation error on AIX.
3415         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
3416         AIX 5.2..7.1.
3417
3418 2012-03-08  Bruno Haible  <bruno@clisp.org>
3419
3420         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
3421         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
3422         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
3423         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
3424         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
3425         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
3426         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
3427
3428 2012-03-08  Bruno Haible  <bruno@clisp.org>
3429
3430         remainderf: Override buggy system function on IRIX 6.5.
3431         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
3432         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
3433         when it exists.
3434         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
3435
3436 2012-03-08  Jim Meyering  <meyering@redhat.com>
3437
3438         test-readtokens.c: avoid const-related compilation warnings
3439         * tests/test-readtokens.c: Avoid const-related compilation warnings.
3440
3441 2012-03-07  Jim Meyering  <meyering@redhat.com>
3442             Bruno Haible  <bruno@clisp.org>
3443
3444         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
3445         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
3446         tests/randomd.c.
3447         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
3448         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
3449         tests/randoml.c.
3450         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
3451
3452 2012-03-07  Bruno Haible  <bruno@clisp.org>
3453
3454         expm1l: Avoid compilation error on AIX.
3455         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
3456         AIX 5.2..7.1.
3457
3458 2012-03-07  Bruno Haible  <bruno@clisp.org>
3459
3460         expm1l: Don't override undeclared system function on IRIX 6.5.
3461         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
3462         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
3463         it exists. Set HAVE_DECL_EXPM1L.
3464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
3465         HAVE_EXPM1L.
3466         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
3467         HAVE_EXPM1L.
3468         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
3469
3470 2012-03-07  Bruno Haible  <bruno@clisp.org>
3471
3472         remainderl: Don't override undeclared system function on IRIX 6.5.
3473         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
3474         HAVE_REMAINDERL.
3475         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
3476         declared when it exists. Set HAVE_DECL_REMAINDERL.
3477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
3478         not HAVE_REMAINDERL.
3479         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
3480         HAVE_REMAINDERL.
3481         * doc/posix-functions/remainderl.texi: Mention missing declaration
3482         problem.
3483
3484 2012-03-07  Bruno Haible  <bruno@clisp.org>
3485
3486         rintf: Don't override undeclared system function on IRIX 6.5.
3487         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
3488         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
3489         exists. Set HAVE_DECL_RINTF.
3490         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
3491         HAVE_RINTF.
3492         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
3493         HAVE_RINTF.
3494         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
3495
3496 2012-03-07  Bruno Haible  <bruno@clisp.org>
3497
3498         roundl: Avoid compilation error on AIX.
3499         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
3500         AIX 5.2..7.1.
3501
3502 2012-03-07  Bruno Haible  <bruno@clisp.org>
3503
3504         roundl: Don't override undeclared system function on IRIX 6.5.
3505         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
3506         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
3507         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3508         * modules/roundl (configure.ac): For replacement code, test
3509         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3510         (Depends-on): Update conditions.
3511         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
3512
3513 2012-03-07  Bruno Haible  <bruno@clisp.org>
3514
3515         roundf: Don't override undeclared system function on IRIX 6.5.
3516         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
3517         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
3518         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3519         * modules/roundf (configure.ac): For replacement code, test
3520         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3521         (Depends-on): Update conditions.
3522         * modules/roundf-ieee (Depends-on): Update conditions.
3523         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
3524
3525 2012-03-07  Bruno Haible  <bruno@clisp.org>
3526
3527         round: Don't override undeclared system function on IRIX 6.5.
3528         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
3529         argument.
3530         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
3531         also when it is not declared. Set HAVE_ROUND. For replacement code,
3532         test HAVE_ROUND, not HAVE_DECL_ROUND.
3533         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
3534         not HAVE_DECL_ROUND.
3535         (Depends-on): Update conditions.
3536         * modules/round-ieee (Depends-on): Update conditions.
3537         * doc/posix-functions/round.texi: Mention the IRIX problem.
3538
3539 2012-03-07  Bruno Haible  <bruno@clisp.org>
3540
3541         copysignf: Don't override undeclared system function on IRIX 6.5.
3542         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
3543         HAVE_COPYSIGNF.
3544         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
3545         declared when it exists. Set HAVE_DECL_COPYSIGNF.
3546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
3547         not HAVE_COPYSIGNF.
3548         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
3549         HAVE_COPYSIGNF.
3550         * doc/posix-functions/copysignf.texi: Mention missing declaration
3551         problem.
3552
3553 2012-03-07  Jim Meyering  <meyering@redhat.com>
3554
3555         readtokens: add tests
3556         * modules/readtokens-tests: New file.
3557         * tests/test-readtokens.c: New file.
3558
3559 2012-03-07  Jim Meyering  <meyering@redhat.com>
3560
3561         quotearg: the module must now include quote.h
3562         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
3563         So must the module.
3564         * modules/quotearg (Files): Add quote.h.
3565
3566 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
3567
3568         readtokens: avoid core dumps with unusual calling patterns
3569         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
3570         * lib/readtokens.c: Include limits.h.
3571         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
3572         (readtoken): Don't cache the delimiters; the cache code was buggy
3573         if !delim && saved_delim, or if the new n_delim differs from the old.
3574         Also, it wasn't thread-safe.
3575
3576 2012-03-07  Bruno Haible  <bruno@clisp.org>
3577
3578         quote: Adhere to common module description layout.
3579         * modules/quote (Makefile.am): Add back empty section.
3580
3581 2012-03-06  Akim Demaille  <demaille@gostai.com>
3582
3583         quote: fuse into quotearg
3584         This patch is made for the benefit of Bison.
3585         quote does not leave the choice of the quoting style to the user.
3586         quoting_style provides poor customizability, yet quoting_options,
3587         which is very rich, is hidden inside quotearg.c.  So in order to
3588         allow quote customization, move its implementation to quotearg.c.
3589         * lib/quote.c: Remove.
3590         * modules/quote: Adjust.
3591         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
3592         warning: provide all the members of literal structs.
3593         (quote_quoting_options): New.
3594         (quote, quote_n): Import implementation from quote.c.
3595         * lib/quote.h: Import the comments from quote.c.
3596         (quote_quoting_options): New.
3597
3598 2012-03-06  Bruno Haible  <bruno@clisp.org>
3599
3600         Tests for module 'expm1l-ieee'.
3601         * modules/expm1l-ieee-tests: New file.
3602         * tests/test-expm1l-ieee.c: New file.
3603
3604         New module 'expm1l-ieee'.
3605         * modules/expm1l-ieee: New file.
3606
3607         Tests for module 'expm1f-ieee'.
3608         * modules/expm1f-ieee-tests: New file.
3609         * tests/test-expm1f-ieee.c: New file.
3610
3611         New module 'expm1f-ieee'.
3612         * modules/expm1f-ieee: New file.
3613
3614         Tests for module 'expm1-ieee'.
3615         * modules/expm1-ieee-tests: New file.
3616         * tests/test-expm1-ieee.c: New file.
3617         * tests/test-expm1-ieee.h: New file.
3618
3619         New module 'expm1-ieee'.
3620         * modules/expm1-ieee: New file.
3621         * m4/expm1-ieee.m4: New file.
3622         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
3623         whether expm1 works with a minus zero argument. Replace it if not.
3624         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
3625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
3626         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
3627         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
3628         (Depends-on): Update conditions.
3629         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
3630         AIX problem.
3631
3632 2012-03-06  Bruno Haible  <bruno@clisp.org>
3633
3634         Work around expm1f bug on IRIX 6.5.
3635         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
3636         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
3637         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
3638         not work.
3639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
3640         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
3641         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
3642         (Depends-on): Update conditions.
3643         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
3644
3645 2012-03-06  Bruno Haible  <bruno@clisp.org>
3646
3647         Tests for module 'expm1l'.
3648         * modules/expm1l-tests: New file.
3649         * tests/test-expm1l.c: New file.
3650
3651         New module 'expm1l'.
3652         * lib/math.in.h (expm1l): New declaration.
3653         * lib/expm1l.c: New file.
3654         * m4/expm1l.m4: New file.
3655         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
3656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
3657         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
3658         * modules/expm1l: New file.
3659         * tests/test-math-c++.cc: Check the declaration of expm1l.
3660         * doc/posix-functions/expm1l.texi: Mention the new module.
3661
3662 2012-03-06  Bruno Haible  <bruno@clisp.org>
3663
3664         Tests for module 'expm1f'.
3665         * modules/expm1f-tests: New file.
3666         * tests/test-expm1f.c: New file.
3667
3668         New module 'expm1f'.
3669         * lib/math.in.h (expm1f): New declaration.
3670         * lib/expm1f.c: New file.
3671         * m4/expm1f.m4: New file.
3672         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
3673         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
3674         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
3675         * modules/expm1f: New file.
3676         * tests/test-math-c++.cc: Check the declaration of expm1f.
3677         * doc/posix-functions/expm1f.texi: Mention the new module.
3678
3679 2012-03-06  Bruno Haible  <bruno@clisp.org>
3680
3681         Tests for module 'expm1'.
3682         * modules/expm1-tests: New file.
3683         * tests/test-expm1.c: New file.
3684         * tests/test-expm1.h: New file.
3685
3686         New module 'expm1'.
3687         * lib/math.in.h (expm1): New declaration.
3688         * lib/expm1.c: New file.
3689         * m4/expm1.m4: New file.
3690         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
3691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
3692         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
3693         * modules/expm1: New file.
3694         * tests/test-math-c++.cc: Check the declaration of expm1.
3695         * doc/posix-functions/expm1.texi: Mention the new module.
3696
3697 2012-03-06  Bruno Haible  <bruno@clisp.org>
3698
3699         math: Ensure declarations of math functions.
3700         * modules/acosf (Depends-on): Add 'extensions'.
3701         * modules/asinf (Depends-on): Likewise.
3702         * modules/atan2f (Depends-on): Likewise.
3703         * modules/atanf (Depends-on): Likewise.
3704         * modules/cbrt (Depends-on): Likewise.
3705         * modules/cbrtf (Depends-on): Likewise.
3706         * modules/cbrtl (Depends-on): Likewise.
3707         * modules/copysignf (Depends-on): Likewise.
3708         * modules/copysignl (Depends-on): Likewise.
3709         * modules/cosf (Depends-on): Likewise.
3710         * modules/coshf (Depends-on): Likewise.
3711         * modules/expf (Depends-on): Likewise.
3712         * modules/fabsf (Depends-on): Likewise.
3713         * modules/fabsl (Depends-on): Likewise.
3714         * modules/fmaf (Depends-on): Likewise.
3715         * modules/fmal (Depends-on): Likewise.
3716         * modules/fmodf (Depends-on): Likewise.
3717         * modules/fmodl (Depends-on): Likewise.
3718         * modules/frexpf (Depends-on): Likewise.
3719         * modules/frexpl (Depends-on): Likewise.
3720         * modules/hypot (Depends-on): Likewise.
3721         * modules/hypotf (Depends-on): Likewise.
3722         * modules/hypotl (Depends-on): Likewise.
3723         * modules/ldexpf (Depends-on): Likewise.
3724         * modules/ldexpl (Depends-on): Likewise.
3725         * modules/log10f (Depends-on): Likewise.
3726         * modules/log10l (Depends-on): Likewise.
3727         * modules/log1p (Depends-on): Likewise.
3728         * modules/logb (Depends-on): Likewise.
3729         * modules/logf (Depends-on): Likewise.
3730         * modules/modff (Depends-on): Likewise.
3731         * modules/modfl (Depends-on): Likewise.
3732         * modules/powf (Depends-on): Likewise.
3733         * modules/remainderf (Depends-on): Likewise.
3734         * modules/remainderl (Depends-on): Likewise.
3735         * modules/rintf (Depends-on): Likewise.
3736         * modules/rintl (Depends-on): Likewise.
3737         * modules/sinf (Depends-on): Likewise.
3738         * modules/sinhf (Depends-on): Likewise.
3739         * modules/sqrtf (Depends-on): Likewise.
3740         * modules/tanf (Depends-on): Likewise.
3741         * modules/tanhf (Depends-on): Likewise.
3742         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
3743         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
3744         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
3745         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
3746         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
3747         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
3748         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
3749         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
3750         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
3751         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
3752         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
3753         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
3754         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
3755         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
3756         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
3757         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
3758         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
3759         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3760         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
3761         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
3762         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
3763         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
3764         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
3765         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
3766         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3767         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3768         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3769         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3770         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3771         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3772         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3773         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3774         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3775         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3776         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3777         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3778         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3779         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3780         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3781         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3782         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3783
3784 2012-03-06  Bruno Haible  <bruno@clisp.org>
3785
3786         math: Update module names in warnings.
3787         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3788         tanl): Use specific module name in warn-on-use warning.
3789
3790 2012-03-06  Bruno Haible  <bruno@clisp.org>
3791
3792         expl: Simplify computation.
3793         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3794
3795 2012-03-05  Bruno Haible  <bruno@clisp.org>
3796
3797         exp* tests: More tests.
3798         * tests/test-exp.h: New file.
3799         * tests/test-exp.c: Include <float.h> and test-exp.h.
3800         (main): Invoke test_function.
3801         * tests/test-expf.c: Include <float.h> and test-exp.h.
3802         (main): Invoke test_function.
3803         * tests/test-expl.c: Include <float.h> and test-exp.h.
3804         (main): Invoke test_function.
3805         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3806         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3807         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3808         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3809         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3810         (Depends-on): Add 'float'.
3811         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3812
3813         expl: Fix precision of computed result.
3814         * lib/expl.c: Completely rewritten.
3815         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3816         (Maintainer): Add me.
3817         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3818
3819 2012-03-05  Bruno Haible  <bruno@clisp.org>
3820
3821         cbrt* tests: More tests.
3822         * tests/test-cbrt.h: New file.
3823         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3824         (main): Invoke test_function.
3825         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3826         (main): Invoke test_function.
3827         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3828         (main): Invoke test_function.
3829         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3830         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3831         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3832         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3833         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3834         (Depends-on): Add 'float'.
3835         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3836
3837 2012-03-05  Bruno Haible  <bruno@clisp.org>
3838
3839         hypot* tests: More tests.
3840         * tests/test-hypot.h: New file, partially extracted from
3841         tests/test-hypotl.c.
3842         * tests/test-hypot.c: Include test-hypot.h.
3843         (main): Invoke test_function.
3844         * tests/test-hypotf.c: Include test-hypot.h.
3845         (main): Invoke test_function.
3846         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3847         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3848         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3849         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3850         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3851         tests/randomf.c.
3852         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3853         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3854         tests/randoml.c.
3855         (Depends-on): Add 'fpucw', 'float'.
3856         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3857
3858 2012-03-05  Bruno Haible  <bruno@clisp.org>
3859
3860         fpucw: Doc about FreeBSD.
3861         * lib/fpucw.h: Mention FreeBSD in comments.
3862
3863 2012-03-04  Bruno Haible  <bruno@clisp.org>
3864
3865         sqrt* tests: More tests.
3866         * tests/test-sqrt.h: New file.
3867         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3868         (main): Invoke test_function.
3869         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3870         (main): Invoke test_function.
3871         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3872         (main): Invoke test_function.
3873         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3874         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3875         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3876         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3877         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3878         (Depends-on): Add 'float'.
3879         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3880
3881 2012-03-04  Bruno Haible  <bruno@clisp.org>
3882
3883         remainder* tests: More tests.
3884         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3885         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3886         (main): Invoke test_function.
3887         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3888         (main): Invoke test_function.
3889         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3890         (main): Invoke test_function.
3891         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3892         tests/randomd.c.
3893         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3894         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3895         tests/randomf.c.
3896         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3897         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3898         tests/randoml.c.
3899         (Depends-on): Add 'float'.
3900         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3901
3902 2012-03-04  Bruno Haible  <bruno@clisp.org>
3903
3904         remainder, remainderf, remainderl: Fix computation for large quotients.
3905         * lib/remainder.c: Completely rewritten.
3906         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3907         USE_FLOAT.
3908         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3909         USE_LONG_DOUBLE.
3910         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3911         isnand, isinf. Remove round, fma.
3912         * modules/remainderf (Files): Add lib/remainder.c.
3913         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3914         Remove roundf, fmaf.
3915         * modules/remainderl (Files): Add lib/remainder.c.
3916         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3917         isinf. Remove roundl, fmal.
3918         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3919         REMAINDER_LIBM.
3920         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3921         REMAINDERF_LIBM.
3922         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3923         REMAINDERL_LIBM.
3924
3925 2012-03-04  Bruno Haible  <bruno@clisp.org>
3926
3927         fmod* tests: More tests.
3928         * tests/test-fmod.h (my_ldexp): New function.
3929         (test_function): Reduce amount of random numbers to test. Add tests
3930         of very large quotients x / y.
3931         * tests/test-fmod.c (MAX_EXP): New macro.
3932         * tests/test-fmodf.c (MAX_EXP): Likewise.
3933         * tests/test-fmodl.c (MAX_EXP): Likewise.
3934
3935 2012-03-04  Bruno Haible  <bruno@clisp.org>
3936
3937         fmod, fmodl: Fix computation for large quotients x / y.
3938         * lib/fmod.c: Completely rewritten.
3939         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
3940         USE_LONG_DOUBLE.
3941         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
3942         isnand. Remove fma.
3943         * modules/fmodl (Files): Add lib/fmod.c.
3944         (Depends-on): Add float, isfinite, signbit, fabsl,
3945         frexpl, ldexpl, isnanl. Remove fma.
3946         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
3947         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
3948
3949 2012-03-03  Bruno Haible  <bruno@clisp.org>
3950
3951         fmod* tests: More tests.
3952         * tests/test-fmod.h: New file.
3953         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
3954         (main): Invoke test_function.
3955         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
3956         (main): Invoke test_function.
3957         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
3958         (main): Invoke test_function.
3959         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
3960         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
3961         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
3962         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
3963         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
3964         (Depends-on): Add 'float'.
3965         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
3966
3967 2012-03-03  Bruno Haible  <bruno@clisp.org>
3968
3969         rint* tests: More tests.
3970         * tests/test-rint.h: New file, partially extracted from
3971         tests/test-rintl.c.
3972         * tests/test-rint.c: Include test-rint.h.
3973         (main): Invoke test_function.
3974         * tests/test-rintf.c: Include test-rint.h.
3975         (main): Invoke test_function.
3976         * tests/test-rintl.c: Include test-rint.h.
3977         (main): Invoke test_function.
3978         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3979         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3980         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3981         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3982         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3983         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3984
3985 2012-03-03  Bruno Haible  <bruno@clisp.org>
3986
3987         modf* tests: More tests.
3988         * tests/test-modf.h: New file.
3989         * tests/test-modf.c: Include <float.h> and test-modf.h.
3990         (main): Invoke test_function.
3991         * tests/test-modff.c: Include <float.h> and test-modf.h.
3992         (main): Invoke test_function.
3993         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3994         (main): Invoke test_function.
3995         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3996         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3997         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3998         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3999         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
4000         (Depends-on): Add 'float'.
4001         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
4002
4003 2012-03-03  Bruno Haible  <bruno@clisp.org>
4004
4005         fabs* tests: More tests.
4006         * tests/test-fabs.h: New file, partially extracted from
4007         tests/test-fabsl.c.
4008         * tests/test-fabs.c (RANDOM): New macro.
4009         * tests/test-fabsf.c (RANDOM): New macro.
4010         * tests/test-fabsl.c (RANDOM): New macro.
4011         * modules/fabs-tests (Files): Add tests/randomd.c.
4012         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
4013         * modules/fabsf-tests (Files): Add tests/randomf.c.
4014         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
4015         * modules/fabsl-tests (Files): Add tests/randoml.c.
4016         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
4017
4018 2012-03-03  Bruno Haible  <bruno@clisp.org>
4019
4020         ldexp* tests: More tests.
4021         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
4022         * tests/test-ldexp.c (RANDOM): New macro.
4023         * tests/test-ldexpf.c (RANDOM): New macro.
4024         * tests/test-ldexpl.c (RANDOM): New macro.
4025         * modules/ldexp-tests (Files): Add tests/randomd.c.
4026         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
4027         * modules/ldexpf-tests (Files): Add tests/randomf.c.
4028         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
4029         * modules/ldexpl-tests (Files): Add tests/randoml.c.
4030         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
4031
4032 2012-03-03  Bruno Haible  <bruno@clisp.org>
4033
4034         frexp* tests: More tests.
4035         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
4036         * tests/test-frexp.c (RANDOM): New macro.
4037         * tests/test-frexpf.c (RANDOM): New macro.
4038         * tests/test-frexpl.c (RANDOM): New macro.
4039         * modules/frexp-tests (Files): Add tests/randomd.c.
4040         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
4041         * modules/frexpf-tests (Files): Add tests/randomf.c.
4042         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
4043         * modules/frexpl-tests (Files): Add tests/randoml.c.
4044         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
4045
4046 2012-03-03  Bruno Haible  <bruno@clisp.org>
4047
4048         Support for pseudo-random numbers in tests.
4049         * tests/randomf.c: New file.
4050         * tests/randomd.c: New file.
4051         * tests/randoml.c: New file.
4052         * tests/macros.h (randomf, randomd, randoml): New declarations.
4053
4054 2012-03-03  Bruno Haible  <bruno@clisp.org>
4055
4056         frexp* tests: Refactor.
4057         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
4058         * tests/test-frexp.c: Include and use it.
4059         * tests/test-frexpf.c: Likewise.
4060         * tests/test-frexpl.c: Likewise.
4061         * modules/frexp-tests (Files): Add tests/test-frexp.h.
4062         * modules/frexpf-tests (Files): Likewise.
4063         * modules/frexpl-tests (Files): Likewise.
4064
4065 2012-03-02  Jim Meyering  <meyering@redhat.com>
4066
4067         maint: don't specify XZ_OPT=-9ev in dist-related rule
4068         Using xz's -9 option is warranted only if you have a very large
4069         tarball (see xz's documentation for the sizes vs. presets), and
4070         requires 64MiB of memory at decompression time.
4071         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
4072         Automake's default of just "-e" is fine.  Override on a
4073         per-package basis by setting XZ_OPT e.g., in cfg.mk.
4074
4075 2012-03-01  Eric Blake  <eblake@redhat.com>
4076
4077         maint.mk: allow announcement for non-gnulib project
4078         * maint.mk (announcement): Skip gnulib version if not used.
4079
4080 2012-03-01  Jim Meyering  <meyering@redhat.com>
4081
4082         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
4083         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
4084         envvar settings cannot interfere.  Otherwise, setting envvars like
4085         prohibit=foo require=bar, etc. would cause spurious test failures.
4086
4087 2012-03-01  Eric Blake  <eblake@redhat.com>
4088
4089         maint.mk: add per-line exclusions to prohibitions
4090         * maint.mk (_sc_search_regexp): Add $exclude parameter.
4091         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
4092         (sc_const_long_option): Use it.
4093
4094 2012-03-01  Bruno Haible  <bruno@clisp.org>
4095
4096         Tests for module 'expl-ieee'.
4097         * modules/expl-ieee-tests: New file.
4098         * tests/test-expl-ieee.c: New file.
4099
4100         New module 'expl-ieee'.
4101         * modules/expl-ieee: New file.
4102
4103         Tests for module 'exp-ieee'.
4104         * modules/exp-ieee-tests: New file.
4105         * tests/test-exp-ieee.c: New file.
4106
4107         New module 'exp-ieee'.
4108         * modules/exp-ieee: New file.
4109
4110         Tests for module 'expf-ieee'.
4111         * modules/expf-ieee-tests: New file.
4112         * tests/test-expf-ieee.c: New file.
4113         * tests/test-exp-ieee.h: New file.
4114
4115         New module 'expf-ieee'.
4116         * modules/expf-ieee: New file.
4117
4118 2012-02-29  Bruno Haible  <bruno@clisp.org>
4119
4120         cbrtl-ieee: Work around test failure on IRIX 6.5.
4121         * m4/cbrtl-ieee.m4: New file.
4122         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
4123         test whether cbrtl works with a minus zero argument. Replace it if not.
4124         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
4125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
4126         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
4127         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
4128         (Depends-on): Update conditions.
4129         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
4130         m4/signbit.m4.
4131         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
4132         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
4133         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
4134
4135         Tests for module 'cbrtl-ieee'.
4136         * modules/cbrtl-ieee-tests: New file.
4137         * tests/test-cbrtl-ieee.c: New file.
4138
4139         New module 'cbrtl-ieee'.
4140         * modules/cbrtl-ieee: New file.
4141
4142         Tests for module 'cbrt-ieee'.
4143         * modules/cbrt-ieee-tests: New file.
4144         * tests/test-cbrt-ieee.c: New file.
4145
4146         New module 'cbrt-ieee'.
4147         * modules/cbrt-ieee: New file.
4148
4149         Tests for module 'cbrtf-ieee'.
4150         * modules/cbrtf-ieee-tests: New file.
4151         * tests/test-cbrtf-ieee.c: New file.
4152         * tests/test-cbrt-ieee.h: New file.
4153
4154         New module 'cbrtf-ieee'.
4155         * modules/cbrtf-ieee: New file.
4156
4157 2012-02-29  Bruno Haible  <bruno@clisp.org>
4158
4159         cbrtf: Work around bug in IRIX 6.5 system function.
4160         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
4161         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
4162         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
4163         work.
4164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
4165         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
4166         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
4167         (Depends-on): Update conditions.
4168         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
4169
4170 2012-02-29  Bruno Haible  <bruno@clisp.org>
4171
4172         Tests for module 'cbrtl'.
4173         * modules/cbrtl-tests: New file.
4174         * tests/test-cbrtl.c: New file.
4175
4176         New module 'cbrtl'.
4177         * lib/math.in.h (cbrtl): New declaration.
4178         * lib/cbrtl.c: New file.
4179         * m4/cbrtl.m4: New file.
4180         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
4181         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
4182         HAVE_DECL_CBRTL.
4183         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
4184         HAVE_DECL_CBRTL.
4185         * modules/cbrtl: New file.
4186         * tests/test-math-c++.cc: Check the declaration of cbrtl.
4187         * doc/posix-functions/cbrtl.texi: Mention the new module.
4188
4189 2012-02-29  Bruno Haible  <bruno@clisp.org>
4190
4191         Tests for module 'cbrtf'.
4192         * modules/cbrtf-tests: New file.
4193         * tests/test-cbrtf.c: New file.
4194
4195         New module 'cbrtf'.
4196         * lib/math.in.h (cbrtf): New declaration.
4197         * lib/cbrtf.c: New file.
4198         * m4/cbrtf.m4: New file.
4199         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
4200         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
4201         HAVE_DECL_CBRTF.
4202         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
4203         HAVE_DECL_CBRTF.
4204         * modules/cbrtf: New file.
4205         * tests/test-math-c++.cc: Check the declaration of cbrtf.
4206         * doc/posix-functions/cbrtf.texi: Mention the new module.
4207
4208 2012-02-29  Bruno Haible  <bruno@clisp.org>
4209
4210         cbrt: Provide replacement on MSVC and Minix.
4211         * lib/math.in.h (cbrt): New declaration.
4212         * lib/cbrt.c: New file.
4213         * m4/cbrt.m4: New file.
4214         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
4215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
4216         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
4217         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
4218         (Depends-on): Add dependencies.
4219         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
4220         * tests/test-math-c++.cc: Check the declaration of cbrt.
4221         * doc/posix-functions/cbrt.texi: Mention that the module provides a
4222         replacement.
4223
4224 2012-02-29  Bruno Haible  <bruno@clisp.org>
4225
4226         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
4227         * m4/hypotl-ieee.m4: New file.
4228         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
4229         test whether hypotl works with mixed NaN and Infinity arguments.
4230         Replace it if not.
4231         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
4232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
4233         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
4234         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
4235         (Depends-on): Update conditions.
4236         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
4237         (Depends-on): Add hypot-ieee.
4238         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
4239         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
4240
4241         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
4242         * m4/hypotf-ieee.m4: New file.
4243         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
4244         test whether hypotf works with mixed NaN and Infinity arguments.
4245         Replace it if not.
4246         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
4247         (Depends-on): Add hypot-ieee.
4248         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
4249         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
4250
4251         hypot-ieee: Work around test failure on OSF/1 and native Windows.
4252         * lib/math.in.h (hypot): New declaration.
4253         * lib/hypot.c: New file.
4254         * m4/hypot-ieee.m4: New file.
4255         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
4256         whether hypot works with mixed NaN and Infinity arguments. Replace it
4257         if not.
4258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
4259         REPLACE_HYPOT.
4260         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
4261         * modules/hypot (Files): Add lib/hypot.c.
4262         (Depends-on): Add dependencies.
4263         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
4264         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
4265         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
4266         * tests/test-math-c++.cc: Check the declaration of hypot.
4267         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
4268
4269         Tests for module 'hypotl-ieee'.
4270         * modules/hypotl-ieee-tests: New file.
4271         * tests/test-hypotl-ieee.c: New file.
4272
4273         New module 'hypotl-ieee'.
4274         * modules/hypotl-ieee: New file.
4275
4276         Tests for module 'hypot-ieee'.
4277         * modules/hypot-ieee-tests: New file.
4278         * tests/test-hypot-ieee.c: New file.
4279
4280         New module 'hypot-ieee'.
4281         * modules/hypot-ieee: New file.
4282
4283         Tests for module 'hypotf-ieee'.
4284         * modules/hypotf-ieee-tests: New file.
4285         * tests/test-hypotf-ieee.c: New file.
4286         * tests/test-hypot-ieee.h: New file.
4287
4288         New module 'hypotf-ieee'.
4289         * modules/hypotf-ieee: New file.
4290
4291 2012-02-29  Bruno Haible  <bruno@clisp.org>
4292
4293         Remove unused variables.
4294         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
4295         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4296         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4297         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4298
4299 2012-02-29  Eric Blake  <eblake@redhat.com>
4300
4301         termios: fix pid_t always, not just for tcgetsid
4302         * doc/posix-headers/termios.texi (termios.h): Mention problem.
4303         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
4304         just when building tcgetsid.
4305
4306 2012-02-29  Bruno Haible  <bruno@clisp.org>
4307
4308         Tests for module 'hypotl'.
4309         * modules/hypotl-tests: New file.
4310         * tests/test-hypotl.c: New file.
4311
4312         New module 'hypotl'.
4313         * lib/math.in.h (hypotl): New declaration.
4314         * lib/hypotl.c: New file.
4315         * m4/hypotl.m4: New file.
4316         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4317         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
4318         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
4319         * modules/hypotl: New file.
4320         * tests/test-math-c++.cc: Check the hypotl declaration.
4321         * doc/posix-functions/hypotl.texi: Mention the new module.
4322
4323 2012-02-29  Eric Blake  <eblake@redhat.com>
4324
4325         tcgetsid: fix cygwin header bug
4326         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
4327
4328         docs: update cygwin progress
4329         * doc/posix-functions/llround.texi (llround): Added in cygwin
4330         1.7.8.
4331         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
4332         * doc/glibc-functions/program_invocation_name.texi
4333         (program_invocation_name): Likewise.
4334         * doc/glibc-functions/program_invocation_short_name.texi
4335         (program_invocation_short_name): Likewise.
4336         * doc/glibc-functions/madvise.texi (madvise): Likewise.
4337         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
4338         Likewise.
4339         * doc/posix-functions/pthread_spin_destroy.texi
4340         (pthread_spin_destroy): Added in cygwin 1.7.10.
4341         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
4342         Likewise.
4343         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4344         Likewise.
4345         * doc/posix-functions/pthread_spin_trylock.texi
4346         (pthread_spin_trylock): Likewise.
4347         * doc/posix-functions/pthread_spin_unlock.texi
4348         (pthread_spin_unlock): Likewise.
4349         * doc/posix-functions/pthread_setschedprio.texi
4350         (pthread_setschedprio): Likewise.
4351         * doc/posix-functions/pthread_attr_getstack.texi
4352         (pthread_attr_getstack): Likewise.
4353         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4354         (pthread_attr_getstackaddr): Likewise.
4355         * doc/glibc-functions/pthread_getattr_np.texi
4356         (pthread_getattr_np): Likewise.
4357         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4358         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4359         * doc/posix-functions/clock_settime.texi (clock_settime):
4360         Likewise.
4361         * doc/posix-functions/pthread_attr_getguardsize.texi
4362         (pthread_attr_getguardsize): Likewise.
4363         * doc/posix-functions/pthread_attr_setguardsize.texi
4364         (pthread_attr_setguardsize): Likewise.
4365         * doc/posix-functions/pthread_attr_setstack.texi
4366         (pthread_attr_setstack): Likewise.
4367         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4368         (pthread_attr_setstackaddr): Likewise.
4369         * doc/posix-functions/clock_getcpuclockid.texi
4370         (clock_getcpuclockid): Likewise.
4371         * doc/posix-functions/pthread_getcpuclockid.texi
4372         (pthread_getcpuclockid): Likewise.
4373         * doc/glibc-functions/error.texi (error): Likewise.
4374         * doc/glibc-functions/error_at_line.texi (error_at_line):
4375         Likewise.
4376         * doc/glibc-functions/error_message_count.texi
4377         (error_message_count): Likewise.
4378         * doc/glibc-functions/error_one_per_line.texi
4379         (error_one_per_line): Likewise.
4380         * doc/glibc-functions/error_print_progname.texi
4381         (error_print_progname): Likewise.
4382         * doc/posix-functions/pthread_condattr_getclock.texi
4383         (pthread_condattr_getclock): Likewise.
4384         * doc/posix-functions/pthread_condattr_setclock.texi
4385         (pthread_condattr_setclock): Likewise.
4386         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4387         Likewise.
4388         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4389         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4390         * doc/glibc-functions/get_current_dir_name.texi
4391         (get_current_dir_name): Likewise.
4392         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4393         Likewise.
4394         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4395         wrong return type.
4396         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4397         1.7.11.
4398
4399 2012-02-29  Bruno Haible  <bruno@clisp.org>
4400
4401         Tests for module 'hypotf'.
4402         * modules/hypotf-tests: New file.
4403         * tests/test-hypotf.c: New file.
4404
4405         New module 'hypotf'.
4406         * lib/math.in.h (hypotf): New declaration.
4407         * lib/hypotf.c: New file.
4408         * m4/hypotf.m4: New file.
4409         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
4411         REPLACE_HYPOTF.
4412         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
4413         REPLACE_HYPOTF.
4414         * modules/hypotf: New file.
4415         * tests/test-math-c++.cc: Check the hypotf declaration.
4416         * doc/posix-functions/hypotf.texi: Mention the new module.
4417
4418         hypot: Prepare for hypotf module.
4419         * m4/hypot.m4: New file.
4420         * modules/hypot (Files): Add m4/hypot.m4.
4421         (configure.ac): Invoke gl_FUNC_HYPOT.
4422
4423 2012-02-29  Bruno Haible  <bruno@clisp.org>
4424
4425         hypot tests: More tests.
4426         * tests/test-hypot.c: Include <float.h>.
4427         (main): Add tests about overflow and underflow.
4428
4429 2012-02-29  Bruno Haible  <bruno@clisp.org>
4430
4431         math code: Add comments.
4432         * lib/acosl.c: Add comment about related glibc source files.
4433         * lib/asinl.c: Likewise.
4434         * lib/atanl.c: Likewise.
4435         * lib/expl.c: Likewise.
4436         * lib/logl.c: Likewise.
4437         * lib/sincosl.c: Likewise.
4438         * lib/sinl.c: Likewise.
4439         * lib/tanl.c: Likewise.
4440         * lib/trigl.c: Likewise.
4441         * lib/cosl.c: Likewise. Fix comments.
4442
4443 2012-02-28  Bruno Haible  <bruno@clisp.org>
4444
4445         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
4446         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
4447         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
4448         HUGE_VALL are defined.
4449         (numeric_equald): Renamed from numeric_equal.
4450         (numeric_equalf, numeric_equall): New functions.
4451         (main): Check also HUGE_VALF, HUGE_VALL.
4452         * modules/math-tests (Files): Add tests/macros.h.
4453         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
4454         HUGE_VALL.
4455
4456 2012-02-28  Bruno Haible  <bruno@clisp.org>
4457
4458         doc: Move ISO C11 feature notes into POSIX chapters.
4459         * doc/posix-functions/aligned_alloc.texi: Renamed from
4460         doc/glibc-functions/aligned_alloc.texi.
4461         * doc/posix-functions/quick_exit.texi: Renamed from
4462         doc/glibc-functions/quick_exit.texi.
4463         * doc/posix-headers/uchar.texi: Renamed from
4464         doc/glibc-headers/uchar.texi.
4465         * doc/posix-functions/c16rtomb.texi: Renamed from
4466         doc/glibc-functions/c16rtomb.texi.
4467         * doc/posix-functions/c32rtomb.texi: Renamed from
4468         doc/glibc-functions/c32rtomb.texi.
4469         * doc/posix-functions/mbrtoc16.texi: Renamed from
4470         doc/glibc-functions/mbrtoc16.texi.
4471         * doc/posix-functions/mbrtoc32.texi: Renamed from
4472         doc/glibc-functions/mbrtoc32.texi.
4473         * doc/gnulib.texi: Update.
4474         (Glibc uchar.h): Remove section.
4475         Suggested by Eric Blake.
4476
4477 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
4478
4479         stdnoreturn: port to MSVC better
4480         MSVC standard headers use __declspec(noreturn), so #define noreturn
4481         to empty on that platform.  Reported by Bruno Haible in
4482         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
4483         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
4484         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
4485
4486 2012-02-28  Bruno Haible  <bruno@clisp.org>
4487
4488         doc: Mention new glibc headers and functions.
4489         * doc/glibc-headers/uchar.texi: New file.
4490         * doc/glibc-functions/aligned_alloc.texi: New file.
4491         * doc/glibc-functions/c16rtomb.texi: New file.
4492         * doc/glibc-functions/c32rtomb.texi: New file.
4493         * doc/glibc-functions/clock_adjtime.texi: New file.
4494         * doc/glibc-functions/fanotify_init.texi: New file.
4495         * doc/glibc-functions/fanotify_mark.texi: New file.
4496         * doc/glibc-functions/inet6_opt_append.texi: New file.
4497         * doc/glibc-functions/inet6_opt_find.texi: New file.
4498         * doc/glibc-functions/inet6_opt_finish.texi: New file.
4499         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
4500         * doc/glibc-functions/inet6_opt_init.texi: New file.
4501         * doc/glibc-functions/inet6_opt_next.texi: New file.
4502         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
4503         * doc/glibc-functions/inet6_rth_add.texi: New file.
4504         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
4505         * doc/glibc-functions/inet6_rth_init.texi: New file.
4506         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
4507         * doc/glibc-functions/inet6_rth_segments.texi: New file.
4508         * doc/glibc-functions/inet6_rth_space.texi: New file.
4509         * doc/glibc-functions/login.texi: New file.
4510         * doc/glibc-functions/mbrtoc16.texi: New file.
4511         * doc/glibc-functions/mbrtoc32.texi: New file.
4512         * doc/glibc-functions/name_to_handle_at.texi: New file.
4513         * doc/glibc-functions/ntp_gettimex.texi: New file.
4514         * doc/glibc-functions/open_by_handle_at.texi: New file.
4515         * doc/glibc-functions/prlimit.texi: New file.
4516         * doc/glibc-functions/process_vm_readv.texi: New file.
4517         * doc/glibc-functions/process_vm_writev.texi: New file.
4518         * doc/glibc-functions/recvmmsg.texi: New file.
4519         * doc/glibc-functions/scandirat.texi: New file.
4520         * doc/glibc-functions/sendmmsg.texi: New file.
4521         * doc/glibc-functions/setns.texi: New file.
4522         * doc/glibc-functions/timespec_get.texi: New file.
4523         * doc/gnulib.texi: Include them.
4524         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
4525         sections.
4526         Reported by Eric Blake.
4527
4528 2012-02-28  Bruno Haible  <bruno@clisp.org>
4529
4530         Avoid compilation errors with MSVC option -fp:strict.
4531         * lib/floor.c: Use MSVC specific pragma fenv_access.
4532         * lib/ceil.c: Likewise.
4533         * lib/trunc.c: Likewise.
4534         * lib/round.c: Likewise.
4535         * lib/rint.c: Likewise.
4536         * lib/fma.c: Likewise.
4537         * lib/integer_length.c: Likewise.
4538         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4539         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4540         * tests/test-floor2.c: Likewise.
4541         * tests/test-floorf2.c: Likewise.
4542         * tests/test-ceil2.c: Likewise.
4543         * tests/test-ceilf2.c: Likewise.
4544         * tests/test-trunc2.c: Likewise.
4545         * tests/test-truncf2.c: Likewise.
4546         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4547
4548 2012-02-27  Bruno Haible  <bruno@clisp.org>
4549
4550         Tests for module 'sqrtl-ieee'.
4551         * modules/sqrtl-ieee-tests: New file.
4552         * tests/test-sqrtl-ieee.c: New file.
4553
4554         New module 'sqrtl-ieee'.
4555         * modules/sqrtl-ieee: New file.
4556
4557         Tests for module 'sqrt-ieee'.
4558         * modules/sqrt-ieee-tests: New file.
4559         * tests/test-sqrt-ieee.c: New file.
4560
4561         New module 'sqrt-ieee'.
4562         * modules/sqrt-ieee: New file.
4563
4564         Tests for module 'sqrtf-ieee'.
4565         * modules/sqrtf-ieee-tests: New file.
4566         * tests/test-sqrtf-ieee.c: New file.
4567         * tests/test-sqrt-ieee.h: New file.
4568
4569         New module 'sqrtf-ieee'.
4570         * modules/sqrtf-ieee: New file.
4571
4572 2012-02-27  Bruno Haible  <bruno@clisp.org>
4573
4574         remainderl-ieee: Work around test failure on OSF/1.
4575         * m4/remainderl-ieee.m4: New file.
4576         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
4577         present, test whether remainderl works with a zero second argument.
4578         Replace it if not.
4579         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
4580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
4581         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
4582         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
4583         (Depends-on): Update conditions.
4584         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
4585         (Depends-on): Add remainder-ieee.
4586         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
4587         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
4588         module.
4589
4590         remainderf-ieee: Work around test failure on OSF/1.
4591         * m4/remainderf-ieee.m4: New file.
4592         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
4593         present, test whether remainderf works with a zero second argument.
4594         Replace it if not.
4595         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
4596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
4597         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
4598         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
4599         (Depends-on): Update conditions.
4600         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
4601         (Depends-on): Add remainder-ieee.
4602         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
4603         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
4604         module.
4605
4606         remainder-ieee: Work around test failure on OSF/1.
4607         * m4/remainder-ieee.m4: New file.
4608         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
4609         present, test whether remainder works with a zero second argument.
4610         Replace it if not.
4611         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
4612         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
4613         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
4614         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
4615         (Depends-on): Update dependencies.
4616         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
4617         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
4618         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
4619
4620         Tests for module 'remainderl-ieee'.
4621         * modules/remainderl-ieee-tests: New file.
4622         * tests/test-remainderl-ieee.c: New file.
4623
4624         New module 'remainderl-ieee'.
4625         * modules/remainderl-ieee: New file.
4626
4627         Tests for module 'remainder-ieee'.
4628         * modules/remainder-ieee-tests: New file.
4629         * tests/test-remainder-ieee.c: New file.
4630
4631         New module 'remainder-ieee'.
4632         * modules/remainder-ieee: New file.
4633
4634         Tests for module 'remainderf-ieee'.
4635         * modules/remainderf-ieee-tests: New file.
4636         * tests/test-remainderf-ieee.c: New file.
4637         * tests/test-remainder-ieee.h: New file.
4638
4639         New module 'remainderf-ieee'.
4640         * modules/remainderf-ieee: New file.
4641
4642 2012-02-27  Bruno Haible  <bruno@clisp.org>
4643
4644         modff, modfl: Fix configure syntax error.
4645         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
4646         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4647
4648 2012-02-27  Bruno Haible  <bruno@clisp.org>
4649
4650         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
4651         * m4/fmodl-ieee.m4: New file.
4652         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
4653         whether fmodl works with zero arguments. Replace it if not.
4654         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
4655         (Depends-on): Add fmod-ieee.
4656         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
4657         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
4658
4659         fmodf-ieee: Work around test failure on OSF/1.
4660         * m4/fmodf-ieee.m4: New file.
4661         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
4662         whether fmodf works with zero arguments. Replace it if not.
4663         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
4664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
4665         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
4666         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
4667         (Depends-on): Update dependencies.
4668         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
4669         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
4670         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
4671
4672         fmodf-ieee: Work around test failure on MSVC 9.
4673         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
4674         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
4675
4676         fmod-ieee: Work around test failures on OSF/1, mingw.
4677         * m4/fmod-ieee.m4: New file.
4678         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
4679         whether fmod works with zero arguments. Replace it if not.
4680         * lib/math.in.h (fmod): New declaration.
4681         * lib/fmod.c: New file.
4682         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
4683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
4684         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
4685         * modules/fmod (Files): Add lib/fmod.c.
4686         (Depends-on): Add math, isinf, trunc, fma.
4687         (configure.ac): Arrange to compile lib/fmod.c if needed.
4688         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
4689         m4/signbit.m4.
4690         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
4691         * tests/test-math-c++.cc: Check the declaration of fmod.
4692         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
4693
4694         fmodl-ieee: Fix test failures.
4695         * lib/fmodl.c (fmodl): Treat Inf specially.
4696         * modules/fmodl (Depends-on): Add isinf.
4697
4698         Tests for module 'fmodl-ieee'.
4699         * modules/fmodl-ieee-tests: New file.
4700         * tests/test-fmodl-ieee.c: New file.
4701
4702         New module 'fmodl-ieee'.
4703         * modules/fmodl-ieee: New file.
4704
4705         Tests for module 'fmod-ieee'.
4706         * modules/fmod-ieee-tests: New file.
4707         * tests/test-fmod-ieee.c: New file.
4708
4709         New module 'fmod-ieee'.
4710         * modules/fmod-ieee: New file.
4711
4712         Tests for module 'fmodf-ieee'.
4713         * modules/fmodf-ieee-tests: New file.
4714         * tests/test-fmodf-ieee.c: New file.
4715         * tests/test-fmod-ieee.h: New file.
4716
4717         New module 'fmodf-ieee'.
4718         * modules/fmodf-ieee: New file.
4719
4720 2012-02-27  Bruno Haible  <bruno@clisp.org>
4721
4722         Tests for module 'rintl-ieee'.
4723         * modules/rintl-ieee-tests: New file.
4724         * tests/test-rintl-ieee.c: New file.
4725
4726         New module 'rintl-ieee'.
4727         * modules/rintl-ieee: New file.
4728
4729         Tests for module 'rint-ieee'.
4730         * modules/rint-ieee-tests: New file.
4731         * tests/test-rint-ieee.c: New file.
4732
4733         New module 'rint-ieee'.
4734         * modules/rint-ieee: New file.
4735
4736         Tests for module 'rintf-ieee'.
4737         * modules/rintf-ieee-tests: New file.
4738         * tests/test-rintf-ieee.c: New file.
4739         * tests/test-rint-ieee.h: New file.
4740
4741         New module 'rintf-ieee'.
4742         * modules/rintf-ieee: New file.
4743
4744 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
4745
4746         regex: re_search etc. should return -2 when memory exhausted
4747         This bug was uncovered when testing 'grep'.  Without the fix,
4748         re_search and friends return -1 when memory is exhausted, but -1
4749         means no match, and this causes grep to falsely report no-match
4750         instead of memory-exhaustion.  See
4751         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
4752         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
4753         trouble; this can occur if re_search_internal ran out of memory.
4754
4755 2012-02-26  Bruno Haible  <bruno@clisp.org>
4756
4757         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
4758         * m4/modfl-ieee.m4: New file.
4759         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
4760         whether modfl works with Inf. Replace it if not.
4761         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
4762         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
4763         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
4764         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
4765         (Depends-on): Update dependencies.
4766         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4767         m4/signbit.m4.
4768         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4769         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4770
4771         modfl-ieee: Fix dependencies.
4772         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4773
4774         modfl-ieee: Fix test failures.
4775         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4776         * modules/modfl (Depends-on): Add isfinite, isinf.
4777
4778         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4779         * m4/modff-ieee.m4: New file.
4780         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4781         whether modff works with NaN and Inf. Replace it if not.
4782         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4783         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4784         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4785         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4786         (Depends-on): Update dependencies.
4787         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4788         m4/signbit.m4.
4789         (Depends-on): Add modf-ieee.
4790         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4791         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4792
4793         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4794         * m4/modf-ieee.m4: New file.
4795         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4796         whether modf works with NaN and Inf. Replace it if not.
4797         * lib/math.in.h (modf): New declaration.
4798         * lib/modf.c: New file.
4799         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4801         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4802         * modules/modf (Files): Add lib/modf.c.
4803         (Depends-on): Add math, isfinite, trunc, isinf.
4804         (configure.ac): Addrange to compile lib/modf.c if needed.
4805         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4806         m4/signbit.m4.
4807         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4808         * tests/test-math-c++.cc: Check the declaration of modf.
4809         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4810
4811         Tests for module 'modfl-ieee'.
4812         * modules/modfl-ieee-tests: New file.
4813         * tests/test-modfl-ieee.c: New file.
4814
4815         New module 'modfl-ieee'.
4816         * modules/modfl-ieee: New file.
4817
4818         Tests for module 'modf-ieee'.
4819         * modules/modf-ieee-tests: New file.
4820         * tests/test-modf-ieee.c: New file.
4821
4822         New module 'modf-ieee'.
4823         * modules/modf-ieee: New file.
4824
4825         Tests for module 'modff-ieee'.
4826         * modules/modff-ieee-tests: New file.
4827         * tests/test-modff-ieee.c: New file.
4828         * tests/test-modf-ieee.h: New file.
4829
4830         New module 'modff-ieee'.
4831         * modules/modff-ieee: New file.
4832
4833 2012-02-26  Bruno Haible  <bruno@clisp.org>
4834
4835         Tests for module 'fabsl-ieee'.
4836         * modules/fabsl-ieee-tests: New file.
4837         * tests/test-fabsl-ieee.c: New file.
4838
4839         New module 'fabsl-ieee'.
4840         * modules/fabsl-ieee: New file.
4841
4842         Tests for module 'fabs-ieee'.
4843         * modules/fabs-ieee-tests: New file.
4844         * tests/test-fabs-ieee.c: New file.
4845
4846         New module 'fabs-ieee'.
4847         * modules/fabs-ieee: New file.
4848
4849         Tests for module 'fabsf-ieee'.
4850         * modules/fabsf-ieee-tests: New file.
4851         * tests/test-fabsf-ieee.c: New file.
4852         * tests/test-fabs-ieee.h: New file.
4853
4854         New module 'fabsf-ieee'.
4855         * modules/fabsf-ieee: New file.
4856
4857 2012-02-26  Bruno Haible  <bruno@clisp.org>
4858
4859         Tests for module 'fmal-ieee'.
4860         * modules/fmal-ieee-tests: New file.
4861         * tests/test-fmal-ieee.c: New file.
4862
4863         New module 'fmal-ieee'.
4864         * modules/fmal-ieee: New file.
4865
4866         Tests for module 'fma-ieee'.
4867         * modules/fma-ieee-tests: New file.
4868         * tests/test-fma-ieee.c: New file.
4869
4870         New module 'fma-ieee'.
4871         * modules/fma-ieee: New file.
4872
4873         Tests for module 'fmaf-ieee'.
4874         * modules/fmaf-ieee-tests: New file.
4875         * tests/test-fmaf-ieee.c: New file.
4876         * tests/test-fma-ieee.h: New file.
4877
4878         New module 'fmaf-ieee'.
4879         * modules/fmaf-ieee: New file.
4880
4881 2012-02-26  Bruno Haible  <bruno@clisp.org>
4882
4883         Tests for module 'ldexpl-ieee'.
4884         * modules/ldexpl-ieee-tests: New file.
4885         * tests/test-ldexpl-ieee.c: New file.
4886
4887         New module 'ldexpl-ieee'.
4888         * modules/ldexpl-ieee: New file.
4889
4890         Tests for module 'ldexp-ieee'.
4891         * modules/ldexp-ieee-tests: New file.
4892         * tests/test-ldexp-ieee.c: New file.
4893
4894         New module 'ldexp-ieee'.
4895         * modules/ldexp-ieee: New file.
4896
4897         Tests for module 'ldexpf-ieee'.
4898         * modules/ldexpf-ieee-tests: New file.
4899         * tests/test-ldexpf-ieee.c: New file.
4900         * tests/test-ldexp-ieee.h: New file.
4901
4902         New module 'ldexpf-ieee'.
4903         * modules/ldexpf-ieee: New file.
4904
4905 2012-02-26  Bruno Haible  <bruno@clisp.org>
4906
4907         Refactor frexp*-ieee tests.
4908         * tests/test-frexp-ieee.h: New file.
4909         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4910         (main): Just call test_function.
4911         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4912         (main): Just call test_function.
4913         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4914         (main): Just call test_function.
4915         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4916         * modules/frexp-ieee-tests (Files): Likewise.
4917         * modules/frexpl-ieee-tests (Files): Likewise.
4918
4919         Tests for module 'frexpl-ieee'.
4920         * modules/frexpl-ieee-tests: New file.
4921         * tests/test-frexpl-ieee.c: New file.
4922
4923         New module 'frexpl-ieee'.
4924         * modules/frexpl-ieee: New file.
4925
4926         Tests for module 'frexp-ieee'.
4927         * modules/frexp-ieee-tests: New file.
4928         * tests/test-frexp-ieee.c: New file.
4929
4930         New module 'frexp-ieee'.
4931         * modules/frexp-ieee: New file.
4932
4933         Tests for module 'frexpf-ieee'.
4934         * modules/frexpf-ieee-tests: New file.
4935         * tests/test-frexpf-ieee.c: New file.
4936
4937         New module 'frexpf-ieee'.
4938         * modules/frexpf-ieee: New file.
4939
4940 2012-02-26  Bruno Haible  <bruno@clisp.org>
4941
4942         roundl-ieee tests: More tests.
4943         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4944         (main): Add tests for [MX] shaded specification in POSIX.
4945         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4946         (Depends-on): Add isnanl-nolibm.
4947
4948         round-ieee tests: More tests.
4949         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4950         (main): Add tests for [MX] shaded specification in POSIX.
4951         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4952         (Depends-on): Add isnand-nolibm.
4953
4954         roundf-ieee tests: More tests.
4955         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4956         (main): Add tests for [MX] shaded specification in POSIX.
4957         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4958         (Depends-on): Add isnanf-nolibm.
4959
4960         truncl-ieee tests: More tests.
4961         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4962         (main): Add tests for [MX] shaded specification in POSIX.
4963         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4964         (Depends-on): Add isnanl-nolibm.
4965
4966         trunc-ieee tests: More tests.
4967         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4968         (main): Add tests for [MX] shaded specification in POSIX.
4969         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4970         (Depends-on): Add isnand-nolibm.
4971
4972         truncf-ieee tests: More tests.
4973         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4974         (main): Add tests for [MX] shaded specification in POSIX.
4975         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4976         (Depends-on): Add isnanf-nolibm.
4977
4978         ceill-ieee tests: More tests.
4979         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4980         (main): Add tests for [MX] shaded specification in POSIX.
4981         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4982         (Depends-on): Add isnanl-nolibm.
4983
4984         ceil-ieee tests: More tests.
4985         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4986         (main): Add tests for [MX] shaded specification in POSIX.
4987         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4988         (Depends-on): Add isnand-nolibm.
4989
4990         ceilf-ieee tests: More tests.
4991         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4992         (main): Add tests for [MX] shaded specification in POSIX.
4993         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4994         (Depends-on): Add isnanf-nolibm.
4995
4996         floorl-ieee tests: More tests.
4997         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4998         (main): Add tests for [MX] shaded specification in POSIX.
4999         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5000         (Depends-on): Add isnanl-nolibm.
5001
5002         floor-ieee tests: More tests.
5003         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5004         (main): Add tests for [MX] shaded specification in POSIX.
5005         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5006         (Depends-on): Add isnand-nolibm.
5007
5008         floorf-ieee tests: More tests.
5009         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5010         (main): Add tests for [MX] shaded specification in POSIX.
5011         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5012         (Depends-on): Add isnanf-nolibm.
5013
5014 2012-02-26  Bruno Haible  <bruno@clisp.org>
5015
5016         fpieee: More comments.
5017         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
5018
5019 2012-02-25  Bruno Haible  <bruno@clisp.org>
5020
5021         Tests for module 'log10l'.
5022         * modules/log10l-tests: New file.
5023         * tests/test-log10l.c: New file.
5024         * tests/test-math-c++.cc: Check the declaration of log10l.
5025
5026         New module 'log10l'.
5027         * lib/math.in.h (log10l): New declaration.
5028         * lib/log10l.c: New file.
5029         * m4/log10l.m4: New file.
5030         * modules/log10l: New file.
5031         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
5032         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
5033         HAVE_DECL_LOG10L.
5034         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
5035         HAVE_DECL_LOG10L.
5036         * doc/posix-functions/log10l.texi: Mention the new module.
5037
5038 2012-02-25  Bruno Haible  <bruno@clisp.org>
5039
5040         fmodl, remainder*: Avoid wrong results due to rounding errors.
5041         * lib/fmodl.c (fmodl): Correct the result if it is not within the
5042         expected bounds.
5043         * lib/remainderf.c (remainderf): Likewise.
5044         * lib/remainder.c (remainder): Likewise.
5045         * lib/remainderl.c (remainderl): Likewise.
5046
5047 2012-02-25  Bruno Haible  <bruno@clisp.org>
5048
5049         Tests for module 'remainderl'.
5050         * modules/remainderl-tests: New file.
5051         * tests/test-remainderl.c: New file.
5052         * tests/test-math-c++.cc: Check the declaration of remainderl.
5053
5054         New module 'remainderl'.
5055         * lib/math.in.h (remainderl): New declaration.
5056         * lib/remainderl.c: New file.
5057         * m4/remainderl.m4: New file.
5058         * modules/remainderl: New file.
5059         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
5060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
5061         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
5062         HAVE_REMAINDERL.
5063         * doc/posix-functions/remainderl.texi: Mention the new module.
5064
5065 2012-02-25  Bruno Haible  <bruno@clisp.org>
5066
5067         Tests for module 'remainderf'.
5068         * modules/remainderf-tests: New file.
5069         * tests/test-remainderf.c: New file.
5070         * tests/test-math-c++.cc: Check the declaration of remainderf.
5071
5072         New module 'remainderf'.
5073         * lib/math.in.h (remainderf): New declaration.
5074         * lib/remainderf.c: New file.
5075         * m4/remainderf.m4: New file.
5076         * modules/remainderf: New file.
5077         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
5078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
5079         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
5080         HAVE_REMAINDERF.
5081         * doc/posix-functions/remainderf.texi: Mention the new module.
5082
5083 2012-02-25  Bruno Haible  <bruno@clisp.org>
5084
5085         remainder: Support for MSVC.
5086         * lib/math.in.h (remainder): New declaration.
5087         * lib/remainder.c: New file.
5088         * m4/remainder.m4: New file.
5089         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
5090         (Depends-on): Add math, round, fma.
5091         (configure.ac): Use results of gl_FUNC_REMAINDER.
5092         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
5093         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
5094         HAVE_DECL_REMAINDER.
5095         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
5096         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
5097         * tests/test-math-c++.cc: Check the declaration of remainder.
5098         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
5099         problems are fixed.
5100
5101 2012-02-25  Bruno Haible  <bruno@clisp.org>
5102
5103         Tests for module 'fmodl'.
5104         * modules/fmodl-tests: New file.
5105         * tests/test-fmodl.c: New file.
5106         * tests/test-math-c++.cc: Check the declaration of fmodl.
5107
5108         New module 'fmodl'.
5109         * lib/math.in.h (fmodl): New declaration.
5110         * lib/fmodl.c: New file.
5111         * m4/fmodl.m4: New file.
5112         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
5113         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
5114         REPLACE_FMODL.
5115         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
5116         REPLACE_FMODL.
5117         * modules/fmodl: New file.
5118         * doc/posix-functions/fmodl.texi: Mention the new module.
5119
5120 2012-02-25  Bruno Haible  <bruno@clisp.org>
5121
5122         Tests for module 'modfl'.
5123         * modules/modfl-tests: New file.
5124         * tests/test-modfl.c: New file.
5125         * tests/test-math-c++.cc: Check the declaration of modfl.
5126
5127         New module 'modfl'.
5128         * lib/math.in.h (modfl): New declaration.
5129         * lib/modfl.c: New file.
5130         * m4/modfl.m4: New file.
5131         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
5132         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
5133         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
5134         * modules/modfl: New file.
5135         * doc/posix-functions/modfl.texi: Mention the new module.
5136
5137 2012-02-25  Bruno Haible  <bruno@clisp.org>
5138
5139         Tests for module 'fabsl'.
5140         * modules/fabsl-tests: New file.
5141         * tests/test-fabsl.c: New file.
5142         * tests/test-math-c++.cc: Check the declaration of fabsl.
5143
5144         New module 'fabsl'.
5145         * lib/math.in.h (fabsl): New declaration.
5146         * lib/fabsl.c: New file.
5147         * m4/fabsl.m4: New file.
5148         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
5149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
5150         REPLACE_FABSL.
5151         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
5152         REPLACE_FABSL.
5153         * modules/fabsl: New file.
5154         * doc/posix-functions/fabsl.texi: Mention the new module.
5155
5156 2012-02-25  Bruno Haible  <bruno@clisp.org>
5157
5158         fabs tests: More tests.
5159         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5160         (zero): New variable.
5161         (main): Add tests for signed zero.
5162         * modules/fabs-tests (Files): Add tests/minus-zero.h.
5163
5164         fabsf tests: More tests.
5165         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
5166         (zero): New variable.
5167         (main): Add tests for signed zero.
5168         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
5169
5170 2012-02-24  Bruno Haible  <bruno@clisp.org>
5171
5172         atanl: Provide function definition on MSVC.
5173         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
5174         function pointer.
5175         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
5176
5177 2012-02-24  Bruno Haible  <bruno@clisp.org>
5178
5179         acosl: Provide function definition on MSVC.
5180         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
5181         function pointer.
5182         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
5183
5184 2012-02-24  Bruno Haible  <bruno@clisp.org>
5185
5186         asinl: Provide function definition on MSVC.
5187         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
5188         function pointer.
5189         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
5190
5191 2012-02-24  Bruno Haible  <bruno@clisp.org>
5192
5193         tanl: Provide function definition on MSVC.
5194         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
5195         function pointer.
5196         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
5197
5198 2012-02-24  Bruno Haible  <bruno@clisp.org>
5199
5200         cosl: Provide function definition on MSVC.
5201         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
5202         function pointer.
5203         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
5204
5205 2012-02-24  Bruno Haible  <bruno@clisp.org>
5206
5207         sinl: Provide function definition on MSVC.
5208         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
5209         function pointer.
5210         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
5211
5212 2012-02-24  Bruno Haible  <bruno@clisp.org>
5213
5214         logl: Provide function definition on MSVC.
5215         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
5216         function pointer.
5217         * lib/math.in.h (logl): Undefine if it does not exist as a function.
5218
5219 2012-02-24  Bruno Haible  <bruno@clisp.org>
5220
5221         expl: Provide function definition on MSVC.
5222         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
5223         function pointer.
5224         * lib/math.in.h (expl): Undefine if it does not exist as a function.
5225
5226 2012-02-24  Bruno Haible  <bruno@clisp.org>
5227
5228         sqrtl: Provide function definition on MSVC.
5229         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
5230         a function pointer.
5231         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
5232
5233 2012-02-24  Bruno Haible  <bruno@clisp.org>
5234
5235         ceill: Provide function definition on MSVC.
5236         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
5237         used as a function pointer.
5238         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
5239
5240 2012-02-24  Bruno Haible  <bruno@clisp.org>
5241
5242         floorl: Provide function definition on MSVC.
5243         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
5244         used as a function pointer.
5245         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
5246
5247 2012-02-24  Bruno Haible  <bruno@clisp.org>
5248
5249         ceilf: Provide function definition on MSVC.
5250         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
5251         used as a function pointer.
5252         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
5253
5254 2012-02-24  Bruno Haible  <bruno@clisp.org>
5255
5256         floorf: Provide function definition on MSVC.
5257         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
5258         used as a function pointer.
5259         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
5260
5261 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5262
5263         stdnoreturn: new module
5264         This implements a replacement for C11's <stdnoreturn.h>.
5265         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
5266         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
5267         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5268         * tests/test-stdnoreturn.c: New files.
5269
5270 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
5271
5272         regex: fix false multibyte matches in some regular expressions
5273         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
5274         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
5275         * lib/regex_internal.c (re_string_skip_chars):
5276         Fix miscomputation of remain_len that may cause incomplete
5277         multi-byte character and false match.
5278
5279 2012-02-24  Jim Meyering  <meyering@redhat.com>
5280
5281         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
5282         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
5283         uses with "==" *before* the call, e.g., 0 == strcmp (...)
5284         Remove now-unnecessary str''cmp obfuscation.
5285         Suggested by Akim Demaille.
5286
5287 2012-02-24  Bruno Haible  <bruno@clisp.org>
5288
5289         streq: Rename macro.
5290         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
5291         * NEWS: Mention the change.
5292         * lib/mbrtowc.c (mbrtowc): Update.
5293         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
5294         * lib/wcwidth.c (wcwidth): Update.
5295         Suggested by Akim Demaille and Jim Meyering.
5296
5297 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5298
5299         regex: fix typo in definition of MIN
5300         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
5301         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
5302
5303 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5304             Bruno Haible  <bruno@clisp.org>
5305
5306         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
5307         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
5308         entries into a stack-allocated buffer directly.
5309         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
5310
5311 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5312             Bruno Haible  <bruno@clisp.org>
5313
5314         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
5315
5316          - There were several instances of this pattern:
5317
5318              for (;;) {
5319                n = acl (f, GETACLCNT, 0, NULL);
5320                [ allocate an array A of size N ]
5321                if (acl (f, GETACL, n, a) == n)
5322                  break;
5323              }
5324
5325            This loop might never terminate if some other process is constantly
5326            manipulating the file's ACL.  The loop should be rewritten to
5327            terminate.
5328
5329          - The acl (... GETACLNT ...) call is merely an optimization; its value
5330            is merely a hint as to how big to make the array.  A better
5331            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
5332            and just guess a reasonably-big size, growing the size and trying
5333            again if it's not large enough.  This guarantees termination, and
5334            saves a system call.
5335
5336         * lib/acl-internal.h: Include <limits.h>.
5337         (MIN, SIZE_MAX): New macros.
5338         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
5339         a stack-allocated buffer, and use malloc if it does not fit. Don't
5340         use GETACLCNT.
5341         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5342
5343 2012-02-19  Bruno Haible  <bruno@clisp.org>
5344
5345         acl: Fix endless loop on Solaris with vxfs.
5346         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5347         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5348         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5349         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5350         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5351         Reported by Bill Jones in
5352         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5353
5354 2012-02-19  Bruno Haible  <bruno@clisp.org>
5355
5356         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5357         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5358         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5359         that this function returns 0 in some more cases.
5360
5361 2012-02-19  Bruno Haible  <bruno@clisp.org>
5362
5363         acl: Update doc references.
5364         * doc/acl-resources.txt: Update links to Solaris documentation.
5365
5366 2012-02-19  Bruno Haible  <bruno@clisp.org>
5367
5368         Fix test failure in many locales on Solaris 11.
5369         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5370         'tr' arguments.
5371         * tests/test-pipe-filter-ii1.c (main): Likewise.
5372         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5373         expressions in the C locale.
5374         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5375         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5376
5377 2012-02-19  Bruno Haible  <bruno@clisp.org>
5378
5379         gnulib-tool: Improve usage message.
5380         * gnulib-tool (func_usage): Move doc of --help and --version to the
5381         section "Operation modes".
5382
5383 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5384
5385         README-release: make it easier to execute commands
5386         * top/README-release: break commands out on to separate lines.
5387
5388 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5389
5390         GNUmakefile: simplify detection of unconfigured trees
5391         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5392         whether the tree make is being run from is already configured or
5393         not.  Related simplifications.
5394
5395 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5396
5397         * gnulib-tool (func_usage): Document --help and --version.
5398
5399 2012-02-11  Jim Meyering  <meyering@redhat.com>
5400
5401         bootstrap: don't exit 0 upon gnulib-tool failure
5402         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
5403         its exit status, not 0.
5404
5405 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
5406
5407         README-release: various improvements
5408         * top/README-release: Give a command to push changes for the
5409         release.  Add "distcheck" to list of other pre-release checks.
5410         Fix instance of "make stable" which should be "make TYPE".
5411
5412 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5413
5414         maint: replace FSF snail-mail addresses with URLs
5415         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
5416         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
5417         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
5418         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
5419         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
5420         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
5421         * lib/check-version.c, lib/check-version.h, lib/config.charset:
5422         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
5423         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
5424         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
5425         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
5426         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
5427         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
5428         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
5429         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
5430         * lib/glthread/thread.c, lib/glthread/thread.h:
5431         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
5432         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
5433         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
5434         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
5435         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
5436         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
5437         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
5438         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
5439         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
5440         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
5441         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
5442         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
5443         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
5444         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
5445         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
5446         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
5447         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
5448         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
5449         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
5450         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
5451         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
5452         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
5453         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
5454         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
5455         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
5456         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
5457         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
5458         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
5459         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
5460         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
5461         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
5462         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
5463         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
5464         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
5465         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
5466         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
5467         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
5468         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
5469         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
5470         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
5471         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
5472         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
5473         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
5474         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
5475         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
5476         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
5477         * tests/test-poll.c, tests/test-quotearg-simple.c:
5478         * tests/test-quotearg.c, tests/test-quotearg.h:
5479         * tests/test-round-ieee.c, tests/test-round1.c:
5480         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
5481         * tests/test-roundl-ieee.c, tests/test-roundl.c:
5482         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
5483         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
5484         * tests/test-strerror.c, tests/test-strerror_r.c:
5485         * tests/test-strsignal.c, tests/test-strverscmp.c:
5486         * tests/test-xmemdup0.c:
5487         Replace FSF snail mail addresses with URLs, as per GNU coding
5488         standards.  See glibc bug
5489         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
5490
5491 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5492
5493         README-release: capitalize a word and split a line
5494         * top/README-release: Fix punctuation and spacing.
5495
5496 2012-02-08  Akim Demaille  <demaille@gostai.com>
5497
5498         fatal-signal: use C prototypes (with explicit void).
5499         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
5500         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
5501
5502 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5503
5504         regex: spelling fix
5505         * lib/regexec.c: spelling fix
5506
5507         regex: rely on stdint.h for SIZE_MAX
5508         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
5509
5510 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5511
5512         regex: merge glibc changes
5513
5514         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
5515         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
5516         (init_word_char): Work even if bitset words are not exactly 32 or
5517         64 bits wide.  Don't assume there are no padding bits.
5518         * lib/regex.c [_LIBC]: Do not include <config.h>.
5519         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
5520         and -Wtype-limits.
5521         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
5522         needless disagreement with glibc.  All uses changed.  Define it to
5523         1 only if _GNU_SOURCE, to match glibc.
5524         (_REG_RM_NAME): Remove; no longer needed, since the names in
5525         question are now all protected by __USE_GNU.
5526         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
5527         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
5528         * lib/regex_internal.h (MIN): New macro.
5529
5530         2012-01-03 Ulrich Drepper <drepper@gmail.com>
5531         * lib/regcomp.c (init_word_char): Optimize regex a bit.
5532
5533         2011-12-30 Jakub Jelinek <jakub@redhat.com>
5534         * lib/regex_internal.c (re_string_fetch_byte_case):
5535         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
5536         is miscompiled, and it turns out it is because of an incorrect
5537         attribute on re_string_fetch_byte_case.  Unlike
5538         re_string_peek_byte_case, this one is really not pure, it modifies
5539         memory (increments pstr->cur_idx), and with the pure attribute GCC
5540         assumed it doesn't and it cached the presumed value of
5541         regexp->cur_idx in a variable across the
5542          for (;; ++i)
5543            {
5544              if (i >= BRACKET_NAME_BUF_SIZE)
5545                return REG_EBRACK;
5546              if (token->type == OP_OPEN_CHAR_CLASS)
5547                ch = re_string_fetch_byte_case (regexp);
5548              else
5549                ch = re_string_fetch_byte (regexp);
5550              if (re_string_eoi(regexp))
5551                return REG_EBRACK;
5552              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
5553                break;
5554              elem->opr.name[i] = ch;
5555            }
5556
5557         2011-11-29 Andreas Schwab <schwab@redhat.com>
5558         * lib/regcomp.c (build_equiv_class):
5559         Fix access after end of search string in regex matcher.
5560
5561         2011-11-12 Ulrich Drepper <drepper@redhat.com>
5562         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
5563
5564         2011-10-12 Ulrich Drepper <drepper@redhat.com>
5565         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
5566
5567         2011-10-11 Ulrich Drepper <drepper@redhat.com>
5568         * lib/regcomp.c (parse_branch, parse_sub_exp):
5569         More regex memory leak fixes and tests.
5570         (parse_sub_exp, parse_bracket_exp):
5571         Fix memory leak for some invalid regular expressions.
5572
5573         2011-05-28 Ulrich Drepper <drepper@gmail.com>
5574         * lib/regex_internal.c, lib/regexec.c:
5575         Fix unnecessary overallocation due to incomplete character.  When
5576         incomplete characters are found at the end of a string the code
5577         ran amok and allocated lots of memory.  Stricter limits are now in
5578         place.
5579
5580         2011-05-20 Reuben Thomas <rrt@sc3d.org>
5581         * lib/regex.h: Update documentation.
5582
5583         2011-05-16 Aharon Robbins <arnold@skeeve.com>
5584         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
5585
5586         2010-05-05 Andreas Schwab <schwab@redhat.com>
5587         * lib/regexec.c (find_collation_sequence_value):
5588         Fix lookup of collation sequence value during regexp matching.
5589
5590         2010-01-22 Ulrich Drepper <drepper@redhat.com>
5591         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
5592
5593         2008-01-16 Ulrich Drepper <drepper@redhat.com>
5594         * lib/regex.h: Cleanup namespace.
5595
5596         2007-11-26 Ulrich Drepper <drepper@redhat.com>
5597         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
5598
5599         2007-08-26 Ulrich Drepper <drepper@redhat.com>
5600         * lib/regex_internal.h: Prevent some declarations and definitions
5601         to be seen when used in tests.
5602
5603         2005-05-06 Ulrich Drepper <drepper@redhat.com>
5604         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
5605         __libc_lock_* macros if not _LIBC.
5606         (struct re_dfa_t): Add lock.
5607
5608 2012-02-07  Eric Blake  <eblake@redhat.com>
5609
5610         maint.mk: also prohibit lower-case @var@
5611         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
5612         lower case, like @top_srcdir@.
5613
5614 2012-02-04  Eric Blake  <eblake@redhat.com>
5615
5616         canonicalize: avoid uninitialized memory use
5617         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
5618         random '/' left in dest.
5619         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
5620
5621 2012-02-04  Bruno Haible  <bruno@clisp.org>
5622
5623         isatty: Fix test failure of ptsname_r on native Windows.
5624         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
5625         and don't set errno.
5626         (isatty): Test first whether fd is valid. Set errno when returning 0.
5627
5628 2012-02-04  Bruno Haible  <bruno@clisp.org>
5629
5630         spawn-pipe tests: Fix a NULL program name in a diagnostic.
5631         * tests/test-spawn-pipe-main.c: Include progname.h.
5632         (main): Invoke set_program_name.
5633         * modules/spawn-pipe-tests (Depends-on): Add progname.
5634
5635         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
5636         * tests/test-nonblocking-socket-main.c: Include progname.h.
5637         (main): Invoke set_program_name.
5638         * modules/nonblocking-socket-tests (Depends-on): Add progname.
5639
5640         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
5641         * tests/test-nonblocking-pipe-main.c: Include progname.h.
5642         (main): Invoke set_program_name.
5643         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
5644
5645 2012-02-04  Eric Blake  <eblake@redhat.com>
5646
5647         canonicalize-lgpl: fix // handling
5648         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
5649
5650         canonicalize: fix // handling
5651         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
5652         /// to //, since only // is special.
5653
5654 2012-02-04  Bruno Haible  <bruno@clisp.org>
5655
5656         ioctl: Fix test failure on native Windows.
5657         * lib/ioctl.c: Include msvc-nothrow.h.
5658         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
5659
5660 2012-02-04  Bruno Haible  <bruno@clisp.org>
5661
5662         fsync: Avoid test failure on native Windows.
5663         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
5664         read-only.
5665
5666 2012-02-04  Bruno Haible  <bruno@clisp.org>
5667
5668         sys_select: Avoid syntax error on OpenBSD 5.0.
5669         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
5670         currently being included, just include the system's <sys/select.h>.
5671
5672 2012-02-04  Bruno Haible  <bruno@clisp.org>
5673
5674         sys_select: Avoid syntax error on OpenBSD 5.0.
5675         * lib/sys_select.in.h: Include <signal.h> only after the include_next
5676         <sys/select.h>, not before.
5677         Reported by Jiri B <jirib@devio.us>.
5678
5679 2012-02-04  Bruno Haible  <bruno@clisp.org>
5680
5681         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
5682         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
5683         global variables.
5684         * tests/test-get-rusage-data.c (main): Likewise.
5685         Reported by Jim Meyering.
5686
5687 2012-02-04  Bruno Haible  <bruno@clisp.org>
5688
5689         stdioext: Fix last commit.
5690         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
5691
5692 2012-02-03  Bruno Haible  <bruno@clisp.org>
5693
5694         stdioext: Add tentative support for Plan9.
5695         * lib/stdio-impl.h: Include <errno.h>.
5696         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
5697         * lib/freadable.c (freadable): Likewise.
5698         * lib/fwritable.c (fwritable): Likewise.
5699         * lib/fbufmode.c (fbufmode): Likewise.
5700         * lib/freading.c (freading): Likewise.
5701         * lib/fwriting.c (fwriting): Likewise.
5702         * lib/freadptr.c (freadptr): Likewise.
5703         * lib/freadseek.c (freadptrinc): Likewise.
5704         * lib/freadahead.c (freadahead): Likewise.
5705         * lib/fpurge.c (fpurge): Likewise.
5706         * lib/fseeko.c (rpl_fseeko): Likewise.
5707         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
5708         Reported by Jens Staal <staal1978@gmail.com>.
5709
5710 2012-02-02  Jim Meyering  <meyering@redhat.com>
5711
5712         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
5713         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
5714         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
5715         not even to try to add the attribute.  Instead, add a pragma to suppress
5716         the suggestion/warning.
5717
5718 2012-01-31  Karl Berry  <karl@gnu.org>
5719
5720         setstate doc: typo.
5721         * doc/posix-functions/setstate.texi (setstate): { not (.
5722
5723 2012-01-31  Bruno Haible  <bruno@clisp.org>
5724
5725         popen: Make more robust on Windows.
5726         * lib/popen.c: On native Windows, use the _popen based code even if
5727         HAVE_POPEN is set.
5728         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
5729         environment variable on native Windows.
5730
5731 2012-01-30  Bruno Haible  <bruno@clisp.org>
5732
5733         pclose: Fix typo.
5734         * lib/stdio.in.h (pclose): Fix typo in warning message.
5735
5736 2012-01-30  Bruno Haible  <bruno@clisp.org>
5737
5738         doc about getlogin_r, setstate.
5739         * doc/posix-functions/getlogin_r.texi: List the incompatible
5740         declaration problem under "not fixed by gnulib".
5741         * doc/posix-functions/setstate.texi: Mention incompatible declaration
5742         problem on Solaris 11 and other platforms.
5743
5744 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
5745             Bruno Haible  <bruno@clisp.org>
5746
5747         poll tests: Make test more robust.
5748         * tests/test-poll.c: Include macros.h.
5749         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
5750         return value of various I/O operations.
5751         * modules/poll-tests (Files): Add tests/macros.h.
5752
5753 2012-01-30  Bruno Haible  <bruno@clisp.org>
5754
5755         sys_stat: Fix support for mingw64 and MSVC.
5756         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
5757         header files already do it.
5758         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
5759         stat itself.
5760         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5761
5762 2012-01-30  Bruno Haible  <bruno@clisp.org>
5763
5764         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
5765         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
5766         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5767
5768 2012-01-29  Bruno Haible  <bruno@clisp.org>
5769
5770         quotearg: Fix test failure on MacOS X 10.5.
5771         * tests/test-quotearg-simple.c: Include localcharset.h.
5772         (main): If the locale encoding is not ASCII, bypass the tests of
5773         locale_quoting_style and clocale_quoting_style.
5774         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5775
5776 2012-01-29  Jim Meyering  <meyering@redhat.com>
5777
5778         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5779         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5780         detect uses of canonicalize_file_name.
5781
5782 2012-01-28  Bruno Haible  <bruno@clisp.org>
5783
5784         test-framework-sh: Fix test failure with AIX 7.1 diff.
5785         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5786         in column 1, like 'diff -c' does.
5787         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5788         whether 'diff -u' is used. Instead, test whether the output contains
5789         some '@' character.
5790
5791 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5792
5793         strtoimax: eliminate need for stdint.h, inttypes.h checks
5794         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5795         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5796         the prerequisites for a recently-introduced strtoimax test.
5797         I guess this might cause strtoimax to be replaced when not
5798         strictly necessary on older hosts, but this shouldn't introduce
5799         any bugs and it should make Emacs 'configure' faster on typical
5800         modern hosts.  Problem discovered when importing the latest gnulib
5801         to an Emacs test version.
5802         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5803
5804 2012-01-28  Bruno Haible  <bruno@clisp.org>
5805
5806         sys_time: Override 'struct timeval' on some native Windows platforms.
5807         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5808         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5809         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5810         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5811         needs to be overridden.
5812         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5813         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5814         * tests/test-sys_select.c: Check that the tv_sec member has the same
5815         size as a 'time_t'.
5816         * tests/test-sys_time.c: Likewise.
5817         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5818         is set, set also REPLACE_GETTIMEOFDAY.
5819         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5820         convert the resulting 'struct timeval' before returning.
5821         * lib/select.c: Include <sys/time.h>.
5822         (select, timeval): Undefine at the right place.
5823         * modules/select (Depends-on): Add sys_time.
5824         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5825         some Windows platforms.
5826         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5827
5828 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5829
5830         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5831         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5832         an integer.
5833         * lib/fcntl.c (dupfd): Likewise.
5834         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5835
5836 2012-01-28  Bruno Haible  <bruno@clisp.org>
5837
5838         fcntl: Avoid compilation error on native Windows.
5839         * modules/fcntl (Depends-on): Add 'close'.
5840
5841 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5842
5843         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5844         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5845         pointer to an integer.
5846         * lib/poll.c (IsConsoleHandle): Likewise.
5847         * lib/isatty.c (IsConsoleHandle): Likewise.
5848
5849 2012-01-28  Jim Meyering  <meyering@redhat.com>
5850
5851         doc: clarify README-release
5852         * top/README-release: Clarify: you should make a point to have
5853         the latest stable versions of build tools in your PATH, and the
5854         reference to buildreq is solely for its list of tool names, not
5855         for its minimal-functional version numbers.
5856         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5857
5858         maint.mk: use more readable (yet functionally equivalent) quoting
5859         It is common to quote a single quote in a single quoted string like
5860         this:  '...'\''...'.  Unless you know the idiom, that looks like
5861         gibberish, so prefer to double-quote the string when possible.
5862         Then you can use a more readable, lone single quote: "...'..."
5863         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5864         "don't" is more readable than the equivalent 'don'\''t'.
5865         (sc_cast_of_x_alloc_return_value): Likewise.
5866         (sc_cast_of_alloca_return_value): Likewise.
5867         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5868         rather than '\'':'\''.
5869
5870 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5871
5872         stdalign: relax _Alignof and tighten _Alignas test
5873         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5874         as it was too strict: alignof must divide offsetof, but it need
5875         not equal offsetof.  Inspired by Joseph S. Myers's comment
5876         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5877         Conversely, tighten the _Alignas test a bit, as the resulting
5878         alignment must be exactly 8.
5879
5880 2012-01-27  Bruno Haible  <bruno@clisp.org>
5881
5882         stdalign: Document the last change.
5883         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5884
5885 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5886
5887         stdalign: check that alignof and offsetof are consistent
5888         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5889         Problem reported for gnulib by Richard W.M. Jones in
5890         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5891
5892 2012-01-27  Jim Meyering  <meyering@redhat.com>
5893
5894         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5895         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5896         convert a sequence with gaps to the minimal containing range.
5897         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5898         * tests/test-update-copyright.sh: Test for this.
5899         The FSF confirmed it is ok to do this, assuming there is at
5900         least one significant change per year in the affected range:
5901         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5902
5903 2012-01-26  Bruno Haible  <bruno@clisp.org>
5904
5905         pipe2: refine doc about thread-safety
5906         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5907         multithread-safety problem.
5908         * doc/glibc-functions/accept4.texi: Likewise.
5909
5910 2012-01-26  Bruno Haible  <bruno@clisp.org>
5911
5912         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5913         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5914         In the test program, include <fcntl.h>, for O_RDONLY.
5915
5916 2012-01-26  Eric Blake  <eblake@redhat.com>
5917
5918         pipe2: document lack of thread-safety in replacement
5919         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5920         issue in replacement.
5921         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5922         Based on a report by Eric Wong.
5923
5924 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5925             Bruno Haible  <bruno@clisp.org>
5926
5927         malloca: Avoid warnings on x86_64 mingw64.
5928         * lib/malloca.c: Include <stdint.h>.
5929         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5930         * modules/malloca (Depends-on): Add stdint.
5931         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5932
5933 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5934
5935         obstack: remove __STDC__ conditionals
5936         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5937         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
5938         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
5939         m4/include_next.m4 as the only gnulib-maintained places that still
5940         refer to __STDC__.
5941
5942 2012-01-24  Bruno Haible  <bruno@clisp.org>
5943
5944         havelib: Modern quoting.
5945         * build-aux/config.rpath: Quote 'like this', not `like this', as per
5946         the recent change to the GNU coding standards.
5947
5948 2012-01-24  Bruno Haible  <bruno@clisp.org>
5949
5950         stdint: Improve support for Android.
5951         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
5952         Reported by Simon Josefsson <simon@josefsson.org>.
5953
5954 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5955
5956         doc: omit trailing empty lines from INSTALL etc.
5957         * doc/Makefile (INSTALL): Omit trailing empty lines.
5958         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
5959         omit trailing empty lines.  This simplifies the build procedure.
5960
5961 2012-01-23  Jim Meyering  <meyering@redhat.com>
5962
5963         tests: avoid spurious warnings about gl_sockets_startup
5964         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
5965         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
5966         reporting a "statement with no effect".
5967         * tests/test-accept.c (main): Mark as "(void)".
5968         * tests/test-accept4.c (main): Likewise.
5969         * tests/test-bind.c (main): Likewise.
5970         * tests/test-connect.c (main): Likewise.
5971         * tests/test-getpeername.c (main): Likewise.
5972         * tests/test-getsockname.c (main): Likewise.
5973         * tests/test-getsockopt.c (main): Likewise.
5974         * tests/test-listen.c (main): Likewise.
5975         * tests/test-recv.c (main): Likewise.
5976         * tests/test-recvfrom.c (main): Likewise.
5977         * tests/test-send.c (main): Likewise.
5978         * tests/test-sendto.c (main): Likewise.
5979         * tests/test-setsockopt.c (main): Likewise.
5980         * tests/test-shutdown.c (main): Likewise.
5981
5982 2012-01-21  Bruno Haible  <bruno@clisp.org>
5983
5984         locale-fr.m4: Fix for Android.
5985         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5986         failure of the test program on Bionic libc.
5987
5988 2012-01-21  Jim Meyering  <meyering@redhat.com>
5989
5990         bootstrap: fail when bootstrap_post_import_hook fails
5991         Otherwise, it's far too easy to miss diagnostics emitted
5992         between gnulib-tool's output and that of running configure.
5993         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5994
5995 2012-01-17  Jim Meyering  <meyering@redhat.com>
5996
5997         maint: enable sc_trailing_blank
5998         * build-aux/pmccabe.css: Remove trailing blanks.
5999         * doc/acl-cygwin.txt: Likewise.
6000         * doc/gnu-oids.texi: Likewise
6001         * cfg.mk: Enable sc_trailing_blank.
6002         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
6003
6004 2012-01-17  Jim Meyering  <meyering@redhat.com>
6005
6006         maint: enable sc_prohibit_openat_without_use
6007         * cfg.mk: Enable sc_prohibit_openat_without_use.
6008         Exempt lib/selinux-at.c.
6009
6010 2012-01-17  Jim Meyering  <meyering@redhat.com>
6011
6012         maint: enable sc_prohibit_cloexec_without_use
6013         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
6014         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
6015
6016 2012-01-17  Jim Meyering  <meyering@redhat.com>
6017
6018         maint: enable sc_prohibit_intprops_without_use
6019         * cfg.mk: Enable sc_prohibit_intprops_without_use
6020         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
6021
6022 2012-01-17  Jim Meyering  <meyering@redhat.com>
6023
6024         maint: enable sc_prohibit_hash_pjw_without_use
6025         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
6026         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
6027         to match any use of \<hash_pjw\>, i.e., not necessarily with a
6028         following " (".
6029
6030 2012-01-17  Jim Meyering  <meyering@redhat.com>
6031
6032         maint: enable double-word-prohibiting rule
6033         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
6034         Exempt three files.
6035
6036 2012-01-17  Jim Meyering  <meyering@redhat.com>
6037
6038         maint: remove empty lines at EOF, but excluding modules/*
6039         Apply syntax rules at home as well as abroad.  Most changes
6040         were induced by running this:
6041           make srcdir=. _build-aux=build-aux -f top/maint.mk \
6042             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
6043             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
6044         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
6045         Exempt modules/* and two binary files.
6046         Also exempt doc/INSTALL*, per request from Bruno Haible.
6047         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
6048         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
6049         * doc/Copyright/request-assign.future: Likewise.
6050         * doc/Copyright/request-disclaim.changes: Likewise.
6051         * doc/INSTALL: Likewise.
6052         * doc/INSTALL.ISO: Likewise.
6053         * doc/INSTALL.UTF-8: Likewise.
6054         * doc/acl-cygwin.txt: Likewise.
6055         * doc/acl-resources.txt: Likewise.
6056         * doc/fdl-1.2.texi: Likewise.
6057         * doc/fdl-1.3.texi: Likewise.
6058         * doc/fdl.texi: Likewise.
6059         * lib/argp-pin.c: Likewise.
6060         * lib/round.c: Likewise.
6061         * lib/unicase/u16-totitle.c: Likewise.
6062         * lib/unictype/block_test.c: Likewise.
6063         * lib/uninorm/canonical-decomposition.c: Likewise.
6064         * m4/README: Likewise.
6065         * m4/relocatable-lib.m4: Likewise.
6066         * tests/test-isnand-nolibm.c: Likewise.
6067         * tests/test-isnand.c: Likewise.
6068         * tests/uninorm/NormalizationTest.txt: Likewise.
6069
6070 2012-01-17  Jim Meyering  <meyering@redhat.com>
6071
6072         maint: add framework to run syntax-check rules against gnulib sources
6073         * cfg.mk: New file, to disable all currently-failing tests.
6074         We'll enable them one by one, as they are made to pass.
6075         * Makefile (sc_maint): New rule.
6076
6077 2012-01-21  Bruno Haible  <bruno@clisp.org>
6078
6079         stdint: Add support for Android.
6080         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
6081         include the system's <stdint.h>.
6082         Reported by Simon Josefsson <simon@josefsson.org>.
6083
6084 2012-01-19  Jim Meyering  <meyering@redhat.com>
6085
6086         bootstrap: add bootstrap_post_import_hook
6087         Bison does still need something like the gnulib_mk_hook whose
6088         invocation I had to remove along with slurp in commit 767ccd40.
6089         Technically, we could get along without it, but doing so would
6090         have required living with a warning and a mandatory post-bootstrap
6091         automake rerun.
6092         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
6093         (bootstrap_post_import_hook): New function.
6094         Invoke it after gnulib-tool --import and before autoreconf.
6095
6096 2012-01-18  Jim Meyering  <meyering@redhat.com>
6097
6098         gitlog-to-changelog: don't use "no_"-prefixed variable name
6099         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
6100         to enable both --cluster and --no-cluster.  Change variable name,
6101         s/\$no_cluster/$cluster/, and reverse usage to match.
6102
6103         gitlog-to-changelog: use "||", not "or" in expressions
6104         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
6105         expressions.
6106
6107 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
6108
6109         gitlog-to-changelog: new option --no-cluster
6110         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
6111         clustering of adjacent commit messages.
6112
6113 2012-01-17  Jim Meyering  <meyering@redhat.com>
6114
6115         maint: spell file systems with two words, not one
6116         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
6117         two words, not one.
6118
6119 2012-01-16  Jim Meyering  <meyering@redhat.com>
6120
6121         bootstrap: add a FIXME comment to ensure we eventually remove the hack
6122         * build-aux/bootstrap (gnulib_tool_options): Add comment.
6123
6124 2012-01-16  Eric Blake  <eblake@redhat.com>
6125
6126         bootstrap: cater to autoconf 2.59
6127         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
6128         is not available.
6129
6130         bootstrap: properly check for libtool
6131         * build-aux/bootstrap (libtoolize): Also run libtool when older
6132         usage is detected.
6133
6134 2012-01-15  Bruno Haible  <bruno@clisp.org>
6135
6136         Improve support for MSVC 9.
6137         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
6138         clashes on MSVC.
6139         * lib/fcntl.in.h: Likewise.
6140         * lib/stdlib.in.h: Likewise.
6141         * lib/sys_stat.in.h: Likewise.
6142
6143 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6144
6145         gnupload: we hold the master copy of this script now
6146         For motivation and more information, see:
6147         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
6148         * build-aux/gnupload: Make it clear in the heading comments that the
6149         master copy of this file is maintained by gnulib.  Since we are at
6150         it, bump its copyright year and ...
6151         ($scriptversion): ... the date in its version.
6152         ($usage): Patches and bug reports should be sent to the gnulib list,
6153         not the automake one.
6154         * config/srclist.txt: Don't try to sync 'gnupload' from automake
6155         anymore.
6156
6157 2012-01-15  Bruno Haible  <bruno@clisp.org>
6158
6159         Fix module 'random'.
6160         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
6161         initstate, setstate are declared.
6162
6163 2012-01-14  Bruno Haible  <bruno@clisp.org>
6164
6165         Tests for module 'random'.
6166         * modules/random-tests: New file.
6167         * tests/test-random.c: New file, based on tests/test-random_r.c.
6168
6169         New module 'random'.
6170         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
6171         declarations.
6172         * lib/random.c: New file, based on glibc/stdlib/random.c.
6173         * m4/random.m4: New file.
6174         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
6175         HAVE_RANDOM.
6176         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
6177         * modules/random: New file.
6178         * config/srclist.txt: Add an entry for random.c.
6179         * doc/posix-functions/random.texi: Mention the 'random' module.
6180         * doc/posix-functions/initstate.texi: Likewise.
6181         * doc/posix-functions/setstate.texi: Likewise.
6182         * doc/posix-functions/srandom.texi: Likewise.
6183
6184 2012-01-12  Bruno Haible  <bruno@clisp.org>
6185
6186         random_r: Use common idioms.
6187         * lib/random_r.c: Include <stdlib.h> first.
6188
6189         random_r: Override incompatible API on AIX, OSF/1.
6190         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
6191         Override the system function if REPLACE_RANDOM_R is 1.
6192         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
6193         and OSF/1, set REPLACE_RANDOM_R.
6194         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
6195         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
6196         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
6197         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
6198         * doc/glibc-functions/random_r.texi: Likewise.
6199         * doc/glibc-functions/setstate_r.texi: Likewise.
6200
6201         random_r: Support for MSVC 9.
6202         * lib/random_r.c: Include stdint.h, not inttypes.h.
6203
6204 2012-01-12  Eric Blake  <eblake@redhat.com>
6205
6206         inet_ntop: guard extra work by IF_LINT
6207         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
6208         better code generation when not checking for warnings.
6209         Suggested by Paul Eggert and Jim Meyering.
6210
6211         strptime: fix regression on mingw
6212         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
6213         Fix regression.  Reported by Bruno Haible.
6214
6215 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
6216             Bruno Haible  <bruno@clisp.org>
6217
6218         copy-file: add error-code-returning variant.
6219         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
6220         (qcopy_file_preserving): New declaration.
6221         * lib/copy-file.c (qcopy_file_preserving): Renamed from
6222         copy_file_preserving. Change return type to 'int'. Don't emit an error
6223         message here.
6224         (copy_file_preserving): New function.
6225         * tests/test-copy-file.c: Include <stdlib.h>.
6226         (main): Test qcopy_file_preserving if the environment variable
6227         NO_STDERR_OUTPUT is set.
6228         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
6229         with NO_STDERR_OUTPUT
6230         * tests/test-copy-file-2.sh: Likewise.
6231
6232 2012-01-10  Bruno Haible  <bruno@clisp.org>
6233
6234         copy-file: Use 'quote' module consistently.
6235         * lib/copy-file.c (copy_file_preserving): Use quote().
6236
6237         copy-file: Refactor.
6238         * lib/copy-file.c: Include quote.h.
6239         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
6240         message here.
6241         * modules/copy-file (Depends-on): Add quote.
6242
6243         acl: Export qcopy_acl.
6244         * lib/acl.h (qcopy_acl): New declaration.
6245         * lib/copy-acl.c (qcopy_acl): Make non-static.
6246
6247         acl: Rename a local variable.
6248         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
6249
6250         acl: Align return values of copy_acl and qcopy_acl.
6251         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
6252         maybe < -1.
6253
6254 2012-01-11  Eric Blake  <eblake@redhat.com>
6255
6256         strptime: silence gcc warnings
6257         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
6258         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
6259         Reported by Daniel P. Berrange.
6260
6261         inet_ntop: silence gcc warning
6262         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
6263         Reported by Daniel P. Berrange.
6264
6265 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
6266
6267         getloadavg test: skip the test on GNU/Linux without /proc mounted
6268         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
6269         file.  When /proc is not mounted, it always fails with ENOENT.
6270         * tests/test-getloadavg.c (main): Treat ENOENT return code from
6271         getloadavg(3) the same way as ENOSYS and ENOTSUP.
6272
6273 2012-01-10  Bruno Haible  <bruno@clisp.org>
6274
6275         regex: Avoid link error on MSVC 9.
6276         * modules/regex (Depends-on): Add wctype.
6277
6278 2012-01-10  Bruno Haible  <bruno@clisp.org>
6279
6280         doc: Mention --with-tests option.
6281         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
6282         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
6283         --with-tests.
6284         Reported by Reuben Thomas.
6285
6286 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
6287
6288         users.txt: order package names lexicographically.
6289         * users.txt: Order package names lexicographically.
6290
6291 2012-01-10  Jim Meyering  <meyering@redhat.com>
6292
6293         maint.mk: fix description in comment
6294         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
6295
6296         ignore-value: remove deprecated ignore_ptr function
6297         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
6298         * NEWS: Note this.
6299
6300 2012-01-09  Jim Meyering  <meyering@redhat.com>
6301
6302         test-init.sh: avoid a subshell
6303         * tests/test-init.sh: Remove protective subshell.
6304         Suggested by Bernhard Voelker.  While a subshell is normally
6305         required to protect against older shells (Solaris, FreeBSD) that
6306         warn about a missing program before performing redirection, the
6307         shell-selection tests performed by init.sh probably exclude any
6308         offending shell.
6309
6310 2012-01-08  Bruno Haible  <bruno@clisp.org>
6311
6312         setlocale tests: Avoid test failure on Solaris 11 2011-11.
6313         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
6314         variable.
6315
6316 2012-01-08  Bruno Haible  <bruno@clisp.org>
6317
6318         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
6319         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6320         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6321         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
6322         macro.
6323         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
6324         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6325         * lib/spawn_faction_addopen.c: Add workaround implementation if
6326         HAVE_WORKING_POSIX_SPAWN.
6327         * modules/spawn (Makefile): Substitute
6328         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6329         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
6330         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
6331         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6332         (Depends-on): Update conditions.
6333         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
6334         the Solaris 11 bug.
6335
6336 2012-01-08  Bruno Haible  <bruno@clisp.org>
6337
6338         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
6339         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6340         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6341         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
6342         macro.
6343         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6344         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6345         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6346         HAVE_WORKING_POSIX_SPAWN.
6347         * modules/spawn (Makefile): Substitute
6348         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6349         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6350         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6351         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6352         (Depends-on): Update conditions.
6353         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6354         the Solaris 11 bug.
6355
6356 2012-01-08  Bruno Haible  <bruno@clisp.org>
6357
6358         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6359         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6360         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6361         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6362         HAVE_WORKING_POSIX_SPAWN.
6363         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6364         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6365         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6366         * lib/spawn_faction_addclose.c: Add workaround implementation if
6367         HAVE_WORKING_POSIX_SPAWN.
6368         * modules/spawn (Makefile): Substitute
6369         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6370         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6371         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6372         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6373         (Depends-on): Update conditions.
6374         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6375         the Solaris 11 bug.
6376
6377 2012-01-08  Bruno Haible  <bruno@clisp.org>
6378
6379         doc: Update for Solaris 11 2011-11.
6380         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6381         * m4/printf.m4: Update comments.
6382
6383 2012-01-08  Bruno Haible  <bruno@clisp.org>
6384
6385         mktime: Avoid compilation error on Solaris 11.
6386         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6387
6388 2012-01-08  Bruno Haible  <bruno@clisp.org>
6389
6390         doc: Small fix.
6391         * doc/posix-headers/nl_types.texi: Correct platforms list.
6392
6393 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6394
6395         Add lgpl-3.0 module.
6396         * MODULES.html.sh (Support for building documentation): Add
6397         lgpl-3.0.
6398         * modules/lgpl-3.0: New file.
6399
6400 2012-01-08  Jim Meyering  <meyering@redhat.com>
6401
6402         select.c: indent with spaces, not TABs
6403         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
6404
6405 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6406
6407         quotearg: do not use grave accent for left quote
6408         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
6409         locale_quoting_style.
6410         (quotearg_buffer_restyled): Fix example.
6411         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
6412
6413 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6414
6415         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
6416         Most programs do not have translation catalogs for English and much
6417         less separate catalogs for British and American English.  Drop the
6418         suggestion to translators about these two, and provide it
6419         automatically for Unicode locales.  Like most programs, even those
6420         using American English, we use single quotation marks.  This conflicts
6421         with the American typographic convention, but works better when you
6422         cite the entire error message within double quotes.  It also tries not
6423         to clash with established practice and with what non-gnulib programs
6424         will usually do.
6425         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
6426         using an UTF-8 or GB-18030 locale.  The list of other locales with
6427         quotes was provided by Bruno Haible.
6428         (quotearg_buffer_restyled): Adjust instructions to translators.
6429         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
6430         text, since this would be wrong when using Unicode.
6431         * modules/quotearg: Depend on c-strcaseeq.
6432
6433 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6434
6435         quotearg: fix Wikipedia link
6436         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
6437
6438 2012-01-07  Simon Josefsson  <simon@josefsson.org>
6439
6440         Fix for mingw with MSVC9.
6441         * m4/ld-version-script.m4: Check that compiler rejects version
6442         scripts with syntax errors.  Reported by Bruno Haible
6443         <bruno@clisp.org>.
6444
6445 2012-01-06  Bruno Haible  <bruno@clisp.org>
6446
6447         Talk about "native Windows API", not "Woe32".
6448         * lib/accept4.c: Update comments to mention native Windows.
6449         * lib/execute.c: Likewise.
6450         * lib/fatal-signal.c: Likewise.
6451         * lib/localcharset.c: Likewise.
6452         * lib/nanosleep.c: Likewise.
6453         * lib/nl_langinfo.c: Likewise.
6454         * lib/pclose.c: Likewise.
6455         * lib/pipe-filter-gi.c: Likewise.
6456         * lib/pipe-filter-ii.c: Likewise.
6457         * lib/pipe.c: Likewise.
6458         * lib/pipe2.c: Likewise.
6459         * lib/popen.c: Likewise.
6460         * lib/progreloc.c: Likewise.
6461         * lib/relocatable.c: Likewise.
6462         * lib/sigaction.c: Likewise.
6463         * lib/sigprocmask.c: Likewise.
6464         * lib/spawn-pipe.h: Likewise.
6465         * lib/spawn-pipe.c: Likewise.
6466         * lib/spawni.c: Likewise.
6467         * lib/stat-time.h: Likewise.
6468         * lib/w32spawn.h: Likewise.
6469         * tests/test-isatty.c: Likewise.
6470         * lib/config.charset: More comments.
6471         * doc/gnulib-intro.texi: Mention native Windows.
6472         * doc/posix-functions/_Exit_C99.texi: Likewise.
6473         * doc/posix-headers/fcntl.texi: Likewise.
6474
6475 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
6476
6477         argp: Avoid crash if translator uses % characters in a translation.
6478         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
6479         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6480
6481 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
6482
6483         doc: C11 and C++11 are now official
6484         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
6485         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
6486         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
6487         * modules/stdalign:
6488         Replace references to draft C1X to C11, and to draft C++0X to C++11.
6489
6490 2012-01-06  Bruno Haible  <bruno@clisp.org>
6491
6492         uc-is-grapheme-break tests: Tweak.
6493         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
6494         message.
6495
6496 2012-01-06  Bruno Haible  <bruno@clisp.org>
6497
6498         test-init.sh: correct the test for diff -u
6499         * tests/test-init.sh: Also redirect stdout to /dev/null.
6500
6501 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6502
6503         Use ', not `, for quoting output.
6504         * build-aux/announce-gen (usage, sizes, print_news_deltas)
6505         (print_changelog_deltas, get_tool_versions, main program):
6506         * build-aux/git-version-gen:
6507         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
6508         * build-aux/move-if-change (help):
6509         * build-aux/useless-if-before-free (usage, main program):
6510         * check-module (parse_module_file, usage)
6511         (find_included_lib_files, check_module):
6512         * lib/argmatch.c (main) [TEST]:
6513         * lib/argp-help.c (_help):
6514         * lib/getopt1.c (main) [TEST]:
6515         * lib/git-merge-changelog.c (usage):
6516         * lib/xstrtol-error.c (xstrtol_error):
6517         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6518         * m4/argz.m4 (gl_FUNC_ARGZ):
6519         * m4/bison.m4 (gl_BISON):
6520         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
6521         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6522         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6523         * m4/fpending.m4 (gl_PREREQ_FPENDING):
6524         * m4/gc-random.m4 (gl_GC_RANDOM):
6525         * m4/intl.m4 (gt_CHECK_DECL):
6526         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
6527         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
6528         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
6529         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
6530         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
6531         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
6532         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
6533         * tests/test-dirname.c (main):
6534         * tests/test-getpass.c (main):
6535         * tests/test-iconvme.c (main):
6536         * tests/test-parse-datetime.c (LOG):
6537         * tests/test-xstrtoimax.sh:
6538         * tests/test-xstrtol.sh:
6539         * tests/test-xstrtoll.sh:
6540         * tests/test-xstrtoumax.sh:
6541         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
6542         * top/GNUmakefile (abort-due-to-no-makefile):
6543         Quote 'like this', not `like this', as per the recent change to
6544         the GNU coding standards.
6545
6546 2012-01-05  Bruno Haible  <bruno@clisp.org>
6547
6548         strtoimax: Don't force a replacement on systems where intmax_t is int.
6549         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
6550         'intmax_t' is not larger than 'int'.
6551         Reported by Pádraig Brady <P@draigBrady.com>.
6552
6553 2012-01-05  Bruno Haible  <bruno@clisp.org>
6554
6555         doc: Mention NetBSD bugs.
6556         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
6557         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
6558
6559 2012-01-05  Bruno Haible  <bruno@clisp.org>
6560
6561         strtoumax tests: Enhance tests.
6562         * tests/test-strtoumax.c (main): Add tests for large values.
6563
6564 2012-01-05  Bruno Haible  <bruno@clisp.org>
6565
6566         strtoimax: Work around AIX 5.1 bug.
6567         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
6568         definition.
6569         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
6570         Set HAVE_STRTOIMAX.
6571         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
6572         REPLACE_STRTOIMAX.
6573         * modules/inttypes-incomplete (Makefile.am): Substitute
6574         REPLACE_STRTOIMAX.
6575         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
6576         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
6577         (Depends-on): Update conditions.
6578         * tests/test-strtoimax.c (main): Add tests for large values.
6579         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
6580
6581 2012-01-05  Bruno Haible  <bruno@clisp.org>
6582
6583         inttypes: Modernize.
6584         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
6585         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
6586         (Makefile.am): Update inttypes.h rule.
6587
6588 2012-01-05  Jim Meyering  <meyering@redhat.com>
6589
6590         init.sh: don't waste a subshell just to redirect stderr
6591         * tests/init.sh: In testing for diff -u and diff -c, use a
6592         stderr-redirecting exec inside `...` rather than a subshell.
6593
6594         test-init.sh: avoid failure on HP-UX 11.00
6595         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
6596         resolves to diff -c or cmp.  Reported by Bruno Haible.
6597
6598 2012-01-05  Bruno Haible  <bruno@clisp.org>
6599
6600         Tests for module 'strtoull'.
6601         * modules/strtoull-tests: New file.
6602         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
6603
6604 2012-01-05  Bruno Haible  <bruno@clisp.org>
6605
6606         Tests for module 'strtoll'.
6607         * modules/strtoll-tests: New file.
6608         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
6609
6610 2012-01-05  Bruno Haible  <bruno@clisp.org>
6611
6612         Tests for module 'strtoul'.
6613         * modules/strtoul-tests: New file.
6614         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
6615
6616 2012-01-05  Bruno Haible  <bruno@clisp.org>
6617
6618         Tests for module 'strtol'.
6619         * modules/strtol-tests: New file.
6620         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
6621
6622 2012-01-04  Jim Meyering  <meyering@redhat.com>
6623
6624         test-init.sh: accommodate Solaris 5.10's different diff -u output
6625         * tests/test-init.sh: Also exempt @@ lines from the comparison
6626         of diff output, since Solaris 5.10 and GNU diff formats differ.
6627         Reported by Stefano Lattarini.
6628
6629 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6630
6631         test-posixtm: don't assume signed integer wraparound
6632         * tests/test-posixtm.c (main): Don't assume wraparound semantics
6633         after signed integer overflow.  Inspired by (though it may not
6634         fix) Bruno Haible's bug report in
6635         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
6636
6637         Spell out "Windows 9x" and "Windows XP".
6638         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
6639         "Windows 9x" and "WinXP" with "Windows XP".
6640
6641 2012-01-04  Jim Meyering  <meyering@redhat.com>
6642
6643         test-vc-list-files-cvs.sh: remove obsolete comment
6644         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
6645         double exit.  Now that's all encapsulated via skip_ and Exit.
6646
6647 2012-01-04  Bruno Haible  <bruno@clisp.org>
6648
6649         Talk about "native Windows API", not "Win32".
6650         * lib/classpath.c: Update comments to mention native Windows.
6651         * lib/csharpexec.c: Likewise.
6652         * lib/dup2.c: Likewise.
6653         * lib/error.c: Likewise.
6654         * lib/fcntl.c: Likewise.
6655         * lib/filename.h: Likewise.
6656         * lib/findprog.c: Likewise.
6657         * lib/get-rusage-as.c: Likewise.
6658         * lib/get-rusage-data.c: Likewise.
6659         * lib/getpagesize.c: Likewise.
6660         * lib/javaexec.c: Likewise.
6661         * lib/msvc-inval.c: Likewise.
6662         * lib/msvc-nothrow.c: Likewise.
6663         * lib/nanosleep.c: Likewise.
6664         * lib/nonblocking.c: Likewise.
6665         * lib/printf-parse.c: Likewise.
6666         * lib/setlocale.c: Likewise.
6667         * lib/sigaction.c: Likewise.
6668         * lib/strerror_r.c: Likewise.
6669         * lib/tmpdir.c: Likewise.
6670         * lib/vasnprintf.c: Likewise.
6671         * lib/w32spawn.h: Likewise.
6672         * lib/waitpid.c: Likewise.
6673         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
6674         * m4/locale-ar.m4: Likewise.
6675         * m4/locale-fr.m4: Likewise.
6676         * m4/locale-ja.m4: Likewise.
6677         * m4/locale-tr.m4: Likewise.
6678         * m4/locale-zh.m4: Likewise.
6679         * m4/printf.m4: Likewise.
6680         * tests/test-cloexec.c: Likewise.
6681         * tests/test-copy-acl.sh: Likewise.
6682         * tests/test-copy-file.sh: Likewise.
6683         * tests/test-file-has-acl.sh: Likewise.
6684         * tests/test-set-mode-acl.sh: Likewise.
6685         * tests/test-dup-safer.c: Likewise.
6686         * tests/test-dup2.c: Likewise.
6687         * tests/test-dup3.c: Likewise.
6688         * tests/test-fcntl.c: Likewise.
6689         * tests/test-nonblocking-pipe.h: Likewise.
6690         * tests/test-nonblocking-socket.h: Likewise.
6691         * tests/test-pipe.c: Likewise.
6692         * tests/test-pipe2.c: Likewise.
6693         * tests/test-spawn-pipe-child.c: Likewise.
6694         * doc/acl-resources.txt: Likewise.
6695         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6696         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
6697         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
6698         * lib/localcharset.c: Update comments to mention native Windows.
6699         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6700         * lib/localename.c: Likewise.
6701         * lib/progreloc.c: Likewise.
6702         * lib/relocatable.c: Likewise.
6703         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6704         (windows_compute_revents): Renamed from win32_compute_revents.
6705         (windows_compute_revents_socket): Renamed from
6706         win32_compute_revents_socket.
6707         * lib/select.c: Update comments to mention native Windows.
6708         (windows_poll_handle): Renamed from win32_poll_handle.
6709         * m4/threadlib.m4: Update comments to mention native Windows.
6710         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
6711         --enable-threads=windows instead of --enable-threads=win32. Set
6712         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
6713         * lib/glthread/lock.h: Update comments to mention native Windows.
6714         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
6715         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
6716         USE_WIN32_THREADS.
6717         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
6718         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
6719         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
6720         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
6721         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
6722         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
6723         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
6724         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
6725         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
6726         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
6727         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
6728         * tests/test-tls.c: Likewise.
6729         Rationale:
6730         Microsoft renamed the "Win32 API" to "Windows API", as it is available
6731         on both 32-bit and 64-bit Windows systems.
6732         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
6733         line of distinction is between "native Windows" on one side and Unix/
6734         POSIX systems on the other side. More details in
6735         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
6736         Suggested by Paul Eggert.
6737
6738 2012-01-03  Bruno Haible  <bruno@clisp.org>
6739
6740         isatty: Support for MSVC 9.
6741         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
6742         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
6743         (_isatty_nothrow): New function.
6744         (isatty): Use it instead of _isatty.
6745         (IsConsoleHandle): Add comment, from Paolo Bonzini.
6746         * lib/poll.c (IsConsoleHandle): Likewise.
6747         * lib/select.c (IsConsoleHandle): Likewise.
6748         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
6749         (gl_PREREQ_ISATTY): New macro.
6750         * modules/isatty (Depends-on): Add msvc-inval.
6751         (configure.ac): Invoke gl_PREREQ_ISATTY.
6752
6753 2012-01-03  Jim Meyering  <meyering@redhat.com>
6754
6755         maint.mk: remove temporary transition aid from over 1.5 years ago
6756         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
6757         purpose was to aid in the transition (avoiding silent malfunction)
6758         from that old name to the new _sc_search_regexp.  This shim was
6759         added by commit 219c504b.
6760
6761         init.sh: do not try to accommodate compare arguments starting with "-"
6762         * tests/init.sh (compare_dev_null_): Do not try to accommodate
6763         compare arguments that start with "-".  Besides, we do not worry
6764         about this when invoking diff or cmp; why start now with sed?
6765         Using "--" to separate options from argument would trigger sed
6766         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6767         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6768
6769 2012-01-02  Bruno Haible  <bruno@clisp.org>
6770
6771         Enhance tests for module 'isatty'.
6772         * modules/isatty-tests (Depends-on): Add pipe-posix.
6773         * tests/test-isatty.c: Include <fcntl.h>.
6774         (DEV_NULL): New macro.
6775         (main): Test the resut of isatty() also on regular files, pipes, and
6776         /dev/null.
6777
6778         New module 'isatty'.
6779         * lib/unistd.in.h (isatty): New declaration.
6780         * lib/isatty.c: New file, based on an idea of
6781         Bastien Roucariès <roucaries.bastien@gmail.com>.
6782         * m4/isatty.m4: New file.
6783         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6784         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6785         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6786         REPLACE_ISATTY.
6787         * modules/isatty: New file.
6788         * doc/posix-functions/isatty.texi: Mention the new module.
6789         Suggested by Paolo Bonzini.
6790
6791 2012-01-02  Bruno Haible  <bruno@clisp.org>
6792
6793         canonicalize: Tweak 2011-12-29 commit.
6794         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6795         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6796
6797 2012-01-02  Jim Meyering  <meyering@redhat.com>
6798
6799         gitlog-to-changelog: describe input syntax in --help output
6800         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6801
6802         gitlog-to-changelog: fix typo in --help: show backslash before email @
6803         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6804         in sources, but not in actual output.
6805
6806 2011-12-30  Jim Meyering  <meyering@redhat.com>
6807
6808         gitlog-to-changelog: don't malfunction when name contains %-directive
6809         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6810         in a name string cause trouble.  E.g., with a user name of "%s",
6811         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6812
6813 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6814
6815         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6816         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6817         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6818         the "  (tiny change)" notation that is appended to the standard
6819         ChangeLog "date  name  email" header line.
6820
6821 2012-01-01  Jim Meyering  <meyering@redhat.com>
6822
6823         test-framework-sh: init.sh: fix "make dist" failure
6824         When using gnulib-tool's --with-tests option and any module that
6825         depends on test-framework-sh, "make dist" would fail due to the
6826         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6827         in the gltests directory, and not in the gllib/ directory.
6828         One way to work around that is to move the EXTRA_DIST += init.sh
6829         from the primary module to the -tests one:
6830         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6831         * modules/test-framework-sh (Makefile.am): ...not here.
6832         Reported by Tom G. Christensen in
6833         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6834
6835         version-etc: update copyright year reported by --version
6836         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6837
6838 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6839
6840         canonicalize: only stat() if required
6841         * lib/canonicalize.c (canonicalize_filename_mode):
6842         Avoid calling l?stat() when both CAN_MISSING,
6843         and CAN_NOLINKS are set, as we neither need
6844         to resolve symlinks or test component existence.
6845
6846 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6847
6848         doc: cover st_ino issues once; add OpenVMS etc.
6849         * doc/posix-functions/stat.texi (stat):
6850         * doc/posix-functions/lstat.texi (lstat):
6851         * doc/posix-functions/fstatat.texi (fstatat):
6852         * doc/posix-functions/fstat.texi (fstat):
6853         Move general 'struct stat' stuff to sys_stat.texi,
6854         leaving behind a pointer.
6855         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6856         Merge duplicate info about 'struct stat' problems into here.
6857         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6858         and suggest partial workarounds.
6859
6860         same-inode: port to OpenVMS
6861         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6862         three st_ino values.
6863
6864 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6865
6866         canonicalize: fix references to stat() and lstat()
6867         * lib/canonicalize.c (canonicalize_filename_mode):
6868         Ensure references always resolve to a replacement
6869         function if required (even via a macro).
6870
6871 2011-12-30  Jim Meyering  <meyering@redhat.com>
6872
6873         gitlog-to-changelog: remove a little duplication
6874         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6875         rather than twice.
6876
6877 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6878
6879         canonicalize: add support for not resolving symlinks
6880         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6881         indicate we don't want to follow symlinks.  Also
6882         provide CAN_MODE_MASK to aid setting these existing
6883         mutually exclusive values.
6884         * lib/canonicalize.c (canonicalize_filename_mode):
6885         Extract the flags from can_mode parameter, which
6886         are currently just used to select between stat()
6887         and lstat().  Also ensure that mutually exclusive
6888         values are flagged immediately as invalid.
6889         * tests/test-canonicalize.c: Verify symlinks are
6890         not followed, and that invalid flag combinations
6891         are diagnosed.
6892
6893 2011-12-25  Jim Meyering  <meyering@redhat.com>
6894
6895         gitlog-to-changelog: do not clump multi-paragraph entries
6896         Identical header lines (date,name,email+coauthors) are suppressed,
6897         thus putting all entries with those same characteristics under
6898         a single header.  However, when a log entry consists of two or
6899         more paragraphs, it may not be clear where it starts and ends.
6900         This change makes it so that such an entry is always separated
6901         from others by a header line, even when that header would
6902         otherwise be suppressed.
6903         * build-aux/gitlog-to-changelog: Implement the above.
6904         Inspired by a related request from Stefano Lattarini in
6905         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6906
6907 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6908
6909         announce-gen: fix `cmd' typo in diagnostic
6910         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6911         diagnostic: a missing '$' meant that the command was not output.
6912
6913 2011-12-23  Jim Meyering  <meyering@redhat.com>
6914
6915         test-framework-sh: distribute init.sh
6916         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6917         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6918         fail due to the lack of init.sh.
6919
6920         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6921         * modules/atexit-tests: Rather than listing tests/init.sh,
6922         now that there's a module for it, simply depend on that new module.
6923         * modules/closein-tests: Likewise.
6924         * modules/exclude-tests: Likewise.
6925         * modules/getcwd-tests: Likewise.
6926         * modules/perror-tests: Likewise.
6927         * modules/pread-tests: Likewise.
6928         * modules/pwrite-tests: Likewise.
6929         * modules/vc-list-files-tests: Likewise.
6930         * modules/verify-tests: Likewise.
6931         * modules/xalloc-die-tests: Likewise.
6932         * modules/xstrtoimax-tests: Likewise.
6933         * modules/xstrtol-tests: Likewise.
6934         * modules/xstrtoll-tests: Likewise.
6935         * modules/xstrtoumax-tests: Likewise.
6936         * modules/yesno-tests: Likewise.
6937
6938 2011-12-22  Jim Meyering  <meyering@redhat.com>
6939
6940         test-framework-sh: add minimal tests of init.sh's compare function
6941         * modules/test-framework-sh-tests: New file.
6942         * tests/test-init.sh: New file.
6943
6944         test-framework-sh: new module
6945         * modules/test-framework-sh: New file.
6946         * MODULES.html.sh (Support for maintaining and releasing projects):
6947         List it.
6948
6949         init.sh: do not emit simulated diff output to stderr
6950         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
6951
6952 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6953
6954         .gitignore: ignore gnulib.dvi and regex.info
6955         * doc/.gitignore:add gnulib.dvi and regex.info
6956
6957 2011-12-22  Jim Meyering  <meyering@redhat.com>
6958
6959         init.sh: correct previous change
6960         * tests/init.sh (compare): My previous change was wrong.
6961         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
6962
6963         init.sh: avoid unwarranted test failure when using "set -e"
6964         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
6965         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
6966         a use like "compare exp out" would get evoke an unconditional failure.
6967
6968 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
6969
6970         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
6971         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
6972         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
6973         autoreconf that did not.
6974         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
6975         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6976
6977 2011-12-17  Jim Meyering  <meyering@redhat.com>
6978
6979         bootstrap: remove some now-unneeded code
6980         This script arose back when gnulib-tool was young.
6981         Since then, it has seen improvements that render much of this
6982         script unnecessary.  In particular, it can now make symlinks
6983         to the files it uses.  Also, I no longer see as much value in
6984         marking files as read-only via comments.
6985         If you relied on the symlink-creation feature of the preceding
6986         version of this script, you can get most of that functionality
6987         by adding the --symlink option to the definition of
6988         gnulib_tool_option_extras in your bootstrap.conf file.
6989         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6990         Run autopoint and libtoolize *before* gnulib-tool.
6991         After it, run an abbreviated autoreconf, rather than a loop around
6992         all tools.
6993         (slirp, bt_mark_as_generated): Remove functions.
6994
6995 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6996
6997         ftoastr: fix typo
6998         * lib/ftoastr.h: Fix misspelling in comment.
6999
7000 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
7001
7002         * top/README-release: fix punctuation.
7003
7004 2011-12-17  Jim Meyering  <meyering@redhat.com>
7005
7006         bootstrap: correct the recent buildreq change
7007         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
7008         had no effect.
7009         * build-aux/bootstrap (buildreq): Bracket each search term with
7010         "*...*", so that the shell "case" statement works as intended.
7011         Add comments.
7012
7013 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
7014
7015         build: let bootstrap resort to wget when downloading .po files
7016         * build-aux/bootstrap (download_po_files): Fallback to wget when
7017         downloading the .po files via rsync fails.  This is necessary to
7018         bootstrap from behind a strict firewall.
7019
7020 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7021
7022         stdint: don't assume C++11 when compiling with g++
7023         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
7024         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
7025         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
7026         work also in C++ before C++11, as that improperly inhibits
7027         generating a substitute stdint.h for that case.
7028
7029 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7030
7031         alloca: protect comment from gnulib-tool
7032         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
7033         that gnulib-tool doesn't think it's a license, and munge it to
7034         say "GCC version 3".
7035
7036 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
7037
7038         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
7039         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
7040         $(abs_top_builddir) instead of $(top_builddir).
7041
7042 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
7043
7044         strftime-tests: also test nanoseconds
7045         * tests/test-strftime.c (T): Add a test of %N.
7046
7047 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
7048
7049         inttypes, stdint: add C++11 support
7050         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
7051         when including inttypes.h and stdint.h.  Support this change to
7052         the standard.
7053         * doc/posix-headers/inttypes.texi (inttypes.h):
7054         * doc/posix-headers/stdint.texi (stdint.h): Document this.
7055         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
7056         Define if not defined already, for the benefit of pre-C++11 hosts.
7057         Define the standard format macros (e.g., PRId8) always.
7058         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
7059         Likewise, if __cpluspus.  Define the standard constant and limit
7060         macros (e.g., INT8_C, INT8_MAX) always.
7061         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
7062         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
7063         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
7064         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
7065         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
7066         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
7067         Likewise.
7068
7069 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
7070
7071         nonblocking tests: Fix test failure on Linux/PPC.
7072         Suggested by Prerna Saxena in
7073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
7074         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
7075         Set to 1100000.
7076
7077 2011-12-12  Jim Meyering  <meyering@redhat.com>
7078
7079         argmatch: don't hard-code `' when listing valid option arguments
7080         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
7081         use the quote function to add quotes.  Use fputs rather than
7082         fprintf for the format string with no format directive.
7083
7084 2011-12-07  Eric Blake  <eblake@redhat.com>
7085
7086         bootstrap: detect tools required by gnulib-tool
7087         * build-aux/bootstrap (buildreq): Provide minimum implicit
7088         dependencies.
7089         * DEPENDENCIES: Mention patch as a prereq.
7090
7091 2011-12-04  Bruno Haible  <bruno@clisp.org>
7092
7093         sethostname: Port to Windows platforms.
7094         * lib/sethostname.c: Provide an alternate implementation for Windows
7095         platforms.
7096         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
7097         (main): Skip the test if sethostname() fails with EPERM. On Windows
7098         platforms, don't check the result of gethostname().
7099
7100 2011-12-04  Bruno Haible  <bruno@clisp.org>
7101             Jim Meyering  <meyering@redhat.com>
7102
7103         tests: Avoid spurious error message on platforms without mktemp program.
7104         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
7105
7106 2011-12-04  Bruno Haible  <bruno@clisp.org>
7107
7108         sethostname: Fix documentation.
7109         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
7110         "not fixed" section.
7111
7112 2011-12-03  Bruno Haible  <bruno@clisp.org>
7113
7114         gnulib-tool: Verify that the License field is present and non-empty.
7115         * gnulib-tool (func_get_license_raw): New function, extracted from
7116         func_get_license.
7117         (func_get_license): Use it. Warn if the module is not a test module and
7118         has no license.
7119         Suggested by Jim Meyering.
7120
7121 2011-12-03  Bruno Haible  <bruno@clisp.org>
7122
7123         sethostname tests: Fix link error on mingw.
7124         * tests/test-sethostname1.c: New file, extracted from
7125         tests/test-sethostname.c.
7126         * tests/test-sethostname2.c: New file, extracted from
7127         tests/test-sethostname.c.
7128         * tests/test-sethostname.c: Remove file.
7129         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
7130         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
7131         (Depends-on): Add gethostname.
7132         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
7133         Link the latter with $(GETHOSTNAME_LIB).
7134
7135         sethostname tests: Fix compilation error on mingw.
7136         * tests/test-sethostname.c: Don't include <sys/types.h>.
7137         (geteuid): Use a dummy value without uid_t.
7138         * modules/sethostname-tests (Depends-on): Remove sys_types.
7139
7140         sethostname tests: Avoid a gcc warning.
7141         * tests/test-sethostname.c (main): Remove an unused variable.
7142
7143         Tweak last commit.
7144         * modules/sethostname-tests (Files): Sort by decreasing importance.
7145         (configure.ac): Check for geteuid.
7146         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
7147         the test when there's nothing to test. Drop an unnecessary cast.
7148         Improve an error message. Verify that the final sethostname() call
7149         succeeds.
7150
7151 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7152
7153         Add a test suite for the sethostname module.
7154         * modules/sethostname-tests: New file.  A test program
7155         for the sethostname module.
7156         * tests/test-sethostname.c: Likewise.
7157
7158 2011-12-03  Bruno Haible  <bruno@clisp.org>
7159
7160         Tweak last commit.
7161         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
7162         Fix preprocessor directives indentation. Fix typos.
7163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
7164         * modules/unistd (Makefile): Likewise.
7165
7166 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7167
7168         Integrate the sethostname module into unistd.
7169         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
7170         into the unistd.h header.
7171         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
7172         preprocessor directives.
7173         * modules/unistd: Setup the Makefile substitutions of the
7174         SETHOSTNAME preprocessor directives.
7175
7176 2011-12-03  Bruno Haible  <bruno@clisp.org>
7177
7178         Tweak last commit.
7179         * lib/sethostname.c: Don't include <string.h>.
7180         (sethostname): No need to copy the argument string to the stack. Don't
7181         call clearerr. Preserve errno when fprintf failed.
7182         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
7183         Don't invoke AC_REPLACE_FUNCS.
7184         * modules/sethostname (Link): Remove empty section.
7185         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
7186         failure problem.
7187
7188 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7189
7190         New module 'sethostname'.
7191         * lib/sethostname.c (sethostname): New file.  Provide sethostname
7192         for systems that lack it.
7193         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
7194         sethostname declaration and function.
7195         * modules/sethostname: New file.  Define the sethostname module.
7196
7197 2011-12-03  Bruno Haible  <bruno@clisp.org>
7198
7199         Tweak last commit.
7200         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
7201
7202 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7203
7204         Split the HOST_NAME_MAX detection into a separate m4 macro.
7205         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
7206         macro so it can be used by the pending sethostname module.
7207
7208 2011-12-03  Bruno Haible  <bruno@clisp.org>
7209
7210         Fix module descriptions syntax.
7211         * modules/argv-iter (License): Fix syntax.
7212         * modules/di-set (License): Likewise.
7213         * modules/ino-map (License): Likewise.
7214         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
7215
7216 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7217
7218         stdalign: port to Clang 3.0
7219         Problem reported by Simon Josefsson in
7220         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
7221         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
7222         which has <stdalign.h> but which does not define alignof.
7223         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
7224
7225 2011-12-01  Eric Blake  <eblake@redhat.com>
7226
7227         mktempd: silence dd usage
7228         * build-aux/mktempd (rand_bytes): Silence dd.
7229
7230 2011-11-30  Simon Josefsson  <simon@josefsson.org>
7231
7232         manywarnings: Don't mention gcc version in docstring.
7233         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
7234         Jim Meyering <meyering@redhat.com>.
7235
7236 2011-11-30  Jim Meyering  <meyering@redhat.com>
7237
7238         hash: mark a few floating point constants with "f" suffix
7239         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
7240         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
7241         floating point constants with "f", since they're destined to be
7242         saved/used as "float"s.
7243
7244 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
7245
7246         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
7247         * tests/test-float.c (test_long_double): Correct and re-enable the
7248         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
7249
7250 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
7251
7252         Avoid subtracting two pointers that don't point into the same block.
7253         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
7254         only pointers into the same memory block are subtracted. We cannot
7255         assume that sizeof (ptrdiff_t) == sizeof (void *).
7256
7257 2011-11-29  Eric Blake  <eblake@redhat.com>
7258
7259         maint.mk: add syntax check for use of compare from init.sh
7260         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
7261         moved here from coreutils.
7262
7263         manywarnings: drop -Wunsuffixed-float-constants
7264         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
7265         '1.0D', which is the only way to silence this warning for 'double'.
7266
7267 2011-11-29  Jim Meyering  <meyering@redhat.com>
7268
7269         hash: mark compute_bucket_size with the pure attribute
7270         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
7271
7272         quotearg, propername: correct pragma guard expression
7273         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
7274         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
7275
7276 2011-11-28  Jim Meyering  <meyering@redhat.com>
7277
7278         propername: do not mark proper_name with the const attribute
7279         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
7280         since it examines data pointed to by its parameter.
7281         * lib/propername.c (proper_name): Instead, add a pragma to suppress
7282         the suggestion from -Wsuggest-attribute=const.
7283
7284         propername: mark one more function as const
7285         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
7286
7287 2011-11-27  Jim Meyering  <meyering@redhat.com>
7288
7289         mark functions with const and pure attributes
7290
7291         Mark functions per suggestions from gcc-4.6 when using these options:
7292         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
7293         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
7294         Follow these guidelines: when possible, apply the attribute to
7295         an extern declaration, not to its definition.  Apply it to the
7296         definition only when the definition is static.
7297         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
7298         * lib/argv-iter.h (argv_iter_n_args): Likewise.
7299         * lib/base64.h (isbase64): Likewise.
7300         * lib/basename-lgpl.c (last_component, base_len): Likewise.
7301         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
7302         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
7303         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
7304         (c_tolower, c_toupper): Likewise.
7305         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
7306         * lib/chdir-long.c (find_non_slash): Likewise.
7307         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
7308         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
7309         * lib/file-type.h (file_type): Likewise.
7310         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
7311         * lib/filevercmp.c (verrevcmp): Likewise.
7312         * lib/freadahead.h (freadahead): Likewise.
7313         * lib/fts.c (fts_maxarglen): Likewise.
7314         * lib/hash-pjw.h (hash_pjw): Likewise.
7315         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
7316         * lib/hash.c (is_prime, next_prime): Likewise.
7317         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
7318         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
7319         (hash_table_ok, hash_get_first, hash_string): Likewise.
7320         (compute_bucket_size): Likewise.
7321         * lib/i-ring.h (i_ring_empty): Likewise.
7322         * lib/isnan.c (isnanl): Likewise.
7323         * lib/math.h (isnanl, rpl_isnanl): Likewise.
7324         * lib/memcasecmp.h (memcasecmp): Likewise.
7325         * lib/memchr2.h (memchr2): Likewise.
7326         * lib/memcmp2.h (memcmp2): Likewise.
7327         * lib/parse-datetime.y (lookup_zone): Likewise.
7328         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
7329         [!WINDOWS_SOCKETS]: Likewise.
7330         * lib/strnlen1.h (strnlen1): Likewise.
7331         * lib/uniwidth.in.h (uc_width): Likewise.
7332         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
7333         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
7334         (quoting_options_from_style): Add a comment.
7335         * lib/propername.h (proper_name): Add a comment.
7336
7337 2011-11-27  Bruno Haible  <bruno@clisp.org>
7338
7339         Remove unused macros from !_LIBC code in glibc-borrowed files.
7340         * lib/fnmatch.c (STRCOLL): Remove macro.
7341         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
7342         * lib/glob.c (__stat, __readdir64): Remove macros.
7343         * lib/tempname.c (__open64, __xstat64): Remove macros.
7344         Suggested by Paul Eggert.
7345
7346 2011-11-27  Bruno Haible  <bruno@clisp.org>
7347
7348         getcwd: Fix link error on MSVC 9.
7349         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7350
7351 2011-11-27  Bruno Haible  <bruno@clisp.org>
7352
7353         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7354         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7355         HAVE_OPENDIR is 0.
7356         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7357         HAVE_CLOSEDIR is 0.
7358         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7359         is 0.
7360         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7361
7362 2011-11-27  Bruno Haible  <bruno@clisp.org>
7363
7364         getcwd: Fix bug from 2011-08-17.
7365         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7366         platforms that need it.
7367         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7368         code of 4 to be a failure, not a success. This ensures that
7369         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7370
7371 2011-11-27  Bruno Haible  <bruno@clisp.org>
7372
7373         binary-io tests: Avoid test failure on mingw when libtool is used.
7374         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7375         Don't verify the size of t-bin-out1.tmp here.
7376         * tests/test-binary-io.sh: Verify it here.
7377         Reported by Simon Josefsson.
7378
7379 2011-11-26  Bruno Haible  <bruno@clisp.org>
7380
7381         Fix conflict between two instantiations of module 'unistd'.
7382         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7383         ${include_guard_prefix} also in the autoconf snippet.
7384         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7386         GNULIB_UNISTD_H_GETOPT.
7387         * modules/getopt-posix (configure.ac): Set the
7388         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7389         * modules/getopt-gnu (configure.ac): Likewise.
7390         * modules/unistd (Makefile.am): Change the substitution value of
7391         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7392         Reported by Simon Josefsson.
7393
7394 2011-11-25  Bruno Haible  <bruno@clisp.org>
7395
7396         pagealign_alloc: Doc and comments.
7397         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7398         module.
7399         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7400
7401 2011-11-25  Jim Meyering  <meyering@redhat.com>
7402
7403         test-update-copyright.sh: avoid false-positive failure
7404         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
7405         around false positive failure on Cygwin/Windows.  The latter was
7406         matching erroneously-created files with names like
7407         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
7408
7409 2011-11-25  Simon Josefsson  <simon@josefsson.org>
7410
7411         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
7412         * m4/valgrind-tests.m4: Check that the parameters that will be
7413         used works, not just a subset of them.  Reported by Bruno Haible
7414         <bruno@clisp.org>.
7415
7416 2011-11-24  Jim Meyering  <meyering@redhat.com>
7417
7418         test-stdalign.c: comment out long double tests
7419         * tests/test-stdalign.c: Don't try to reduce alignment of long double
7420         variables.  That provokes errors like this from gcc-4.7.0 20111124:
7421         error: '_Alignas' specifiers cannot reduce alignment of \
7422         'static_longdouble_alignas'.
7423
7424 2011-11-22  Jim Meyering  <meyering@redhat.com>
7425
7426         init.sh: make "compare /dev/null FILE" output more readable
7427         * tests/init.sh (compare_): Document the preferred order of arguments.
7428         (emit_diff_u_header_): New function.
7429         (compare_dev_null_): Emit a simulated diff, rather than just the
7430         contents of the unexpected file.  Suggestion from Bruno Haible.
7431
7432 2011-11-21  Jim Meyering  <meyering@redhat.com>
7433             Eric Blake  <eblake@redhat.com>
7434
7435         init.sh: work around OSF/1 5.1's mishandling of /dev/null
7436         * tests/init.sh: Make our compare function slightly more portable.
7437         Reported by Bruno Haible in
7438         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
7439
7440 2011-11-21  Simon Josefsson  <simon@josefsson.org>
7441
7442         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
7443         before using it, in code that ends up in config.h.
7444
7445 2011-11-20  Bruno Haible  <bruno@clisp.org>
7446
7447         getcwd: Work around getcwd bug on AIX 5..7.
7448         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
7449         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
7450         Use a different value for gl_cv_func_getcwd_path_max. Move the
7451         definition of HAVE_PARTLY_WORKING_GETCWD from here...
7452         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
7453         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
7454         Define HAVE_MINIMALLY_WORKING_GETCWD.
7455         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
7456         where it is not even minimally working, that is, on AIX.
7457         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
7458         m4/getcwd-path-max.m4.
7459         (main): Update exit code computation.
7460         * doc/posix-functions/getcwd.texi: Mention list of platforms where
7461         getcwd does not handle long file names.
7462
7463 2011-11-20  Bruno Haible  <bruno@clisp.org>
7464
7465         getcwd: Fix bug from 2009-09-10.
7466         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
7467         like "no".
7468
7469 2011-11-20  Simon Josefsson  <simon@josefsson.org>
7470
7471         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
7472
7473 2011-11-20  Bruno Haible  <bruno@clisp.org>
7474
7475         fma tests: Avoid shadowing local variables.
7476         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
7477         expected.
7478
7479 2011-11-20  Bruno Haible  <bruno@clisp.org>
7480
7481         copysignf tests: Fix.
7482         * tests/test-copysignf.c: Fix signature check.
7483
7484 2011-11-20  Bruno Haible  <bruno@clisp.org>
7485
7486         fma: Remove unused code.
7487         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
7488         unused macros.
7489
7490 2011-11-20  Bruno Haible  <bruno@clisp.org>
7491
7492         sethostname: Fix doc about AIX.
7493         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
7494         sethostname; it has it.
7495
7496         sethostname: Mention more portability problems.
7497         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
7498         problem.
7499         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7500
7501 2011-11-19  Bruno Haible  <bruno@clisp.org>
7502
7503         Depend on module fcntl-h when AT_FDCWD is used.
7504         * modules/utimens (Depends-on): Add fcntl-h.
7505         * modules/areadlinkat (Depends-on): Likewise.
7506         * modules/areadlinkat-with-size (Depends-on): Likewise.
7507         * modules/faccessat (Depends-on): Likewise.
7508         * modules/fchmodat (Depends-on): Likewise.
7509         * modules/fchownat (Depends-on): Likewise.
7510         * modules/getcwd (Depends-on): Likewise.
7511         * modules/mkdirat (Depends-on): Likewise.
7512         * modules/mkfifoat (Depends-on): Likewise.
7513         * modules/readlinkat (Depends-on): Likewise.
7514         * modules/symlinkat (Depends-on): Likewise.
7515         * modules/dup2-tests (Depends-on): Likewise.
7516         * modules/fdutimensat-tests (Depends-on): Likewise.
7517         * modules/futimens-tests (Depends-on): Likewise.
7518
7519 2011-11-19  Bruno Haible  <bruno@clisp.org>
7520
7521         euidaccess: Update a comment.
7522         * lib/euidaccess.c: Update comment about platforms with faccessat.
7523
7524 2011-11-19  Bruno Haible  <bruno@clisp.org>
7525
7526         openat: Fix file list.
7527         * modules/openat (Files): Remove lib/at-func.c.
7528
7529 2011-11-19  Bruno Haible  <bruno@clisp.org>
7530
7531         fstatat: Simplify.
7532         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
7533         gnulib should define rpl_fstatat, there is a
7534         "#define fstatat rpl_fstatat" in <sys/stat.h>.
7535
7536 2011-11-19  Bruno Haible  <bruno@clisp.org>
7537
7538         Ensure 'inline' can be used in tests/test-utimens-common.h.
7539         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
7540         * modules/futimens-tests (configure.ac): Likewise.
7541         * modules/utimens-tests (configure.ac): Likewise.
7542         * modules/utimensat-tests (configure.ac): Likewise.
7543
7544 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7545
7546         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
7547         not hash_insert0.
7548         (hash_insert_if_absent): Doc fix.
7549
7550 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7551
7552         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
7553
7554 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7555
7556         test-getcwd: disambiguate exit status
7557         * tests/test-getcwd.c (test_long_name): Return 0..7.
7558         (main): Exit with an unambiguous exit status.  The old
7559         code yielded a mysterious mixture of two failure codes.
7560
7561         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
7562         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
7563         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
7564         rpl_fstatat or fstatat.  This should fix the other problem
7565         reported by Kai Habel in
7566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7567         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
7568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
7569         and I reproduced it on a Solaris 8 host we still have in production.
7570
7571 2011-11-18  Jim Meyering  <meyering@redhat.com>
7572
7573         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
7574         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
7575         Add a sentence to the comment.
7576         (hash_insert0): New function that simply calls hash_insert_if_absent.
7577         * lib/hash.h (hash_insert_if_absent): Declare it.
7578         (hash_insert0): Add deprecation attribute.
7579         (_GL_ATTRIBUTE_DEPRECATED): Define.
7580         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
7581         not hash_insert0.
7582         * NEWS: Mention it, even though it's not really an incompatible change.
7583
7584 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
7585
7586         openat: avoid compilation failure due to lack of <errno.h> inclusion
7587         * lib/openat.c: Include <errno.h>.
7588
7589 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7590
7591         * modules/getcwd (Depends-on): Add fdopendir.
7592         This fixes one of the two problems reported by Kai Habel in
7593         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7594
7595         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
7596         stdalign problem reported by Ian Beckwith in
7597         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
7598         * modules/crypto/gc-arcfour (Depends-on):
7599         Depend conditionally on crypto/arcfour.
7600         * modules/crypto/gc-arctwo (Depends-on):
7601         Depend conditionally on crypto/arctwo.
7602         * modules/crypto/gc-des (Depends-on):
7603         Depend conditionally on crypto/des.
7604         * modules/crypto/gc-hmac-md5 (Depends-on):
7605         Depend conditionally on crypto/hmac-md5.
7606         * modules/crypto/gc-hmac-sha1 (Depends-on):
7607         Depend conditionally on crypto/hmac-sha1.
7608         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
7609         * modules/crypto/gc-md4 (Depends-on):
7610         Depend conditionally on crypto/md4.
7611         * modules/crypto/gc-md5 (Depends-on):
7612         Depend conditionally on crypto/md5.
7613         * modules/crypto/gc-rijndael (Depends-on):
7614         Depend conditionally on crypto/rijndael.
7615         * modules/crypto/gc-sha1 (Depends-on):
7616         Depend conditionally on crypto/sha1.
7617         * modules/crypto/gc-arcfour:
7618         * modules/crypto/gc-arctwo:
7619         * modules/crypto/gc-des:
7620         * modules/crypto/gc-hmac-md5:
7621         * modules/crypto/gc-hmac-sha1:
7622         * modules/crypto/gc-md2:
7623         * modules/crypto/gc-md4:
7624         * modules/crypto/gc-md5:
7625         * modules/crypto/gc-rijndael:
7626         * modules/crypto/gc-sha1:
7627         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
7628         now that the conditional dependencies do the work for us.
7629
7630 2011-11-17  Jim Meyering  <meyering@redhat.com>
7631
7632         tests: factor st_ctime-comparison out of two headers
7633         * tests/test-utimens-common.h (ctime_compare): Define.
7634         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
7635         * tests/test-lutimens.h (test_lutimens): Likewise.
7636         * tests/test-utimens.h (test_utimens): Likewise.
7637
7638         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
7639         Invoke the test program via an init.sh-using wrapper.
7640         * tests/test-getcwd.sh: New file.
7641         * modules/getcwd-tests (Files): Add it.
7642         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
7643
7644 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
7645
7646         gitlog-to-changelog: support multi-author commits.
7647         The FSF cares about keeping track of all authors of patches to its
7648         projects, but Git doesn't provide obvious support for multi-author
7649         changesets. Consensus seems to be forming around the use of extra
7650         Signed-off-by inspired lines in the log message formatted as
7651         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
7652         multi-author commits between version control systems.
7653         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
7654         log message and output in standard ChangeLog multi-author format.
7655         Reported by Peter Rosin <peda@lysator.liu.se>
7656
7657 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
7658             Bruno Haible  <bruno@clisp.org>
7659
7660         Fix some modules' file list.
7661         * modules/fstatat (Files): Add m4/lstat.m4.
7662         * modules/openat (Files): Likewise.
7663         * modules/unlinkat (Files): Likewise.
7664
7665 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
7666
7667         maint.mk: fix tight-scope.mk generation in VPATH builds.
7668         * top/maint.mk (tight-scope.mk): Make sure to prefix file
7669         reference with $(srcdir) so that the file is found correctly even
7670         when running `make syntax-check' in a VPATH build.
7671
7672 2011-11-13  Bruno Haible  <bruno@clisp.org>
7673             Jim Meyering  <meyering@redhat.com>
7674
7675         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
7676         * tests/init.sh (compare): Remove "No differences encountered" or
7677         synonymous output from the 'diff' program.
7678
7679 2011-11-13  Bruno Haible  <bruno@clisp.org>
7680
7681         Makefile: Tweak indentation.
7682         * Makefile: Use tab as first character in every line that contains rule
7683         commands.
7684
7685 2011-11-13  Bruno Haible  <bruno@clisp.org>
7686
7687         Syntax check for copyright statements.
7688         * check-copyright: New file.
7689         * Makefile (sc_check_copyright): New rule.
7690
7691 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7692
7693         * build-aux/git-version-gen: Add --prefix to configure the tag
7694         match string.
7695
7696 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7697
7698         * build-aux/git-version-gen: Add --help and --version.
7699
7700 2011-11-12  Jim Meyering  <meyering@redhat.com>
7701
7702         revamp the other test-exclude?.sh scripts to use init.sh, too
7703         * tests/test-exclude1.sh: Use init.sh.
7704         * tests/test-exclude2.sh: Likewise.
7705         * tests/test-exclude3.sh: Likewise.
7706         * tests/test-exclude4.sh: Likewise.
7707         * tests/test-exclude5.sh: Likewise.
7708         * tests/test-exclude6.sh: Likewise.
7709         * tests/test-exclude7.sh: Likewise.
7710         * tests/test-exclude8.sh: Likewise.
7711         * modules/exclude-tests (Files): List init.sh.
7712
7713         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
7714         These shell scripts ignored failure of the binary test-exclude,
7715         so making the latter return 77 didn't cause them to be skipped.
7716         * tests/test-exclude5.sh: Exit with test-exclude's error status
7717         when that program fails.  Revamp to use init.sh.
7718         * tests/test-exclude2.sh: Likewise.
7719
7720         test-exclude: fix a typo
7721         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
7722
7723 2011-11-11  Bruno Haible  <bruno@clisp.org>
7724
7725         obstack: Fix compilation error on MSVC 9.
7726         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
7727
7728 2011-11-11  Jim Meyering  <meyering@redhat.com>
7729
7730         test-exclude: skip tests rather than failing on deficient systems
7731         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
7732         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
7733         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
7734         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
7735
7736 2011-11-10  Bruno Haible  <bruno@clisp.org>
7737
7738         ptsname_r test: Avoid gcc warning on glibc systems.
7739         * tests/test-ptsname_r.c (null_ptr): New function.
7740         (test_errors): Use it.
7741
7742 2011-11-10  Bruno Haible  <bruno@clisp.org>
7743
7744         ptsname_r: Avoid compilation error on OSF/1 5.1.
7745         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
7746         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
7747         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
7748         function is not declared or incompatibly declared.
7749         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
7750         * modules/ptsname_r (Depends-on, configure.ac): Update.
7751         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
7752
7753 2011-11-10  Bruno Haible  <bruno@clisp.org>
7754
7755         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
7756         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
7757         When cross-compiling, guess yes on all platforms except AIX.
7758         Reported by Ludovic Courtès <ludo@gnu.org>.
7759
7760 2011-11-09  Bruno Haible  <bruno@clisp.org>
7761
7762         ptsname_r tests: Fix bugs.
7763         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
7764         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
7765
7766 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7767
7768         fstatat: work with cross-compilation
7769         Problem reported by Ludovic Courtès in
7770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7771         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7772         "cross-compiling" and assume the bug is present.  Replace
7773         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7774         an inverted sense, to be more conservative about our assumptions.
7775         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7776
7777 2011-11-09  Bruno Haible  <bruno@clisp.org>
7778
7779         Improve MODULES.html output.
7780         * modules/mkfifoat (Description): Use the word "function".
7781         * modules/readlinkat (Description): Likewise.
7782         * modules/symlinkat (Description): Likewise.
7783
7784 2011-11-09  Eric Blake  <eblake@redhat.com>
7785
7786         ptsname_r-tests: new test module
7787         * modules/ptsname_r-tests: New module.
7788         * tests/test-ptsname_r.c: New file.
7789
7790         ptsname_r: new module
7791         * modules/ptsname_r: New module.
7792         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7793         * lib/ptsname.c (__ptsname_r): Split...
7794         * lib/ptsname_r.c: ...into new file.
7795         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7796         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7797         * modules/stdlib (Makefile.am): Substitute witnesses.
7798         * lib/stdlib.in.h (ptsname_r): Declare it.
7799         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7800         * MODULES.html.sh (Misc): Likewise.
7801         * modules/ptsname (Depends-on): Alter dependency.
7802         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7803
7804 2011-11-09  Jim Meyering  <meyering@redhat.com>
7805
7806         announce-gen: be more concise when there's only one URL+tarball
7807         * build-aux/announce-gen (get_tool_versions): When you distribute
7808         only one type of tarball, combine the first two "Here are..."
7809         sections and make the key-checking grammar independent of
7810         how many tarballs there are.
7811
7812 2011-11-09  Eric Blake  <eblake@redhat.com>
7813
7814         openpty: provide a stub on mingw
7815         * lib/pty.in.h (includes): Provide forward declarations.
7816         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7817
7818         raise: fix mingw handling of SIGPIPE
7819         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7820
7821 2011-11-08  Bruno Haible  <bruno@clisp.org>
7822
7823         More conditional dependencies.
7824         * modules/faccessat (Depends-on): Add conditions.
7825         * modules/fchmodat (Depends-on): Likewise.
7826         * modules/fchownat (Depends-on): Likewise.
7827         * modules/fstatat (Depends-on): Likewise.
7828         * modules/mkfifoat (Depends-on): Likewise.
7829         * modules/readlinkat (Depends-on): Likewise.
7830         * modules/symlinkat (Depends-on): Likewise.
7831         * modules/unlinkat (Depends-on): Likewise.
7832         * modules/utimensat (Depends-on): Likewise.
7833         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7834         * modules/linkat (Depends-on): Refine the conditions.
7835         * modules/renameat (Depends-on): Likewise.
7836
7837 2011-11-08  Bruno Haible  <bruno@clisp.org>
7838
7839         faccessat: Move AC_LIBOBJ invocation to module description.
7840         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7841         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7842         invocation from here...
7843         * modules/faccessat (configure.ac): ... to here. Invoke
7844         gl_PREREQ_FACCESSAT.
7845
7846 2011-11-08  Bruno Haible  <bruno@clisp.org>
7847
7848         faccessat: Simplify autoconf macro.
7849         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7850         gl_FUNC_EUIDACCESS.
7851
7852 2011-11-08  Bruno Haible  <bruno@clisp.org>
7853
7854         renameat: Fix dependencies.
7855         * modules/renameat (Depends-on): Add stdbool.
7856
7857 2011-11-08  Bruno Haible  <bruno@clisp.org>
7858
7859         mkfifoat: Fix module description.
7860         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7861         not gl_UNISTD_MODULE_INDICATOR.
7862
7863 2011-11-08  Bruno Haible  <bruno@clisp.org>
7864
7865         fstatat: Remove unused dependency.
7866         * modules/fstatat (Depends-on): Remove fstat.
7867
7868 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7869
7870         GNUmakefile: behave when Makefile is missing.
7871         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7872
7873 2011-11-08  Bruno Haible  <bruno@clisp.org>
7874
7875         openat: Conditionalize dependencies.
7876         * lib/openat.c: Reduce the scope of some #includes.
7877         * modules/openat (Depends-on): Add conditions.
7878
7879 2011-11-07  Jim Meyering  <meyering@redhat.com>
7880
7881         maint.mk: extract GPG key ID without using a temporary file
7882         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7883         without using a temporary file.  Based on a suggestion from Werner Koch
7884         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7885
7886 2011-11-07  Eric Blake  <eblake@redhat.com>
7887
7888         grantpt: fix typo
7889         * lib/stdlib.in.h (grantpt): Check correct function.
7890
7891         maint.mk: silence new syntax check
7892         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7893
7894 2011-11-06  Bruno Haible  <bruno@clisp.org>
7895
7896         Doc about floating-point and math API.
7897         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7898         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7899
7900 2011-11-06  Bruno Haible  <bruno@clisp.org>
7901
7902         stdalign tests: Skip the test when compiled by Sun C.
7903         * tests/test-stdalign.c (main): Skip the test on Sun C.
7904
7905 2011-11-06  Bruno Haible  <bruno@clisp.org>
7906
7907         ansi-c++-opt: Complete the 2011-06-05 change.
7908         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7909         does not support namespaces, set the variable to "no", not to ":".
7910
7911 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7912
7913         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7914
7915 2011-11-06  Bruno Haible  <bruno@clisp.org>
7916
7917         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7918         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7919         (minus_zerol) [HP-UX]: New macro.
7920         (unary_minus) [HP-UX]: New function.
7921         (copysignl) [HP-UX]: Use unary_minus function.
7922
7923 2011-11-06  Bruno Haible  <bruno@clisp.org>
7924
7925         ldexp, ldexpf, ldexpl: Enhance tests.
7926         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7927         and tests/test-ldexpl.c.
7928         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7929         LDEXP, MIN_EXP, MAX_EXP): New macros.
7930         Include test-ldexp.h.
7931         (main): Just call test_function.
7932         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7933         infinity.h, nan.h.
7934         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7935         MAX_EXP): New macros.
7936         Include test-ldexp.h.
7937         (x, y): Remove variables.
7938         (main): Just call test_function.
7939         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
7940         infinity.h, nan.h.
7941         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7942         MAX_EXP): New macros.
7943         Include test-ldexp.h.
7944         (x, y): Remove variables.
7945         (main): Just call test_function.
7946         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
7947         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
7948         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7949         (Depends-on): Add isnand-nolibm, signbit, float.
7950         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
7951         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7952         (Depends-on): Add isnanf-nolibm, signbit, float.
7953
7954 2011-11-06  Bruno Haible  <bruno@clisp.org>
7955
7956         math tests: Cosmetics.
7957         * tests/test-math-c++.cc: Reorder declarations.
7958
7959 2011-11-05  Bruno Haible  <bruno@clisp.org>
7960
7961         fma*: Simplify test.
7962         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
7963         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
7964
7965         Tests for module 'fmal'.
7966         * modules/fmal-tests: New file.
7967         * tests/test-fmal1.c: New file.
7968         * tests/test-fmal2.c: New file.
7969
7970         New module 'fmal'.
7971         * lib/math.in.h (fmal): New declaration.
7972         * lib/fmal.c: New file.
7973         * m4/fmal.m4: New file.
7974         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
7975         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
7976         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
7977         REPLACE_FMAL.
7978         * modules/fmal: New file.
7979         * doc/posix-functions/fmal.texi: Mention the new module and the various
7980         bugs.
7981
7982         Tests for module 'fmaf'.
7983         * modules/fmaf-tests: New file.
7984         * tests/test-fmaf1.c: New file.
7985         * tests/test-fmaf2.c: New file.
7986
7987         New module 'fmaf'.
7988         * lib/math.in.h (fmaf): New declaration.
7989         * lib/fmaf.c: New file.
7990         * m4/fmaf.m4: New file.
7991         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7993         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7994         REPLACE_FMAF.
7995         * modules/fmaf: New file.
7996         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7997         bugs.
7998
7999         Tests for module 'fma'.
8000         * modules/fma-tests: New file.
8001         * tests/test-fma1.c: New file.
8002         * tests/test-fma1.h: New file.
8003         * tests/test-fma2.c: New file.
8004         * tests/test-fma2.h: New file.
8005
8006         New module 'fma'.
8007         * lib/math.in.h (fma): New declaration.
8008         * lib/fma.c: New file.
8009         * m4/fma.m4: New file.
8010         * m4/fegetround.m4: New file.
8011         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
8012         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
8013         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
8014         REPLACE_FMA.
8015         * modules/fma: New file.
8016         * doc/posix-functions/fma.texi: Mention the new module and the various
8017         bugs.
8018
8019         Extend gl_MATHFUNC.
8020         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
8021         Support 'void' as argument type.
8022         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
8023
8024 2011-11-05  Jim Meyering  <meyering@redhat.com>
8025
8026         maint.mk: also prohibit inclusion of dirent.h without use
8027         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
8028
8029 2011-11-05  Bruno Haible  <bruno@clisp.org>
8030
8031         ldexpl tests: Avoid test failure on MSVC 9.
8032         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
8033         value. Needed in order to enforce the conversion from a value greater
8034         than LDBL_MAX to Infinity.
8035
8036 2011-11-05  Bruno Haible  <bruno@clisp.org>
8037
8038         New modules 'at-internal', 'openat-h', split off from module 'openat'.
8039         * modules/at-internal: New file, extracted from modules/openat.
8040         * modules/openat-h: New file.
8041         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
8042         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
8043         * modules/openat (Description): Add reference to POSIX function.
8044         (Files): Remove lib/openat.h, lib/openat-proc.c.
8045         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
8046         intprops, unistd.
8047         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
8048         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
8049         gl_FCNTL_MODULE_INDICATOR.
8050         (Include): Remove unistd.h, openat.h.
8051         * modules/areadlinkat (Files): Add lib/at-func.c.
8052         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8053         openat-die, openat-h, save-cwd.
8054         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
8055         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8056         openat-die, openat-h, save-cwd, unistd.
8057         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
8058         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8059         openat-h, save-cwd. Remove fcntl-h, openat.
8060         * modules/fchmodat (Files): Remove lib/openat.h.
8061         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8062         openat, stdbool, unistd.
8063         * modules/fchownat (Files): Remove lib/openat.h.
8064         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8065         openat, stdbool, sys_stat.
8066         * modules/fdopendir (Files): Remove lib/openat-priv.h,
8067         lib/openat-proc.c.
8068         (Depends-on): Add at-internal.
8069         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
8070         * modules/fstatat (Files): Remove lib/openat.h.
8071         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8072         stdbool, unistd.
8073         * modules/fts (Depends-on): Add openat-h.
8074         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
8075         openat.
8076         * modules/mkdirat (Files): Remove lib/openat.h.
8077         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8078         openat, stdbool, sys_stat.
8079         * modules/mkfifoat (Files): Add lib/at-func.c.
8080         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8081         openat-h, save-cwd. Remove fcntl-h, openat.
8082         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
8083         * modules/readlinkat (Files): Add lib/at-func.c.
8084         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8085         openat-h, save-cwd. Remove fcntl-h, openat.
8086         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
8087         openat.
8088         * modules/selinux-at (Files): Add lib/at-func.c.
8089         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8090         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
8091         * modules/symlinkat (Files): Add lib/at-func.c.
8092         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8093         openat-h, save-cwd. Remove fcntl-h, openat.
8094         * modules/unlinkat (Files): Remove lib/openat.h.
8095         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8096         stdbool.
8097         * modules/utimensat (Files): Add lib/at-func.c.
8098         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
8099         openat-die, openat-h, save-cwd.
8100         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
8101         * modules/fdutimensat-tests (Depends-on): Add openat.
8102         * modules/fstatat-tests (Depends-on): Add openat-h.
8103         * modules/readlinkat-tests (Depends-on): Add openat.
8104         * modules/symlinkat-tests (Depends-on): Add openat.
8105
8106 2011-11-05  Bruno Haible  <bruno@clisp.org>
8107
8108         openat: Include <stdbool.h>.
8109         * lib/openat.c: Include <stdbool.h>.
8110
8111 2011-11-04  Bruno Haible  <bruno@clisp.org>
8112
8113         fchownat, renameat, unlinkat: Fix dependencies.
8114         * modules/fchownat (Depends-on): Add fstatat.
8115         * modules/renameat (Depends-on): Likewise.
8116         * modules/unlinkat (Depends-on): Likewise.
8117
8118 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
8119
8120         openat: remove direct dependency on dirent
8121         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
8122         and hasn't been needed ever since fdopendir was split into its own
8123         module on 2009-08-31.
8124         * modules/openat (Depends-on): Remove dirent.
8125
8126 2011-11-04  Bruno Haible  <bruno@clisp.org>
8127
8128         renameat: Optimize code size.
8129         * modules/renameat (configure.ac): Don't compile at-func2.c if
8130         REPLACE_RENAMEAT is 1.
8131
8132 2011-11-04  Bruno Haible  <bruno@clisp.org>
8133
8134         openat tests: Fix file list.
8135         * modules/openat-tests (Files): Add tests/test-open.h.
8136
8137 2011-11-04  Bruno Haible  <bruno@clisp.org>
8138
8139         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
8140         * modules/fchmodat (Depends-on): Add openat-die.
8141         * modules/fchownat (Depends-on): Likewise.
8142         * modules/linkat (Depends-on): Likewise.
8143         * modules/renameat (Depends-on): Likewise.
8144         * modules/openat (Depends-on): Add dirent.
8145
8146 2011-11-04  Jim Meyering  <meyering@redhat.com>
8147
8148         at-func*.c: fix comments
8149         * lib/at-func2.c: Correct/improve first-line comment.
8150         * lib/at-func.c: Correct grammar in first-line comment.
8151
8152 2011-11-04  Bruno Haible  <bruno@clisp.org>
8153
8154         New module 'mkdirat', split off from module 'openat'.
8155         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
8156         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
8157         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
8158         * modules/mkdirat: New file, extracted from modules/openat.
8159         * modules/openat (Files): Remove lib/mkdirat.c.
8160         (Depends-on): Remove mkdir.
8161         (configure.ac): Remove AC_LIBOBJ of mkdirat.
8162         (Include): Remove <sys/stat.h>.
8163         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
8164         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
8165         tests/test-mkdir.h.
8166         (Depends-on): Remove ignore-value.
8167         (Makefile.am): Remove rules for test-mkdirat.
8168         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
8169         of module 'openat'.
8170         * NEWS: Mention the change.
8171
8172 2011-11-04  Bruno Haible  <bruno@clisp.org>
8173
8174         closedir: Avoid warning on mingw.
8175         * lib/closedir.c: Include <unistd.h>.
8176
8177 2011-11-04  Bruno Haible  <bruno@clisp.org>
8178
8179         New module 'fstatat', split off from module 'openat'.
8180         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
8181         defined.
8182         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
8183         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8184         gl_FUNC_FSTATAT.
8185         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
8186         * modules/fstatat: New file, extracted from modules/openat.
8187         * modules/openat (Files): Remove lib/fstatat.c.
8188         (Depends-on): Remove lstat.
8189         (configure.ac): Remove AC_LIBOBJ of fstatat.
8190         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
8191         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
8192         tests/test-lstat.h, tests/test-stat.h.
8193         (Depends-on): Remove getcwd-lgpl.
8194         (Makefile.am): Remove rules for test-fstatat.
8195         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
8196         of module 'openat'.
8197         * NEWS: Mention the change.
8198         * modules/getcwd (Depends-on): Add fstatat.
8199         * modules/linkat (Depends-on): Likewise.
8200         * modules/mkfifoat-tests (Depends-on): Likewise.
8201         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
8202
8203 2011-11-03  Bruno Haible  <bruno@clisp.org>
8204
8205         New module 'unlinkat', split off from module 'openat'.
8206         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
8207         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
8208         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
8209         * modules/unlinkat: New file, extracted from modules/openat. Correct
8210         the dependency conditions.
8211         * modules/openat (Files): Remove lib/unlinkat.c.
8212         (Depends-on): Remove rmdir, unlink.
8213         (configure.ac): Remove AC_LIBOBJ of unlinkat.
8214         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
8215         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
8216         tests/test-rmdir.h, tests/test-unlink.h.
8217         (Depends-on): Remove unlinkdir.
8218         (Makefile.am): Remove rules for test-unlinkat.
8219         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
8220         of module 'openat'.
8221         * NEWS: Mention the change.
8222         * modules/linkat-tests (Depends-on): Add unlinkat.
8223         * modules/mkfifoat-tests (Depends-on): Likewise.
8224         * modules/readlinkat-tests (Depends-on): Likewise.
8225
8226 2011-11-02  Bruno Haible  <bruno@clisp.org>
8227
8228         New module 'fchmodat', split off from module 'openat'.
8229         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
8230         defined.
8231         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
8232         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
8233         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
8234         * modules/fchmodat: New file, extracted from modules/openat.
8235         * modules/openat (Files): Remove lib/fchmodat.c.
8236         (configure.ac): Remove AC_LIBOBJ of fchmodat.
8237         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
8238         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
8239         (Makefile.am): Remove rules for test-fchmodat.
8240         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
8241         of module 'openat'.
8242         * NEWS: Mention the change.
8243
8244 2011-11-02  Jim Meyering  <meyering@redhat.com>
8245
8246         putenv: indent #definition of "environ" to placate cppi
8247         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
8248
8249         gitlog-to-changelog: provide a ChangeLog-repair mechanism
8250         Git logs are often treated as immutable, because editing them
8251         changes the SHA1 checksums of all descendants.  Thus, errors in
8252         git logs tend to stay there forever.  However, when we generate
8253         a ChangeLog file -- typically for distribution -- from that git log,
8254         we can actually make corrections in the generated file.  The key
8255         lies in recording in machine-readable/applicable form the desired
8256         corrections.  See --help for description and an example.
8257         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
8258         (usage): Describe it; alphabetize option descriptions.
8259         (main): Honor the new option, carefully.
8260
8261 2011-11-01  Jim Meyering  <meyering@redhat.com>
8262
8263         gitlog-to-changelog: avoid an infloop
8264         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
8265         that ends up being empty.
8266
8267 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8268
8269         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
8270         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
8271         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
8272         contains (possibly-quoted) backslashes.  This should avoid
8273         all-too-common shell bugs if COMPLICATED contains backslashes in
8274         the "wrong" places.  Reported by David Evans in
8275         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
8276         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
8277         because we want ASCII ranges.  Is there some reason we don't use
8278         the C locale everywhere in this script?
8279         (func_module, top level): Avoid unwanted pathname expansion when
8280         $repo_url_prefix or $repo_url_suffix_repl contain shell
8281         metacharacters like '?' and '*'.
8282
8283 2011-11-01  Bruno Haible  <bruno@clisp.org>
8284
8285         fchownat: Improve description.
8286         * modules/fchownat (Description): Add link to function.
8287
8288 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8289
8290         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
8291         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
8292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
8293         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8294
8295 2011-11-01  Bruno Haible  <bruno@clisp.org>
8296
8297         alignof: Avoid collision with stdalign module.
8298         * lib/alignof.h (alignof): Remove macro.
8299         * NEWS: Mention the change.
8300         Reported by Paul Eggert.
8301
8302 2011-11-01  Bruno Haible  <bruno@clisp.org>
8303
8304         New module 'fchownat', split off from module 'openat'.
8305         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
8306         defined.
8307         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
8308         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
8309         invoke gl_FUNC_FCHOWNAT.
8310         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
8311         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
8312         * modules/fchownat: New file, extracted from modules/openat.
8313         * modules/openat (Files): Remove lib/fchownat.c.
8314         (Depends-on): Remove lchown.
8315         (configure.ac): Remove AC_LIBOBJ of fchownat.
8316         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
8317         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
8318         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
8319         (Depends-on): Remove mgetgroups, usleep, stat-time.
8320         (configure.ac): Remove test for getegid.
8321         (Makefile.am): Remove rules for test-fchownat.
8322         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
8323         of module 'openat'.
8324         * NEWS: Mention the change.
8325
8326 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8327
8328         stdalign: port better to MSVC and to Sun C 5.11
8329         This fixes some of the problems reported by Bruno Haible in
8330         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
8331         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
8332         shortcomings of MSVC and of Sun C 5.11.
8333         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
8334         around __declspec arg.
8335         * modules/stdalign-tests (Files): Add tests/macros.h.
8336         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
8337         Include macros.h, for ASSERT.
8338         (DECLARE_ALIGNED): Remove.
8339         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
8340         to catch bug), and to 1 if not (simplifies the rest of the code).
8341         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
8342         (CHECK_AUTO): Remove.
8343         (CHECK_ALIGNED): Check only the alignment of the static vars,
8344         since auto var alignment isn't supported by Sun C 5.11.
8345         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8346         ASSERT failures are easier to diagnose.
8347
8348 2011-10-31  Bruno Haible  <bruno@clisp.org>
8349
8350         doc about some IRIX 5.3 problems.
8351         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8352         on IRIX 5.3.
8353         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8354         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8355         5.3.
8356         * doc/posix-functions/grantpt.texi: Likewise.
8357         * doc/posix-functions/unlockpt.texi: Likewise.
8358         * doc/posix-functions/lgamma.texi: Likewise.
8359         * doc/posix-functions/nextafter.texi: Likewise.
8360         * doc/posix-functions/remainder.texi: Likewise.
8361         * doc/posix-functions/select.texi: Mention misplaced declaration on
8362         IRIX 5.3.
8363         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8364
8365 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8366
8367         gitlog-to-changelog: fix git-log invocation.
8368         git-log mishandles date strings before 1970-01-01 UTC, and there is
8369         no use to specify --since=1970-01-01 by default anyway.
8370         * build-aux/gitlog-to-changelog: By default, when no --since option
8371         was given, do not specify explicit --since option to git-log.
8372
8373 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8374
8375         gitlog-to-changelog: new option --append-dot.
8376         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8377         first non-blank line of each commit message terminated with a dot.
8378
8379 2011-10-30  Bruno Haible  <bruno@clisp.org>
8380
8381         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8382         * lib/ffsl.h: Include <config.h>.
8383         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8384
8385 2011-10-30  Jim Meyering  <meyering@redhat.com>
8386
8387         GNUmakefile: reenable "make syntax-check" for most projects
8388         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8389         build-aux variable", "syntax-check" would do nothing but succeed with
8390         the "No version control files detected..." diagnostic (unless you
8391         happened to override _build-aux via cfg.mk).
8392         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8393         to precede inclusion of maint.mk.  Otherwise, these variables would
8394         be used undefined in any project that does not override the default.
8395
8396 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8397
8398         gitlog-to-changelog: treat a message with only blank lines as empty.
8399         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8400         trailing blank lines before the code that issues a warning about an
8401         empty commit message.
8402
8403 2011-10-30  Jim Meyering  <meyering@redhat.com>
8404
8405         test-parse-datetime.c: avoid new DST-related false positive test failure
8406         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
8407         based on the time/date we'll convert, not the current time.
8408         Otherwise, the moment we cross a DST boundary like today's in
8409         Europe, (CEST to CET), that offset ends up being one hour off.
8410
8411 2011-10-27  Bruno Haible  <bruno@clisp.org>
8412
8413         fstat: Tweak documentation.
8414         * modules/fstat (Description): More precise description.
8415
8416 2011-10-27  Bruno Haible  <bruno@clisp.org>
8417
8418         Update documentation regarding 'largefile' module.
8419         * doc/posix-functions/fstat.texi: Tweak wording.
8420         * doc/posix-functions/opendir.texi: Mention that the module fixes the
8421         problems with huge directories and/or small ino_t types.
8422         * doc/posix-functions/readdir.texi: Likewise.
8423         * doc/posix-functions/rewinddir.texi: Likewise.
8424
8425 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
8426
8427         maint.mk: don't maintain a second build-aux variable.
8428         * maint.mk (build_aux): Removed.  The maintainer-makefile module
8429         depends on GNUmakefile, which already maintains a cfg.mk
8430         overridable $(_build-aux) for projects with a non-standard
8431         build-aux directory location, although without the $(srcdir)
8432         prefix.  Use that variable consistently instead of introducing a
8433         second one.  Adjust all call sites.
8434
8435 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8436
8437         Add stdalign module and use it in other modules.
8438         This is based on a previous proposal by Bruno Haible
8439         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
8440
8441         stdalign: new module
8442         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
8443         * modules/stdalign: New files.
8444         * MODULES.html.sh (c1x_core_properties): Add stdalign.
8445         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
8446
8447         stdalign-tests: new module
8448         * modules/stdalign-tests, tests/test-stdalign.c: New files.
8449
8450         argp: use stdalign
8451         * lib/argp-parse.c: Include <stdalign.h>.
8452         (alignof): Remove.
8453         * modules/argp (Depends-on): Add stdalign.
8454
8455         crypto libraries: use stdalign
8456         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
8457         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
8458         Do not include <stdlib.h> twice, in md4.c.
8459         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
8460         because we are accessing a pointer's bit-pattern, not a size.
8461         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
8462         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
8463         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
8464         * modules/crypto/sha512: Likewise.
8465
8466         sys_socket: use stdalign, not alignof
8467         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
8468         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
8469
8470 2011-10-27  Bruno Haible  <bruno@clisp.org>
8471
8472         raise test: Avoid a test failure on Linux/MIPS.
8473         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
8474         because 99 is a valid signal on Linux/MIPS.
8475
8476 2011-10-27  Bruno Haible  <bruno@clisp.org>
8477
8478         nonblocking tests: Fix test failure on Linux/MIPS.
8479         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
8480         Set to 270000.
8481
8482 2011-10-27  Bruno Haible  <bruno@clisp.org>
8483
8484         utimensat: Work around problem on Linux/hppa.
8485         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
8486         values.
8487         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
8488
8489 2011-10-25  Jim Meyering  <meyering@redhat.com>
8490
8491         maint.mk: fix a bug in sc_prohibit_stddef_without_use
8492         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
8493         after symbols like NULL, size_t, etc.
8494         Reported by Alfred M. Szmidt.
8495
8496         maint.mk: exempt ENODATA from a syntax-check rule
8497         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
8498         from the sc_prohibit_always-defined_macros syntax-check rule.
8499         Add a comment.  See this for more details:
8500         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
8501
8502 2011-10-23  Jim Meyering  <meyering@redhat.com>
8503
8504         fts: close parent dir FD before returning from post-traversal fts_read
8505         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
8506         unlink A, even though an FD open on A remained.  This is suboptimal
8507         (holding a file descriptor open longer than needed), but otherwise not
8508         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
8509         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
8510         that represents a real problem: it causes the removal of A to fail
8511         with e.g., "rm: cannot remove `A': Device or resource busy"
8512
8513         fts visits each directory twice and keeps a cache (fts_fd_ring) of
8514         directory file descriptors.  After completing the final, FTS_DP,
8515         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
8516         cache, but then proceeded to add a new FD to it via the subsequent
8517         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
8518         final file descriptor would be closed only via fts_close's call to
8519         fd_ring_clear.  Now, it is usually closed earlier, via the final
8520         FTS_DP-returning fts_read call.
8521         * lib/fts.c (restore_initial_cwd): New function, converted from
8522         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
8523         Update callers.
8524         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
8525         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
8526
8527 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
8528             Bruno Haible  <bruno@clisp.org>
8529             Jim Meyering  <jim@meyering.net>
8530
8531         readme-release: improve safety of release prep instructions.
8532         * README-release: Don't git pull all branches when only master
8533         is needed for the release process.
8534         Run make maintainer-clean before changing trees and merging.
8535         Don't try to run ./configure right after git pull in case files
8536         that influence the bootstrap process have changed, move the
8537         ./configure step to after running ./bootstrap.
8538         Don't bootstrap "one last time"... it's the first time!
8539
8540 2011-10-22  Bruno Haible  <bruno@clisp.org>
8541
8542         errno, strerror-override: Support for MSVC 10.
8543         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
8544         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
8545         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
8546         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
8547         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
8548         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
8549         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
8550         Assign values compatible with MSVC 10.
8551         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
8552         New macros.
8553         (GNULIB_defined_EWINSOCK): New macro.
8554         * lib/strerror-override.c (strerror_override): Update accordingly.
8555         * lib/strerror-override.h: Likewise.
8556         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
8557         longer equal to the corresponding errno value.
8558         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8559
8560 2011-10-22  Bruno Haible  <bruno@clisp.org>
8561
8562         perror: Recognize when test program crashes.
8563         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
8564         strerror, set gl_cv_func_perror_works to no.
8565         Reported by Daniel Richard G. <skunk@iskunk.org>.
8566
8567         perror: Fix indentation.
8568         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
8569
8570 2011-10-22  Bruno Haible  <bruno@clisp.org>
8571
8572         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
8573         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
8574         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
8575         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
8576         functions, not as a macro.
8577         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
8578         macros.
8579         (isfinite, isinf, isnan, signbit): Check overloaded functions and
8580         absence of macro.
8581         Suggested by Eric Blake.
8582         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8583
8584 2011-10-21  Bruno Haible  <bruno@clisp.org>
8585
8586         relocatable-prog-wrapper: Don't leave object files behind.
8587         * build-aux/install-reloc: Re-synchronize list of .o files to be
8588         removed with list of compilation units.
8589
8590 2011-10-20  Bruno Haible  <bruno@clisp.org>
8591
8592         openpty, posix_openpt: Remove code duplication.
8593         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
8594         * lib/openpty.c: Include <stdlib.h>.
8595         (openpty): Use posix_openpt on all platforms except IRIX.
8596         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
8597
8598 2011-10-20  Bruno Haible  <bruno@clisp.org>
8599
8600         unlockpt: Detect invalid argument.
8601         * lib/unlockpt.c: Include <fcntl.h>.
8602         (unlockpt): Check whether fd is valid, using fcntl().
8603         * modules/unlockpt (Depends-on): Add fcntl-h.
8604
8605 2011-10-20  Bruno Haible  <bruno@clisp.org>
8606
8607         openpty: Avoid compilation error on AIX 6.1.
8608         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
8609
8610 2011-10-20  Bruno Haible  <bruno@clisp.org>
8611
8612         posix_openpt: Support for OpenBSD.
8613         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
8614         (posix_openpt) [OpenBSD]: New code.
8615         * lib/grantpt.c: Include <fcntl.h>.
8616         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
8617         * modules/grantpt (Depends-on): Add fcntl-h.
8618
8619 2011-10-20  Bruno Haible  <bruno@clisp.org>
8620
8621         posix_openpt test: Coding style.
8622         * tests/test-posix_openpt.c: Use GNU coding style.
8623
8624 2011-10-20  Bruno Haible  <bruno@clisp.org>
8625
8626         grantpt: Support --avoid=pt_chown.
8627         * modules/grantpt (Files): Add lib/pty-private.h.
8628
8629 2011-10-20  Bruno Haible  <bruno@clisp.org>
8630
8631         posix_openpt: Fix autoconf macro.
8632         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
8633         unneeded check for _getpty.
8634
8635 2011-10-20  Bruno Haible  <bruno@clisp.org>
8636
8637         openpty: Update comments.
8638         * lib/openpty.c: Add comments about Minix.
8639
8640 2011-10-19  Eric Blake  <eblake@redhat.com>
8641
8642         openpty: relax license
8643         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
8644
8645         pt_chown: use configmake to simplify build
8646         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
8647
8648         ptsname and others: relax license
8649         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
8650         * modules/unlockpt (License): Likewise.
8651         * modules/pt_chown (License): Likewise.
8652         * modules/ptsname (License): Likewise.
8653         * modules/ttyname_r (License): Likewise.
8654
8655 2011-10-19  Jim Meyering  <meyering@redhat.com>
8656
8657         posix_openpt: remove spurious #endif
8658         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
8659
8660 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
8661
8662         maint.mk: Respect $(build_aux) in web-manual rule.
8663         * top/maint.mk (web-manual): Find gen-announce script in user's
8664         $(build_aux) directory instead of hard-coding 'build-aux'.
8665
8666 2011-10-19  Bruno Haible  <bruno@clisp.org>
8667
8668         posix_openpt: Fix compilation error.
8669         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
8670         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
8671         Mention the openpty module as an alternative.
8672
8673 2011-10-19  Bruno Haible  <bruno@clisp.org>
8674
8675         Support for old NeXTstep 3.3 frexp().
8676         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
8677         execution time of the test to 5 seconds.
8678         Reported by Daniel Richard G. <skunk@iskunk.org>.
8679
8680 2011-10-19  Bruno Haible  <bruno@clisp.org>
8681
8682         Support for old NeXTstep 3.3 sed.
8683         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
8684         part, use /.../, not \|...|. Escape periods in the header file name.
8685         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8686         Reported by Daniel Richard G. <skunk@iskunk.org>.
8687
8688 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8689
8690         Support for old NeXTstep 3.3 gcc.
8691         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
8692         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
8693         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
8694         * lib/spawn.in.h (_Restrict_arr_): Likewise.
8695         * lib/regex.h (_Restrict_arr_): Likewise.
8696         * lib/regex_internal.h (re_token_t): Likewise.
8697         * lib/regexec.c (check_node_accept_bytes): Likewise.
8698         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
8699
8700 2011-10-18  Eric Blake  <eblake@redhat.com>
8701
8702         posix_openpt: new module
8703         * modules/posix_openpt: New module.
8704         * m4/posix_openpt.m4: New file.
8705         * lib/posix_openpt.c: Likewise.
8706         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8707         (gl_STDLIB_H_DEFAULTS): Set defaults.
8708         * modules/stdlib (Makefile.am): Substitute macros.
8709         * lib/stdlib.in.h (posix_openpt): Declare.
8710         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
8711         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
8712         * modules/posix_openpt-tests: New test module.
8713         * tests/test-posix_openpt.c: New test.
8714
8715 2011-10-15  Bruno Haible  <bruno@clisp.org>
8716
8717         xstrtoll: Fix compilation failure.
8718         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
8719         from lib/strtol.c.
8720         * doc/posix-headers/limits.texi: Mention missing numerical limits on
8721         some platforms.
8722         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8723
8724 2011-10-15  Bruno Haible  <bruno@clisp.org>
8725
8726         vasnprintf: Optimize bit search operation.
8727         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
8728         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
8729         gl_DOUBLE_EXPONENT_LOCATION.
8730         * modules/vasnprintf (Files): Add m4/exponentd.m4.
8731         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8732         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8733         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8734         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8735         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8736         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8737         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8738         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
8739
8740 2011-10-15  Bruno Haible  <bruno@clisp.org>
8741
8742         vasnprintf: Fix comments.
8743         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
8744
8745 2011-10-14  Bruno Haible  <bruno@clisp.org>
8746
8747         Tests for module 'integer_length_ll'.
8748         * modules/integer_length_ll-tests: New file.
8749         * tests/test-integer_length_ll.c: New file.
8750
8751         New module 'integer_length_ll'.
8752         * lib/integer_length_ll.c: New file.
8753         * modules/integer_length_ll: New file.
8754
8755 2011-10-14  Bruno Haible  <bruno@clisp.org>
8756
8757         Tests for module 'integer_length_l'.
8758         * modules/integer_length_l-tests: New file.
8759         * tests/test-integer_length_l.c: New file.
8760
8761         New module 'integer_length_l'.
8762         * lib/integer_length_l.c: New file.
8763         * modules/integer_length_l: New file.
8764
8765 2011-10-14  Bruno Haible  <bruno@clisp.org>
8766
8767         Tests for module 'integer_length'.
8768         * modules/integer_length-tests: New file.
8769         * tests/test-integer_length.c: New file.
8770
8771         New module 'integer_length'.
8772         * lib/integer_length.h: New file.
8773         * lib/integer_length.c: New file.
8774         * modules/integer_length: New file.
8775
8776 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8777
8778         popen: Fix dependency conditions.
8779         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8780
8781 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8782
8783         perror: Fix autoconf test.
8784         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8785         <stdlib.h> and <string.h>.
8786
8787 2011-10-14  Bruno Haible  <bruno@clisp.org>
8788
8789         ffsl: Optimize on 64-bit platforms.
8790         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8791         unrolling.
8792
8793 2011-10-13  Bruno Haible  <bruno@clisp.org>
8794
8795         ffsl: Optimize on 32-bit platforms.
8796         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8797         use ffs() without a loop.
8798
8799         ffsl, ffsll: Optimize for GCC.
8800         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8801         * lib/ffsl.c (GCC_BUILTIN): New macro.
8802         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8803
8804 2011-10-13  Bruno Haible  <bruno@clisp.org>
8805
8806         ffs, bcopy, memset: Support symbol renaming via config.h.
8807         * lib/ffs.c: Include <config.h>.
8808         * lib/bcopy.c: Likewise.
8809         * lib/memset.c: Likewise.
8810
8811 2011-10-10  Bruno Haible  <bruno@clisp.org>
8812
8813         atanl: Simplify for platforms where 'long double' == 'double'.
8814         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8815         alternative implementation.
8816         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8817         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8818         * modules/atanl (Depends-on): Add atan. Update conditions.
8819
8820 2011-10-10  Bruno Haible  <bruno@clisp.org>
8821
8822         acosl: Simplify for platforms where 'long double' == 'double'.
8823         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8824         alternative implementation.
8825         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8826         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8827         * modules/acosl (Depends-on): Add acos. Update conditions.
8828
8829 2011-10-10  Bruno Haible  <bruno@clisp.org>
8830
8831         asinl: Simplify for platforms where 'long double' == 'double'.
8832         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8833         alternative implementation.
8834         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8835         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8836         * modules/asinl (Depends-on): Add asin. Update conditions.
8837
8838 2011-10-10  Bruno Haible  <bruno@clisp.org>
8839
8840         tanl: Simplify for platforms where 'long double' == 'double'.
8841         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8842         implementation.
8843         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8844         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8845         * modules/tanl (Depends-on): Add tan. Update conditions.
8846         (configure.ac): Don't compile trigl.c if
8847         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8848
8849 2011-10-10  Bruno Haible  <bruno@clisp.org>
8850
8851         cosl: Simplify for platforms where 'long double' == 'double'.
8852         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8853         implementation.
8854         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8855         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8856         * modules/cosl (Depends-on): Add cos. Update conditions.
8857         (configure.ac): Don't compile sincosl.c and trigl.c if
8858         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8859
8860 2011-10-10  Bruno Haible  <bruno@clisp.org>
8861
8862         sinl: Simplify for platforms where 'long double' == 'double'.
8863         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8864         implementation.
8865         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8866         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8867         * modules/sinl (Depends-on): Add sin. Update conditions.
8868         (configure.ac): Don't compile sincosl.c and trigl.c if
8869         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8870
8871 2011-10-10  Bruno Haible  <bruno@clisp.org>
8872
8873         logl: Simplify for platforms where 'long double' == 'double'.
8874         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8875         implementation.
8876         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8877         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8878         * modules/logl (Depends-on): Add log. Update conditions.
8879
8880 2011-10-10  Bruno Haible  <bruno@clisp.org>
8881
8882         expl: Simplify for platforms where 'long double' == 'double'.
8883         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8884         implementation.
8885         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8886         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8887         * modules/expl (Depends-on): Add exp. Update conditions.
8888
8889 2011-10-10  Bruno Haible  <bruno@clisp.org>
8890
8891         sqrtl: Simplify for platforms where 'long double' == 'double'.
8892         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8893         alternative implementation.
8894         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8895         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8896         * modules/sqrtl (Depends-on): Update conditions.
8897
8898 2011-10-10  Bruno Haible  <bruno@clisp.org>
8899
8900         ldexpl: Simplify for platforms where 'long double' == 'double'.
8901         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8902         alternative implementation.
8903         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8904         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8905         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8906
8907 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8908
8909         ffsll: set correct witness
8910         * modules/ffsll (configure.ac): Fix typo.
8911
8912 2011-10-10  Bruno Haible  <bruno@clisp.org>
8913
8914         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8915         * lib/printf-frexpl.c: Include <config.h>.
8916         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8917         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8918         second time.
8919         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8920         gl_LONG_DOUBLE_VS_DOUBLE.
8921         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8922         conditions.
8923
8924 2011-10-10  Bruno Haible  <bruno@clisp.org>
8925
8926         frexpl: Simplify for platforms where 'long double' == 'double'.
8927         * lib/frexpl.c: Include <config.h>.
8928         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8929         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8930         time.
8931         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8932         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8933         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8934         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8935         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8936         conditions.
8937
8938 2011-10-10  Jim Meyering  <meyering@redhat.com>
8939
8940         test-renameat: don't leave behind a temporary file
8941         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
8942           ERROR: files left in build directory after distclean:
8943           ./gltests/test-renameat.too
8944           make[1]: *** [distcleancheck] Error 1
8945         Reported by Tom G. Christensen.
8946
8947 2011-10-09  Bruno Haible  <bruno@clisp.org>
8948
8949         rint: Determine RINT_LIBM correctly on AIX 7.
8950         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
8951         directly, not only through a function pointer. Also accept an optional
8952         4th argument with extra code.
8953         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
8954         rintf() call by gcc when optimizing.
8955
8956         mathfunc.m4: Refactor.
8957         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
8958         m4 variable.
8959
8960 2011-10-09  Bruno Haible  <bruno@clisp.org>
8961
8962         rintl: Simplify for platforms where 'long double' == 'double'.
8963         * lib/rintl.c: Include <config.h>.
8964         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8965         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8966         time.
8967         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8968         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8969         * modules/rintl (Depends-on): Add rint. Update conditions.
8970
8971 2011-10-09  Bruno Haible  <bruno@clisp.org>
8972
8973         roundl: Simplify for platforms where 'long double' == 'double'.
8974         * lib/roundl.c: Include <config.h>.
8975         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8976         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8977         time.
8978         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8979         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8980         * modules/roundl (Depends-on): Add round. Update conditions.
8981
8982 2011-10-09  Bruno Haible  <bruno@clisp.org>
8983
8984         truncl: Simplify for platforms where 'long double' == 'double'.
8985         * lib/truncl.c: Include <config.h>.
8986         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8987         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8988         time.
8989         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8990         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8991         * modules/truncl (Depends-on): Add trunc. Update conditions.
8992
8993 2011-10-09  Bruno Haible  <bruno@clisp.org>
8994
8995         ceill: Simplify for platforms where 'long double' == 'double'.
8996         * lib/ceill.c: Include <config.h>.
8997         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8998         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8999         time.
9000         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9001         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9002         * modules/ceill (Depends-on): Add ceil. Update conditions.
9003
9004 2011-10-09  Bruno Haible  <bruno@clisp.org>
9005
9006         floorl: Simplify for platforms where 'long double' == 'double'.
9007         * lib/floorl.c: Include <config.h>.
9008         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9009         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9010         time.
9011         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9012         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9013         * modules/floorl (Depends-on): Add floor. Update conditions.
9014
9015 2011-10-09  Bruno Haible  <bruno@clisp.org>
9016
9017         rint: Fix ordering constraints.
9018         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
9019         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
9020         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
9021
9022 2011-10-09  Bruno Haible  <bruno@clisp.org>
9023
9024         copysignl: Simplify for platforms where 'long double' == 'double'.
9025         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9026         alternative.
9027         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9028         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9029         * modules/copysignl (Depends-on): Add copysign. Update conditions.
9030
9031 2011-10-09  Bruno Haible  <bruno@clisp.org>
9032
9033         Tests for module 'rintl'.
9034         * modules/rintl-tests: New file.
9035         * tests/test-rintl.c: New file.
9036
9037         New module 'rintl'.
9038         * lib/math.in.h (rintl): New declaration.
9039         * lib/rintl.c: New file.
9040         * m4/rintl.m4: New file.
9041         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
9042         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
9043         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
9044         * modules/rintl: New file.
9045         * tests/test-math-c++.cc: Check the declaration of rintl.
9046         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9047         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
9048         * doc/posix-functions/rintl.texi: Mention the new module.
9049
9050 2011-10-09  Bruno Haible  <bruno@clisp.org>
9051
9052         Tests for module 'rintf'.
9053         * modules/rintf-tests: New file.
9054         * tests/test-rintf.c: New file.
9055
9056         New module 'rintf'.
9057         * lib/math.in.h (rintf): New declaration.
9058         * lib/rintf.c: New file.
9059         * m4/rintf.m4: New file.
9060         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
9061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
9062         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
9063         * modules/rintf: New file.
9064         * tests/test-math-c++.cc: Check the declaration of rintf.
9065         * doc/posix-functions/rintf.texi: Mention the new module.
9066
9067 2011-10-09  Bruno Haible  <bruno@clisp.org>
9068
9069         rint: Support for MSVC.
9070         * lib/math.in.h (rint): New declaration.
9071         * lib/rint.c: New file.
9072         * m4/rint.m4: New file.
9073         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
9074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
9075         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
9076         * modules/rint (Description): Fix.
9077         (Files): Add lib/rint.c, m4/rint.m4.
9078         (Depends-on): Add math.
9079         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
9080         gl_MATH_MODULE_INDICATOR.
9081         * tests/test-math-c++.cc: Check the declaration of rint.
9082         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9083         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
9084         * doc/posix-functions/rint.texi: Mention the replacement provided by
9085         the module.
9086
9087         rint tests: More tests.
9088         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
9089         minus-zero.h, infinity.h, nan.h.
9090         (main): Skip the test if the current rounding mode is not standard. Add
9091         tests for negative numbers, minus zero, infinity, NaN.
9092         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
9093         tests/nan.h.
9094         (Depends-on): Add isnand-nolibm.
9095
9096 2011-10-09  Bruno Haible  <bruno@clisp.org>
9097
9098         Tests for module 'copysignl'.
9099         * modules/copysignl-tests: New file.
9100         * tests/test-copysignl.c: New file.
9101
9102         New module 'copysignl'.
9103         * lib/math.in.h (copysignl): New declaration.
9104         * lib/copysignl.c: New file.
9105         * m4/copysignl.m4: New file.
9106         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
9107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
9108         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
9109         HAVE_COPYSIGNL.
9110         * modules/copysignl: New file.
9111         * tests/test-math-c++.cc: Check the declaration of copysignl.
9112         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9113         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
9114         * doc/posix-functions/copysignl.texi: Mention the new module.
9115
9116 2011-10-09  Bruno Haible  <bruno@clisp.org>
9117
9118         Tests for module 'copysignf'.
9119         * modules/copysignf-tests: New file.
9120         * tests/test-copysignf.c: New file.
9121
9122         New module 'copysignf'.
9123         * lib/math.in.h (copysignf): New declaration.
9124         * lib/copysignf.c: New file.
9125         * m4/copysignf.m4: New file.
9126         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
9127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
9128         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
9129         HAVE_COPYSIGNF.
9130         * modules/copysignf: New file.
9131         * tests/test-math-c++.cc: Check the declaration of copysignf.
9132         * doc/posix-functions/copysignf.texi: Mention the new module.
9133
9134 2011-10-09  Bruno Haible  <bruno@clisp.org>
9135
9136         Ensure that HAVE_* variables are set to 1 before they are set to 0.
9137         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
9138         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
9139         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9140         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
9141         gl_SIGNAL_H_DEFAULTS.
9142
9143 2011-10-09  Bruno Haible  <bruno@clisp.org>
9144
9145         poll: Make macro safer.
9146         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
9147         ac_cv_header_poll_h is not set.
9148
9149 2011-10-09  Bruno Haible  <bruno@clisp.org>
9150
9151         copysign: Provide replacement.
9152         * lib/math.in.h (copysign): New declaration.
9153         * lib/copysign.c: New file.
9154         * m4/copysign.m4: New file.
9155         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
9156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
9157         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
9158         HAVE_COPYSIGN.
9159         * modules/copysign (Description): Clarify.
9160         (Files): Add lib/copysign.c, m4/copysign.m4.
9161         (Depends-on): Add math, signbit.
9162         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
9163         gl_MATH_MODULE_INDICATOR.
9164         * tests/test-math-c++.cc: Check the declaration of copysign.
9165         * doc/posix-functions/copysign.texi: Mention the effects of the module
9166         on Minix and MSVC.
9167
9168 2011-10-09  Bruno Haible  <bruno@clisp.org>
9169
9170         isinf: Ensure macro on AIX 5.1.
9171         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
9172         macro.
9173         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
9174
9175 2011-10-09  Bruno Haible  <bruno@clisp.org>
9176
9177         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
9178         * modules/snprintf-posix-tests (configure.ac): Require
9179         gl_LONG_DOUBLE_VS_DOUBLE.
9180         * modules/sprintf-posix-tests (configure.ac): Likewise.
9181         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
9182         * modules/vasprintf-posix-tests (configure.ac): Likewise.
9183         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
9184         * modules/vsprintf-posix-tests (configure.ac): Likewise.
9185         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
9186         tests on platforms where 'long double' is the same as 'double'.
9187         * tests/test-sprintf-posix.h (test_function): Likewise.
9188         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9189         * tests/test-vasprintf-posix.c (test_function): Likewise.
9190
9191         *printf: Fix for platforms where 'long double' == 'double'.
9192         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9193         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
9194         * modules/dprintf-posix (Files): Add m4/math_h.m4.
9195         * modules/fprintf-posix (Files): Likewise.
9196         * modules/obstack-printf-posix (Files): Likewise.
9197         * modules/snprintf-posix (Files): Likewise.
9198         * modules/sprintf-posix (Files): Likewise.
9199         * modules/vasnprintf (Files): Likewise.
9200         * modules/vasnprintf-posix (Files): Likewise.
9201         * modules/vasprintf-posix (Files): Likewise.
9202         * modules/vdprintf-posix (Files): Likewise.
9203         * modules/vfprintf-posix (Files): Likewise.
9204         * modules/vsnprintf-posix (Files): Likewise.
9205         * modules/vsprintf-posix (Files): Likewise.
9206         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9207         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9208         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9209         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9210         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9211         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9212         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9213
9214         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
9215         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
9216         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9217         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
9218         'long double'.
9219         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
9220
9221         isinf: Fix for platforms where 'long double' == 'double'.
9222         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9223         Don't blindly assume 80-bit 'long double'.
9224
9225         isfinite: Fix for platforms where 'long double' == 'double'.
9226         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9227         Don't blindly assume 80-bit 'long double'.
9228
9229         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
9230         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
9231         * modules/isfinite-tests (configure.ac): Require
9232         gl_LONG_DOUBLE_VS_DOUBLE.
9233         * modules/isinf-tests (configure.ac): Likewise.
9234         * modules/isnan-tests (configure.ac): Likewise.
9235         * modules/isnanl-tests (configure.ac): Likewise.
9236         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
9237         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
9238         tests on platforms where 'long double' is the same as 'double'.
9239         * tests/test-isinf.c (test_isinfl): Likewise.
9240         * tests/test-isnan.c (test_long_double): Likewise.
9241         * tests/test-isnanl.h (main): Likewise.
9242
9243 2011-10-08  Bruno Haible  <bruno@clisp.org>
9244
9245         Tests for module 'tanhf'.
9246         * modules/tanhf-tests: New file.
9247         * tests/test-tanhf.c: New file.
9248
9249         New module 'tanhf'.
9250         * lib/math.in.h (tanhf): New declaration.
9251         * lib/tanhf.c: New file.
9252         * m4/tanhf.m4: New file.
9253         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
9254         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
9255         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
9256         * modules/tanhf: New file.
9257         * tests/test-math-c++.cc: Check the declaration of tanhf.
9258         * doc/posix-functions/tanhf.texi: Mention the new module.
9259
9260         tanh: Use a .m4 file.
9261         * m4/tanh.m4: New file.
9262         * modules/tanh (Files): Add it.
9263         (configure.ac): Just invoke gl_FUNC_TANH.
9264
9265 2011-10-08  Bruno Haible  <bruno@clisp.org>
9266
9267         Tests for module 'coshf'.
9268         * modules/coshf-tests: New file.
9269         * tests/test-coshf.c: New file.
9270
9271         New module 'coshf'.
9272         * lib/math.in.h (coshf): New declaration.
9273         * lib/coshf.c: New file.
9274         * m4/coshf.m4: New file.
9275         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
9276         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
9277         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
9278         * modules/coshf: New file.
9279         * tests/test-math-c++.cc: Check the declaration of coshf.
9280         * doc/posix-functions/coshf.texi: Mention the new module.
9281
9282         cosh: Use a .m4 file.
9283         * m4/cosh.m4: New file.
9284         * modules/cosh (Files): Add it.
9285         (configure.ac): Just invoke gl_FUNC_COSH.
9286
9287 2011-10-08  Bruno Haible  <bruno@clisp.org>
9288
9289         Tests for module 'sinhf'.
9290         * modules/sinhf-tests: New file.
9291         * tests/test-sinhf.c: New file.
9292
9293         New module 'sinhf'.
9294         * lib/math.in.h (sinhf): New declaration.
9295         * lib/sinhf.c: New file.
9296         * m4/sinhf.m4: New file.
9297         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
9298         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
9299         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
9300         * modules/sinhf: New file.
9301         * tests/test-math-c++.cc: Check the declaration of sinhf.
9302         * doc/posix-functions/sinhf.texi: Mention the new module.
9303
9304         sinh: Use a .m4 file.
9305         * m4/sinh.m4: New file.
9306         * modules/sinh (Files): Add it.
9307         (configure.ac): Just invoke gl_FUNC_SINH.
9308
9309 2011-10-08  Bruno Haible  <bruno@clisp.org>
9310
9311         Tests for module 'atan2f'.
9312         * modules/atan2f-tests: New file.
9313         * tests/test-atan2f.c: New file.
9314
9315         New module 'atan2f'.
9316         * lib/math.in.h (atan2f): New declaration.
9317         * lib/atan2f.c: New file.
9318         * m4/atan2f.m4: New file.
9319         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
9320         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
9321         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
9322         * modules/atan2f: New file.
9323         * tests/test-math-c++.cc: Check the declaration of atan2f.
9324         * doc/posix-functions/atan2f.texi: Mention the new module.
9325
9326         atan2: Use a .m4 file.
9327         * m4/atan2.m4: New file.
9328         * modules/atan2 (Files): Add it.
9329         (configure.ac): Just invoke gl_FUNC_ATAN2.
9330
9331 2011-10-08  Bruno Haible  <bruno@clisp.org>
9332
9333         Tests for module 'atanf'.
9334         * modules/atanf-tests: New file.
9335         * tests/test-atanf.c: New file.
9336
9337         New module 'atanf'.
9338         * lib/math.in.h (atanf): New declaration.
9339         * lib/atanf.c: New file.
9340         * m4/atanf.m4: New file.
9341         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
9342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
9343         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9344         * modules/atanf: New file.
9345         * tests/test-math-c++.cc: Check the declaration of atanf.
9346         * doc/posix-functions/atanf.texi: Mention the new module.
9347
9348         atan: Use a .m4 file.
9349         * m4/atan.m4: New file.
9350         * modules/atan (Files): Add it.
9351         (configure.ac): Just invoke gl_FUNC_ATAN.
9352
9353 2011-10-08  Bruno Haible  <bruno@clisp.org>
9354
9355         Tests for module 'acosf'.
9356         * modules/acosf-tests: New file.
9357         * tests/test-acosf.c: New file.
9358
9359         New module 'acosf'.
9360         * lib/math.in.h (acosf): New declaration.
9361         * lib/acosf.c: New file.
9362         * m4/acosf.m4: New file.
9363         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9365         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9366         * modules/acosf: New file.
9367         * tests/test-math-c++.cc: Check the declaration of acosf.
9368         * doc/posix-functions/acosf.texi: Mention the new module.
9369
9370         acos: Use a .m4 file.
9371         * m4/acos.m4: New file.
9372         * modules/acos (Files): Add it.
9373         (configure.ac): Just invoke gl_FUNC_ACOS.
9374
9375 2011-10-08  Bruno Haible  <bruno@clisp.org>
9376
9377         Tests for module 'asinf'.
9378         * modules/asinf-tests: New file.
9379         * tests/test-asinf.c: New file.
9380
9381         New module 'asinf'.
9382         * lib/math.in.h (asinf): New declaration.
9383         * lib/asinf.c: New file.
9384         * m4/asinf.m4: New file.
9385         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9386         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9387         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9388         * modules/asinf: New file.
9389         * tests/test-math-c++.cc: Check the declaration of asinf.
9390         * doc/posix-functions/asinf.texi: Mention the new module.
9391
9392         asin: Use a .m4 file.
9393         * m4/asin.m4: New file.
9394         * modules/asin (Files): Add it.
9395         (configure.ac): Just invoke gl_FUNC_ASIN.
9396
9397 2011-10-08  Bruno Haible  <bruno@clisp.org>
9398
9399         Tests for module 'tanf'.
9400         * modules/tanf-tests: New file.
9401         * tests/test-tanf.c: New file.
9402
9403         New module 'tanf'.
9404         * lib/math.in.h (tanf): New declaration.
9405         * lib/tanf.c: New file.
9406         * m4/tanf.m4: New file.
9407         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
9408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
9409         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
9410         * modules/tanf: New file.
9411         * tests/test-math-c++.cc: Check the declaration of tanf.
9412         * doc/posix-functions/tanf.texi: Mention the new module.
9413
9414         tan: Use a .m4 file.
9415         * m4/tan.m4: New file.
9416         * modules/tan (Files): Add it.
9417         (configure.ac): Just invoke gl_FUNC_TAN.
9418
9419 2011-10-08  Bruno Haible  <bruno@clisp.org>
9420
9421         Tests for module 'cosf'.
9422         * modules/cosf-tests: New file.
9423         * tests/test-cosf.c: New file.
9424
9425         New module 'cosf'.
9426         * lib/math.in.h (cosf): New declaration.
9427         * lib/cosf.c: New file.
9428         * m4/cosf.m4: New file.
9429         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
9430         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
9431         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
9432         * modules/cosf: New file.
9433         * tests/test-math-c++.cc: Check the declaration of cosf.
9434         * doc/posix-functions/cosf.texi: Mention the new module.
9435
9436         cos: Use a .m4 file.
9437         * m4/cos.m4: New file.
9438         * modules/cos (Files): Add it.
9439         (configure.ac): Just invoke gl_FUNC_COS.
9440
9441 2011-10-08  Bruno Haible  <bruno@clisp.org>
9442
9443         Tests for module 'sinf'.
9444         * modules/sinf-tests: New file.
9445         * tests/test-sinf.c: New file.
9446
9447         New module 'sinf'.
9448         * lib/math.in.h (sinf): New declaration.
9449         * lib/sinf.c: New file.
9450         * m4/sinf.m4: New file.
9451         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
9452         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
9453         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
9454         * modules/sinf: New file.
9455         * tests/test-math-c++.cc: Check the declaration of sinf.
9456         * doc/posix-functions/sinf.texi: Mention the new module.
9457
9458         sin: Use a .m4 file.
9459         * m4/sin.m4: New file.
9460         * modules/sin (Files): Add it.
9461         (configure.ac): Just invoke gl_FUNC_SIN.
9462
9463 2011-10-08  Bruno Haible  <bruno@clisp.org>
9464
9465         Tests for module 'powf'.
9466         * modules/powf-tests: New file.
9467         * tests/test-powf.c: New file.
9468
9469         New module 'powf'.
9470         * lib/math.in.h (powf): New declaration.
9471         * lib/powf.c: New file.
9472         * m4/powf.m4: New file.
9473         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
9474         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
9475         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
9476         * modules/powf: New file.
9477         * tests/test-math-c++.cc: Check the declaration of powf.
9478         * doc/posix-functions/powf.texi: Mention the new module.
9479
9480         pow: Use a .m4 file.
9481         * m4/pow.m4: New file.
9482         * modules/pow (Files): Add it.
9483         (configure.ac): Just invoke gl_FUNC_POW.
9484
9485 2011-10-08  Bruno Haible  <bruno@clisp.org>
9486
9487         Tests for module 'log10f'.
9488         * modules/log10f-tests: New file.
9489         * tests/test-log10f.c: New file.
9490
9491         New module 'log10f'.
9492         * lib/math.in.h (log10f): New declaration.
9493         * lib/log10f.c: New file.
9494         * m4/log10f.m4: New file.
9495         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
9496         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
9497         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
9498         * modules/log10f: New file.
9499         * tests/test-math-c++.cc: Check the declaration of log10f.
9500         * doc/posix-functions/log10f.texi: Mention the new module.
9501
9502         log10: Use a .m4 file.
9503         * m4/log10.m4: New file.
9504         * modules/log10 (Files): Add it.
9505         (configure.ac): Just invoke gl_FUNC_LOG10.
9506
9507 2011-10-08  Bruno Haible  <bruno@clisp.org>
9508
9509         Tests for module 'logf'.
9510         * modules/logf-tests: New file.
9511         * tests/test-logf.c: New file.
9512
9513         New module 'logf'.
9514         * lib/math.in.h (logf): New declaration.
9515         * lib/logf.c: New file.
9516         * m4/logf.m4: New file.
9517         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
9518         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
9519         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
9520         * modules/logf: New file.
9521         * tests/test-math-c++.cc: Check the declaration of logf.
9522         * doc/posix-functions/logf.texi: Mention the new module.
9523
9524         log: Use a .m4 file.
9525         * m4/log.m4: New file.
9526         * modules/log (Files): Add it.
9527         (configure.ac): Just invoke gl_FUNC_LOG.
9528
9529 2011-10-08  Bruno Haible  <bruno@clisp.org>
9530
9531         Tests for module 'expf'.
9532         * modules/expf-tests: New file.
9533         * tests/test-expf.c: New file.
9534
9535         New module 'expf'.
9536         * lib/math.in.h (expf): New declaration.
9537         * lib/expf.c: New file.
9538         * m4/expf.m4: New file.
9539         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
9540         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
9541         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
9542         * modules/expf: New file.
9543         * tests/test-math-c++.cc: Check the declaration of expf.
9544         * doc/posix-functions/expf.texi: Mention the new module.
9545
9546         exp: Use a .m4 file.
9547         * m4/exp.m4: New file.
9548         * modules/exp (Files): Add it.
9549         (configure.ac): Just invoke gl_FUNC_EXP.
9550
9551 2011-10-08  Bruno Haible  <bruno@clisp.org>
9552
9553         Tests for module 'sqrtf'.
9554         * modules/sqrtf-tests: New file.
9555         * tests/test-sqrtf.c: New file.
9556
9557         New module 'sqrtf'.
9558         * lib/math.in.h (sqrtf): New declaration.
9559         * lib/sqrtf.c: New file.
9560         * m4/sqrtf.m4: New file.
9561         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
9562         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
9563         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
9564         * modules/sqrtf: New file.
9565         * tests/test-math-c++.cc: Check the declaration of sqrtf.
9566         * doc/posix-functions/sqrtf.texi: Mention the new module.
9567
9568 2011-10-08  Bruno Haible  <bruno@clisp.org>
9569
9570         Tests: Avoid link failures w.r.t. libintl.
9571         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
9572         $(LIBINTL).
9573         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
9574         $(LIBINTL).
9575         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
9576         against $(LIBINTL).
9577         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
9578         $(LIBINTL).
9579         * modules/openat-tests (Makefile.am): Link test-fchmodat against
9580         $(LIBINTL).
9581         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
9582
9583 2011-10-08  Bruno Haible  <bruno@clisp.org>
9584
9585         pow tests: Defeat compiler optimizations.
9586         * tests/test-pow.c (main): Assign arguments to x and y before use.
9587
9588 2011-10-08  Bruno Haible  <bruno@clisp.org>
9589
9590         gnulib-tool: Improve last commit.
9591         * gnulib-tool (func_modules_transitive_closure): Simplify code.
9592         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
9593         ignore dependencies that are not among the modules list.
9594
9595 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
9596
9597         gnulib-tool: don't follow dependencies to avoided modules
9598         This fixes a bug that is related to the previous one.
9599         * gnulib-tool (func_modules_transitive_closure)
9600         (func_emit_autoconf_snippets):
9601         Check whether a dependency is acceptable before using it.
9602         (--extract-dependencies): Report an error if --avoid is also used,
9603         since this combination of options is not yet supported.
9604
9605         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
9606         Problem reported by Peter Dyballa in
9607         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
9608         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
9609         when echoing "$condition".
9610
9611 2011-10-07  Bruno Haible  <bruno@clisp.org>
9612
9613         Fix documentation about math functions on MacOS X.
9614         * doc/posix-functions/exp2.texi: Don't say the function is missing on
9615         MacOS X 10.5.
9616         * doc/posix-functions/fdim.texi: Likewise.
9617         * doc/posix-functions/feclearexcept.texi: Likewise.
9618         * doc/posix-functions/fegetenv.texi: Likewise.
9619         * doc/posix-functions/fegetround.texi: Likewise.
9620         * doc/posix-functions/feholdexcept.texi: Likewise.
9621         * doc/posix-functions/feraiseexcept.texi: Likewise.
9622         * doc/posix-functions/fesetenv.texi: Likewise.
9623         * doc/posix-functions/fesetround.texi: Likewise.
9624         * doc/posix-functions/fetestexcept.texi: Likewise.
9625         * doc/posix-functions/feupdateenv.texi: Likewise.
9626         * doc/posix-functions/fmax.texi: Likewise.
9627         * doc/posix-functions/fmin.texi: Likewise.
9628         * doc/posix-functions/log2.texi: Likewise.
9629         * doc/posix-functions/modff.texi: Likewise.
9630         * doc/posix-functions/nan.texi: Likewise.
9631         * doc/posix-functions/nanf.texi: Likewise.
9632         * doc/posix-functions/nextafterf.texi: Likewise.
9633         * doc/posix-functions/remquo.texi: Likewise.
9634
9635 2011-10-07  Bruno Haible  <bruno@clisp.org>
9636
9637         modff: Drop assumption about library that defines modff.
9638         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
9639         AC_CHECK_FUNCS.
9640         * modules/modff (Files): Add m4/mathfunc.m4.
9641
9642 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
9643
9644         raise tests: Avoid a GCC warning.
9645         * tests/test-raise.c (handler): Use _Noreturn.
9646
9647 2011-10-07  Bruno Haible  <bruno@clisp.org>
9648
9649         Tests for module 'ldexpf'.
9650         * modules/ldexpf-tests: New file.
9651         * tests/test-ldexpf.c: New file.
9652
9653         New module 'ldexpf'.
9654         * lib/math.in.h (ldexpf): New declaration.
9655         * lib/ldexpf.c: New file.
9656         * m4/ldexpf.m4: New file.
9657         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
9658         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
9659         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
9660         * modules/ldexpf: New file.
9661         * tests/test-math-c++.cc: Check the declaration of ldexpf.
9662         * doc/posix-functions/ldexpf.texi: Mention the new module.
9663
9664 2011-10-06  Bruno Haible  <bruno@clisp.org>
9665
9666         frexpf: Work around problems on IRIX and mingw.
9667         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
9668         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
9669         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
9670         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
9671         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
9672         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
9673         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
9674
9675 2011-10-06  Bruno Haible  <bruno@clisp.org>
9676
9677         fabsf: Drop assumption about library that defines fabsf.
9678         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
9679         AC_CHECK_FUNCS.
9680         * modules/fabsf (Files): Add m4/mathfunc.m4.
9681
9682 2011-10-06  Bruno Haible  <bruno@clisp.org>
9683
9684         frexpf: Drop assumption about library that defines frexpf.
9685         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
9686         'int *', 'float *', 'long double *', 'float', 'long double'.
9687         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
9688         AC_CHECK_FUNCS.
9689         * modules/frexpf (Files): Add m4/mathfunc.m4.
9690
9691         Tests for module 'frexpf'.
9692         * modules/frexpf-tests: New file.
9693         * tests/test-frexpf.c: New file.
9694
9695         New module 'frexpf'.
9696         * lib/math.in.h (frexpf): New declaration.
9697         * lib/frexpf.c: New file.
9698         * m4/frexpf.m4: New file.
9699         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
9700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
9701         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
9702         * modules/frexpf: New file.
9703         * tests/test-math-c++.cc: Check the declaration of frexpf.
9704         * doc/posix-functions/frexpf.texi: Mention the new module.
9705
9706 2011-10-06  Bruno Haible  <bruno@clisp.org>
9707
9708         math: Sort function declarations of math.in.h.
9709         * lib/math.in.h (frexp, logb): Move declarations.
9710
9711 2011-10-05  Bruno Haible  <bruno@clisp.org>
9712
9713         Tests for module 'modff'.
9714         * modules/modff-tests: New file.
9715         * tests/test-modff.c: New file.
9716
9717         New module 'modff'.
9718         * lib/math.in.h (modff): New declaration.
9719         * lib/modff.c: New file.
9720         * m4/modff.m4: New file.
9721         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
9722         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
9723         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
9724         * modules/modff: New file.
9725         * tests/test-math-c++.cc: Check the declaration of modff.
9726         * doc/posix-functions/modff.texi: Mention the new module.
9727
9728         modf tests: Make test sharper.
9729         * tests/test-modf.c (main): Strengthen upper bound.
9730
9731         modf: Use a .m4 file.
9732         * m4/modf.m4: New file.
9733         * modules/modf (Files): Add it.
9734         (configure.ac): Just invoke gl_FUNC_MODF.
9735
9736 2011-10-05  Bruno Haible  <bruno@clisp.org>
9737
9738         Tests for module 'fmodf'.
9739         * modules/fmodf-tests: New file.
9740         * tests/test-fmodf.c: New file.
9741
9742         New module 'fmodf'.
9743         * lib/math.in.h (fmodf): New declaration.
9744         * lib/fmodf.c: New file.
9745         * m4/fmodf.m4: New file.
9746         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
9747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
9748         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
9749         * modules/fmodf: New file.
9750         * tests/test-math-c++.cc: Check the declaration of fmodf.
9751         * doc/posix-functions/fmodf.texi: Mention the new module.
9752
9753         fmod: Use a .m4 file.
9754         * m4/fmod.m4: New file.
9755         * modules/fmod (Files): Add it.
9756         (configure.ac): Just invoke gl_FUNC_FMOD.
9757
9758 2011-10-05  Bruno Haible  <bruno@clisp.org>
9759
9760         Tests for module 'fabsf'.
9761         * modules/fabsf-tests: New file.
9762         * tests/test-fabsf.c: New file.
9763
9764         New module 'fabsf'.
9765         * lib/math.in.h (fabsf): New declaration.
9766         * lib/fabsf.c: New file.
9767         * m4/fabsf.m4: New file.
9768         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9770         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9771         * modules/fabsf: New file.
9772         * tests/test-math-c++.cc: Check the declaration of fabsf.
9773         * doc/posix-functions/fabsf.texi: Mention the new module.
9774
9775         fabs: Use a .m4 file.
9776         * m4/fabs.m4: New file.
9777         * modules/fabs (Files): Add it.
9778         (configure.ac): Just invoke gl_FUNC_FABS.
9779
9780 2011-10-05  Jim Meyering  <meyering@redhat.com>
9781
9782         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9783         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9784         ls -lL regression introduced in coreutils-8.12, it does so at the
9785         cost of an additional stat call in the common case.  Besides, now
9786         that the kernel change that prompted commit 95f7c57f has been reverted
9787         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9788         we have no use for commit 95f7c57f, "file-has-acl: use
9789         acl_extended_file_nofollow if available".
9790
9791 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9792
9793         file-has-acl: revert unintended change in behavior of ls -L
9794         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9795         derived from...
9796         (file_has_acl): ...code here.  Call it.
9797         This problem was introduced with 2011-07-22 commit 95f7c57f,
9798         "file-has-acl: use acl_extended_file_nofollow if available".
9799         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9800
9801 2011-10-03  Bruno Haible  <bruno@clisp.org>
9802
9803         poll: Avoid link errors on MSVC.
9804         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9805         * modules/poll (Depends-on): Add sockets.
9806         (Link): New section.
9807         * NEWS: Mention the change.
9808         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9809         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9810         $(LIB_POLL) instead of $(LIBSOCKET).
9811
9812 2011-10-03  Bruno Haible  <bruno@clisp.org>
9813
9814         sys_select tests: Fix link error on MSVC 9.
9815         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9816         with $(LIB_SELECT) instead of $(LIBSOCKET).
9817
9818 2011-10-03  Bruno Haible  <bruno@clisp.org>
9819
9820         sys_select: Fix compilation error on mingw.
9821         * lib/sys_select.in.h: On native Windows, include <io.h>.
9822
9823 2011-10-03  Bruno Haible  <bruno@clisp.org>
9824
9825         wmemset: Support for MSVC.
9826         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9827         whether wmemset() exists.
9828
9829 2011-10-03  Bruno Haible  <bruno@clisp.org>
9830
9831         wmemmove: Support for MSVC.
9832         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9833         whether wmemmove() exists.
9834
9835 2011-10-03  Bruno Haible  <bruno@clisp.org>
9836
9837         wmemcpy: Support for MSVC.
9838         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9839         whether wmemcpy() exists.
9840
9841 2011-10-03  Bruno Haible  <bruno@clisp.org>
9842
9843         wmemcmp: Support for MSVC.
9844         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9845         whether wmemcmp() exists.
9846
9847 2011-10-03  Bruno Haible  <bruno@clisp.org>
9848
9849         wmemchr: Support for MSVC.
9850         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9851         whether wmemchr() exists.
9852
9853 2011-10-03  Bruno Haible  <bruno@clisp.org>
9854
9855         glthread/*, strsignal: Support for MSVC.
9856         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9857         including <winsock.h> on MSVC 9.
9858         * lib/glthread/lock.h: Likewise.
9859         * lib/glthread/thread.h: Likewise.
9860         * lib/glthread/tls.h: Likewise.
9861         * lib/glthread/yield.h: Likewise.
9862         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9863         if HAVE_UNISTD_H is false.
9864         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9865
9866 2011-10-03  Bruno Haible  <bruno@clisp.org>
9867
9868         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9869         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9870         Set to 100000.
9871
9872 2011-10-03  Bruno Haible  <bruno@clisp.org>
9873
9874         acl: Fix specification.
9875         * lib/file-has-acl.c (file_has_acl): Fix specification.
9876
9877 2011-10-03  Bruno Haible  <bruno@clisp.org>
9878
9879         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9880         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9881         (compute_curr_prefix, shared_library_fullname,
9882         find_shared_library_fullname, get_shared_library_fullname, relocate):
9883         Use it together with PIC && INSTALLDIR.
9884         Reported by <jojelino@gmail.com>
9885         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9886
9887 2011-10-01  Jim Meyering  <meyering@redhat.com>
9888
9889         maint.mk: adjust a release-related rule not to require use of gzip
9890         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9891         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9892         projects that build only .tar.xz files.  Also fix an erroneous test.
9893
9894         test-linkat: don't leave behind a temporary file
9895         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9896         Otherwise, coreutils' "make distcheck" would fail with this:
9897           Only in /c/cu/tests/torture/coreutils/test/\
9898             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9899           make[2]: *** [my-distcheck] Error 1
9900
9901         float, math: add omitted file
9902         * lib/itold.c: Add file, required for yesterday's float change.
9903
9904 2011-10-01  Bruno Haible  <bruno@clisp.org>
9905
9906         isinf: Fix for OpenBSD/x86.
9907         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9908         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9909         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9910
9911 2011-10-01  Bruno Haible  <bruno@clisp.org>
9912
9913         isfinite: Fix syntax error in configure test.
9914         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9915
9916         isfinite: Fix typo.
9917         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9918         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9919
9920 2011-10-01  Bruno Haible  <bruno@clisp.org>
9921
9922         nonblocking tests: Fix test failure on Linux/IA-64.
9923         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9924         Set to 270000.
9925
9926 2011-10-01  Bruno Haible  <bruno@clisp.org>
9927
9928         mkfifoat tests: Fix a test failure on mingw.
9929         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9930         with error ENOSYS.
9931
9932 2011-09-30  Bruno Haible  <bruno@clisp.org>
9933
9934         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9935         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9936         'long double'. Set REPLACE_ITOLD.
9937         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
9938         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
9939         * lib/itold.c: New file.
9940         * modules/float (Files): Add lib/itold.c.
9941         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
9942         (Makefile.am): Substitute REPLACE_ITOLD.
9943         * modules/math (Depends-on): Add float.
9944         (Makefile.am): Substitute REPLACE_ITOLD.
9945         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
9946         * doc/posix-headers/math.texi: Likewise.
9947         * doc/posix-functions/logl.texi: Likewise.
9948
9949 2011-09-30  Bruno Haible  <bruno@clisp.org>
9950
9951         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
9952         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
9953         Set to 140000.
9954
9955 2011-09-30  Bruno Haible  <bruno@clisp.org>
9956
9957         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
9958         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
9959         invocation, say "right after AC_PROG_CC_STDC", not "right after
9960         AC_PROG_CC".
9961         Reported by Gary V. Vaughan <gary@gnu.org>.
9962
9963 2011-09-30  Bruno Haible  <bruno@clisp.org>
9964
9965         Centralize C99 requirement.
9966         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
9967         * modules/stdarg (configure.ac-early): Invoke it instead of
9968         AC_PROG_CC_STDC.
9969         Reported by Gary V. Vaughan and Paul Eggert.
9970
9971 2011-09-29  Bruno Haible  <bruno@clisp.org>
9972
9973         float: Fix LDBL_MAX value on Linux/PowerPC.
9974         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
9975         on Linux/PowerPC.
9976         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
9977         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
9978         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9979         platform.
9980         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9981
9982 2011-09-29  Bruno Haible  <bruno@clisp.org>
9983
9984         doc: Improve doc about gl_EARLY.
9985         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9986         AC_PROG_CC_STDC invocation.
9987         Reported by Gary V. Vaughan <gary@gnu.org>.
9988
9989 2011-09-28  Bruno Haible  <bruno@clisp.org>
9990
9991         fgetc, fputc, fread, fwrite tests: Fix link error.
9992         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9993         on non-MSVC platforms.
9994         * tests/test-fputc.c (main): Likewise.
9995         * tests/test-fread.c (main): Likewise.
9996         * tests/test-fwrite.c (main): Likewise.
9997         Reported by Jim Meyering.
9998
9999 2011-09-27  Bruno Haible  <bruno@clisp.org>
10000
10001         fputc, fwrite tests: Avoid test failure on MSVC.
10002         * tests/test-fgetc.c: Include msvc-inval.h.
10003         (main): Invoke gl_msvc_inval_ensure_handler.
10004         * tests/test-fputc.c: Include msvc-inval.h.
10005         (main): Invoke gl_msvc_inval_ensure_handler.
10006         * tests/test-fread.c: Include msvc-inval.h.
10007         (main): Invoke gl_msvc_inval_ensure_handler.
10008         * tests/test-fwrite.c: Include msvc-inval.h.
10009         (main): Invoke gl_msvc_inval_ensure_handler.
10010         * modules/fgetc-tests (Depends-on): Add msvc-inval.
10011         * modules/fputc-tests (Depends-on): Likewise.
10012         * modules/fread-tests (Depends-on): Likewise.
10013         * modules/fwrite-tests (Depends-on): Likewise.
10014
10015 2011-09-27  Bruno Haible  <bruno@clisp.org>
10016
10017         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
10018         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
10019         (raise): Remove older, duplicated declaration.
10020         (_gl_raise_SIGPIPE): New declaration.
10021         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
10022         (rpl_raise): Remove function.
10023         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
10024         a gnulib-defined SIGPIPE here.
10025         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
10026         'sigprocmask' has detected missing signal-blocking and the module
10027         'sigpipe' is enabled.
10028         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10029
10030 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
10031
10032         base64-tests: avoid memory leak
10033         * tests/test-base64.c (main): Plug memory leak.
10034
10035         base32: new module
10036         * modules/base32: New module.
10037         * lib/base32.c: New file.
10038         * lib/base32.h: Likewise.
10039         * m4/base32.m4: Likewise.
10040         * modules/base32-tests: New test.
10041         * tests/test-base32.c: Likewise.
10042         * MODULES.html.sh (Misc): Mention it.
10043
10044 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10045
10046         gnulib: use more-standard license notice wording
10047         * gnulib-tool (func_emit_copyright_notice): When emitting a
10048         license notice into a file, use the standard wording as suggested
10049         by the current information for GNU maintainers, except say "file"
10050         rather than "program".  The new wording gives a license version
10051         number, which addresses an issue raised by Glenn Morris in
10052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
10053         * m4/onceonly.m4: Use that same wording here, too.
10054
10055         dup2: minor simplification
10056         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
10057         as lib/dup2.c no longer uses 'inline'.
10058
10059 2011-09-25  Bruno Haible  <bruno@clisp.org>
10060
10061         strings: Fix compilation error on MSVC.
10062         * lib/strings.in.h: Include <stddef.h> for size_t.
10063
10064 2011-09-25  Bruno Haible  <bruno@clisp.org>
10065
10066         fflush et al.: Document limitation on MSVC.
10067         * doc/posix-functions/fflush.texi: Document possible crash in handling
10068         mode other than DEFAULT_HANDLING.
10069         * doc/posix-functions/fgetc.texi: Likewise.
10070         * doc/posix-functions/fputc.texi: Likewise.
10071         * doc/posix-functions/fread.texi: Likewise.
10072         * doc/posix-functions/fwrite.texi: Likewise.
10073
10074 2011-09-25  Bruno Haible  <bruno@clisp.org>
10075
10076         msvc-inval: Allow three invalid parameter handling modes.
10077         * lib/msvc-inval.h: Don't include <stdlib.h> here.
10078         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
10079         macros.
10080         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
10081         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
10082         SANE_LIBRARY_HANDLING as a no-op.
10083         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
10084         <stdlib.h>.
10085         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
10086
10087 2011-09-25  Bruno Haible  <bruno@clisp.org>
10088
10089         msvc-inval: Make handler multithread-safe.
10090         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
10091         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
10092         declarations.
10093         (gl_msvc_inval_current): New declaration.
10094         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10095         Operate on the structure returned by gl_msvc_inval_current().
10096         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
10097         Remove varaiables.
10098         (tls_index, tls_initialized): New variables.
10099         (not_per_thread): New variable.
10100         (gl_msvc_inval_current): New function.
10101         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
10102         returned by gl_msvc_inval_current().
10103
10104 2011-09-25  Bruno Haible  <bruno@clisp.org>
10105
10106         msvc-inval: Install handler globally.
10107         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
10108         !_MSC_VER.
10109         (gl_msvc_invalid_parameter_handler): Remove declaration.
10110         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
10111         declarations.
10112         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10113         Install the handler globally, don't uninstall it.
10114         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
10115         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
10116         currently valid, call RaiseException instead.
10117         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
10118         for !_MSC_VER.
10119
10120 2011-09-25  Bruno Haible  <bruno@clisp.org>
10121
10122         strerror_r-posix: Fix for MSVC 9.
10123         * lib/strerror_r.c (local_snprintf): New function.
10124         (snprintf): Define to local_snprintf, not to _snprintf.
10125
10126 2011-09-25  Bruno Haible  <bruno@clisp.org>
10127
10128         ftruncate: Support for MSVC 9.
10129         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
10130         (chsize_nothrow): New function.
10131         (chsize): Redefine as a macro.
10132         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
10133         * modules/ftruncate (Depends-on): Add msvc-inval.
10134
10135 2011-09-25  Bruno Haible  <bruno@clisp.org>
10136
10137         New module 'fstat'.
10138         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
10139         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
10140         * lib/fchdir.c (rpl_fstat): Remove function.
10141         * m4/fstat.m4: New file.
10142         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
10143         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
10144         declared.
10145         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
10146         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
10147         * modules/fstat: New file.
10148         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
10149         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
10150         is set.
10151         * doc/posix-functions/fstat.texi: Mention the new module and the
10152         problem on MSVC.
10153         * NEWS: Mention the change.
10154         * modules/acl (Depends-on): Add fstat.
10155         * modules/chdir-safer (Depends-on): Likewise.
10156         * modules/chown (Depends-on): Likewise.
10157         * modules/copy-file (Depends-on): Likewise.
10158         * modules/fchdir (Depends-on): Likewise.
10159         * modules/fdopendir (Depends-on): Likewise.
10160         * modules/fopen (Depends-on): Likewise.
10161         * modules/fts (Depends-on): Likewise.
10162         * modules/getcwd (Depends-on): Likewise.
10163         * modules/isapipe (Depends-on): Likewise.
10164         * modules/linkat (Depends-on): Likewise.
10165         * modules/lseek (Depends-on): Likewise.
10166         * modules/mkdir-p (Depends-on): Likewise.
10167         * modules/open (Depends-on): Likewise.
10168         * modules/openat (Depends-on): Likewise.
10169         * modules/read-file (Depends-on): Likewise.
10170         * modules/renameat (Depends-on): Likewise.
10171         * modules/utimens (Depends-on): Likewise.
10172
10173 2011-09-25  Bruno Haible  <bruno@clisp.org>
10174
10175         linkat: Fix compilation on MSVC 9.
10176         * lib/linkat.c: Don't include <stdint.h>.
10177
10178 2011-09-25  Bruno Haible  <bruno@clisp.org>
10179
10180         fclose: Support for MSVC 9.
10181         * lib/fclose.c: Include msvc-inval.h.
10182         (fclose_nothrow): New function.
10183         (rpl_fclose): Use it.
10184         * modules/fclose (Depends-on): Add msvc-inval.
10185         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
10186
10187 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10188
10189         dup2: minor simplifications
10190         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
10191         that it's a performance win.
10192         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
10193         ! defined __CYGWIN__)" to "ifdef F_GETFL".
10194
10195 2011-09-24  Jim Meyering  <meyering@redhat.com>
10196
10197         test-futimens: avoid a warning from gcc -Wshadow
10198         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
10199         to avoid a shadowing warning.
10200
10201 2011-09-24  Bruno Haible  <bruno@clisp.org>
10202
10203         fdopen: Support for MSVC 9.
10204         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
10205         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
10206         * lib/fdopen.c: Include msvc-inval.h.
10207         (fdopen_nothrow): New function.
10208         (rpl_fdopen): Use it.
10209         * modules/fdopen (Depends-on): Add msvc-inval.
10210         * modules/fclose-tests (Depends-on): Add fdopen.
10211         * modules/fflush-tests (Depends-on): Likewise.
10212         * modules/fgetc-tests (Depends-on): Likewise.
10213         * modules/fputc-tests (Depends-on): Likewise.
10214         * modules/fread-tests (Depends-on): Likewise.
10215         * modules/freopen-tests (Depends-on): Likewise.
10216         * modules/fseeko-tests (Depends-on): Likewise.
10217         * modules/ftello-tests (Depends-on): Likewise.
10218         * modules/fwrite-tests  (Depends-on): Likewise.
10219         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
10220
10221 2011-09-24  Bruno Haible  <bruno@clisp.org>
10222
10223         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
10224         * modules/fgetc-tests (Depends-on): Add unistd.
10225         * modules/fputc-tests (Depends-on): Likewise.
10226         * modules/fread-tests (Depends-on): Likewise.
10227         * modules/fwrite-tests (Depends-on): Likewise.
10228
10229 2011-09-24  Bruno Haible  <bruno@clisp.org>
10230
10231         dup: Simplify autoconf test.
10232         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
10233         on gl_MSVC_INVAL's result.
10234
10235 2011-09-24  Bruno Haible  <bruno@clisp.org>
10236
10237         Tests for function fwrite().
10238         * modules/fwrite-tests: New file.
10239         * tests/test-fwrite.c: New file.
10240         * modules/stdio-tests (Depends-on): Add fwrite-tests.
10241
10242         Tests for function fread().
10243         * modules/fread-tests: New file.
10244         * tests/test-fread.c: New file.
10245         * modules/stdio-tests (Depends-on): Add fread-tests.
10246
10247         Activate fputc tests.
10248         * modules/stdio-tests (Depends-on): Add fputc-tests.
10249
10250         Enhance fgetc, fputc tests.
10251         * tests/test-fgetc.c (main): Also test the stream's error indicator.
10252         * tests/test-fputc.c (main): Likewise.
10253
10254 2011-09-24  Bruno Haible  <bruno@clisp.org>
10255
10256         write: Support for MSVC 9.
10257         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10258         is not 1.
10259         * lib/write.c (write_nothrow): New function.
10260         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
10261         not 1. Use write_nothrow.
10262         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
10263         invalid parameter handler.
10264         (gl_PREREQ_WRITE): New macro.
10265         * modules/write (Depends-on): Add msvc-inval.
10266         (configure.ac): Invoke gl_PREREQ_WRITE.
10267         * doc/posix-functions/write.texi: Mention the problem on MSVC.
10268
10269 2011-09-24  Bruno Haible  <bruno@clisp.org>
10270
10271         read: Fix last commit.
10272         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
10273
10274 2011-09-24  Bruno Haible  <bruno@clisp.org>
10275
10276         dup2: Fix last commit.
10277         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
10278         (rpl_dup2): Disable fcntl workaround on native Windows.
10279
10280         sigprocmask: Make code safer.
10281         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
10282         section that changes macro definitions for this compilation unit.
10283
10284 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10285
10286         dup2: clarify by coalescing Windows-specific material
10287         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
10288         "msvc-nothrow.h"' to the Windows-specific section, so that the
10289         Emacs source need not contain these include files.
10290         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
10291         Windows-specific fixes into this function rather than just the
10292         nothrow fix, as this shortens and clarifies the code.  Always
10293         define as a function, as that's a bit cleaner than having it be
10294         sometimes a function and sometimes a macro.
10295         (rpl_dup2): Move the Windows-specific stuff out of here and into
10296         ms_windows_dup2.  Don't protect the Haiku-related fix with
10297         "#if !defined __linux__", as the same code also works around
10298         a Linux kernel bug, and it doesn't add any system calls on any
10299         platform.  Add comment about FreeBSD 6.1.
10300
10301         sigprocmask: move #include directive
10302         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
10303         Windows-specific section, so that the Emacs source need not
10304         contain msvc-inval.h.
10305
10306 2011-09-23  Bruno Haible  <bruno@clisp.org>
10307
10308         read: Support for MSVC 9.
10309         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10310         is not 1.
10311         * lib/read.c (read_nothrow): New function.
10312         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
10313         read_nothrow.
10314         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
10315         invalid parameter handler.
10316         (gl_PREREQ_READ): New macro.
10317         * modules/read (Depends-on): Add msvc-inval.
10318         (configure.ac): Invoke gl_PREREQ_READ.
10319         * doc/posix-functions/read.texi: Mention the problem on MSVC.
10320
10321 2011-09-23  Bruno Haible  <bruno@clisp.org>
10322
10323         close: Support for MSVC 9.
10324         * lib/close.c: Include <errno.h>, msvc-inval.h.
10325         (close_nothrow): New function.
10326         (rpl_close): Use it.
10327         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
10328         invalid parameter handler.
10329         * modules/close (Depends-on): Add msvc-inval.
10330         * modules/dup2-tests (Depends-on): Add close.
10331         * modules/dup3-tests (Depends-on): Likewise.
10332         * modules/fcntl-tests (Depends-on): Likewise.
10333         * modules/spawn-pipe-tests (Depends-on): Likewise.
10334         * modules/unistd-safer-tests (Depends-on): Likewise.
10335         * doc/posix-functions/close.texi: Mention the problem on MSVC.
10336
10337 2011-09-23  Bruno Haible  <bruno@clisp.org>
10338
10339         New module 'dup'.
10340         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
10341         Allow replacement.
10342         * lib/dup.c: New file.
10343         * lib/fchdir.c (rpl_dup): Remove function.
10344         * m4/dup.m4: New file.
10345         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10346         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10347         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10348         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10349         * modules/dup: New file.
10350         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10351         'dup' module is in use.
10352         * modules/fdopendir (Depends-on): Add dup.
10353         * modules/fdutimensat-tests (Depends-on): Likewise.
10354         * modules/fts (Depends-on): Likewise.
10355         * modules/futimens-tests (Depends-on): Likewise.
10356         * modules/posix_spawnp-tests (Depends-on): Likewise.
10357         * modules/unistd-safer-tests (Depends-on): Likewise.
10358         * modules/utimens-tests (Depends-on): Likewise.
10359         * doc/posix-functions/dup.texi: Mention the new module and the problem
10360         on MSVC.
10361
10362 2011-09-23  Bruno Haible  <bruno@clisp.org>
10363
10364         getdtablesize: Support for MSVC 9.
10365         * lib/getdtablesize.c: Include msvc-inval.h.
10366         (_setmaxstdio_nothrow): New function.
10367         (_setmaxstdio): Redefine it.
10368         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10369         * modules/getdtablesize (Depends-on): Add msvc-inval.
10370         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10371
10372 2011-09-23  Bruno Haible  <bruno@clisp.org>
10373
10374         signal-h: Rename from signal.
10375         * modules/signal-h: Renamed from modules/signal.
10376         * modules/pthread_sigmask (Depends-on): Update.
10377         * modules/raise (Depends-on): Likewise.
10378         * modules/sigaction (Depends-on): Likewise.
10379         * modules/sigpipe (Depends-on): Likewise.
10380         * modules/sigprocmask (Depends-on): Likewise.
10381         * modules/sys_select (Depends-on): Likewise.
10382         * modules/signal-h-tests: Renamed from modules/signal-tests.
10383         (Files, Depends-on, Makefile.am): Update.
10384         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10385         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10386         (Files, Makefile.am): Update.
10387         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10388         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10389         * modules/signal: New placeholder file.
10390         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10391         * doc/posix-headers/signal.texi: Update.
10392         * NEWS: Mention the change.
10393
10394 2011-09-23  Bruno Haible  <bruno@clisp.org>
10395
10396         sigprocmask: Avoid crashes through signal() on MSVC 9.
10397         * lib/sigprocmask.c: Include msvc-inval.h.
10398         (signal_nothrow): New function.
10399         (signal): Redefine it.
10400         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
10401         * modules/sigprocmask (Depends-on): Add msvc-inval.
10402         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
10403
10404 2011-09-23  Bruno Haible  <bruno@clisp.org>
10405
10406         Tests for module 'raise'.
10407         * modules/raise-tests: New file.
10408         * tests/test-raise.c: New file.
10409
10410         raise: Support for MSVC.
10411         * lib/signal.in.h (raise): New declaration.
10412         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
10413         for native Windows platforms.
10414         * m4/raise.m4: New file.
10415         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
10416         HAVE_RAISE, REPLACE_RAISE.
10417         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
10418         REPLACE_RAISE.
10419         * modules/raise (Status, Notice): Remove fields.
10420         (Files): Add m4/raise.m4.
10421         (Depends-on): Add signal, msvc-inval.
10422         (configure.ac): Use the common idioms.
10423         (Maintainer): Add me.
10424         * tests/test-signal-c++.cc: Check the signature of raise.
10425         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
10426
10427 2011-09-23  Bruno Haible  <bruno@clisp.org>
10428
10429         pipe2: Fix compilation on pre-C99 compilers.
10430         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
10431
10432 2011-09-23  Bruno Haible  <bruno@clisp.org>
10433
10434         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
10435         * lib/msvc-nothrow.h: New file.
10436         * lib/msvc-nothrow.c: New file.
10437         * m4/msvc-nothrow.m4: New file.
10438         * modules/msvc-nothrow: New file.
10439         * lib/dup2.c: Include msvc-nothrow.h.
10440         (rpl_dup2): No need to protect _get_osfhandle call here.
10441         * lib/accept4.c: Include msvc-nothrow.h.
10442         * lib/error.c: Likewise.
10443         * lib/fcntl.c: Likewise.
10444         * lib/lseek.c: Likewise.
10445         * lib/nonblocking.c: Likewise.
10446         * lib/poll.c: Likewise.
10447         * lib/read.c: Likewise.
10448         * lib/select.c: Likewise.
10449         * lib/sockets.h: Likewise.
10450         * lib/sockets.c: Likewise.
10451         * lib/stdio-read.c: Likewise.
10452         * lib/stdio-write.c: Likewise.
10453         * lib/write.c: Likewise.
10454         * lib/w32sock.h: Likewise.
10455         * lib/w32spawn.h: Likewise.
10456         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
10457         * lib/fsync.c: Likewise.
10458         * lib/isapipe.c: Likewise.
10459         * modules/dup2 (Depends-on): Add msvc-nothrow.
10460         * modules/accept4 (Depends-on): Likewise.
10461         * modules/error (Depends-on): Likewise.
10462         * modules/fcntl (Depends-on): Likewise.
10463         * modules/lseek (Depends-on): Likewise.
10464         * modules/nonblocking (Depends-on): Likewise.
10465         * modules/poll (Depends-on): Likewise.
10466         * modules/read (Depends-on): Likewise.
10467         * modules/select (Depends-on): Likewise.
10468         * modules/sockets (Depends-on): Likewise.
10469         * modules/sigpipe (Depends-on): Likewise.
10470         * modules/write (Depends-on): Likewise.
10471         * modules/accept (Depends-on): Likewise.
10472         * modules/bind (Depends-on): Likewise.
10473         * modules/connect (Depends-on): Likewise.
10474         * modules/gethostname (Depends-on): Likewise.
10475         * modules/getpeername (Depends-on): Likewise.
10476         * modules/getsockname (Depends-on): Likewise.
10477         * modules/getsockopt (Depends-on): Likewise.
10478         * modules/ioctl (Depends-on): Likewise.
10479         * modules/listen (Depends-on): Likewise.
10480         * modules/recv (Depends-on): Likewise.
10481         * modules/recvfrom (Depends-on): Likewise.
10482         * modules/send (Depends-on): Likewise.
10483         * modules/sendto (Depends-on): Likewise.
10484         * modules/setsockopt (Depends-on): Likewise.
10485         * modules/shutdown (Depends-on): Likewise.
10486         * modules/socket (Depends-on): Likewise.
10487         * modules/execute (Depends-on): Likewise.
10488         * modules/spawn-pipe (Depends-on): Likewise.
10489         * modules/flock (Depends-on): Likewise.
10490         * modules/fsync (Depends-on): Likewise.
10491         * modules/isapipe (Depends-on): Likewise.
10492         * tests/test-cloexec.c: Include msvc-nothrow.h.
10493         * tests/test-dup-safer.c: Likewise.
10494         * tests/test-dup2.c: Likewise.
10495         * tests/test-dup3.c: Likewise.
10496         * tests/test-fcntl.c: Likewise.
10497         * tests/test-pipe.c: Likewise.
10498         * tests/test-pipe2.c: Likewise.
10499         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
10500         * modules/unistd-safer-tests (Depends-on): Likewise.
10501         * modules/dup2-tests (Depends-on): Likewise.
10502         * modules/dup3-tests (Depends-on): Likewise.
10503         * modules/fcntl-tests (Depends-on): Likewise.
10504         * modules/pipe-posix-tests (Depends-on): Likewise.
10505         * modules/pipe2-tests (Depends-on): Likewise.
10506
10507 2011-09-23  Bruno Haible  <bruno@clisp.org>
10508
10509         dup2: Make code more maintainable.
10510         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
10511         (rpl_dup2): Use it.
10512         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
10513         * modules/dup2 (configure.ac): Invoke it.
10514         Reported by Paul Eggert.
10515
10516 2011-09-23  Bruno Haible  <bruno@clisp.org>
10517
10518         msvc-inval: Fix compilation error.
10519         * lib/msvc-inval.h: Include <excpt.h>.
10520
10521 2011-09-23  Bruno Haible  <bruno@clisp.org>
10522
10523         mkdir: Tweak for MSVC 9.
10524         * lib/sys_stat.in.h: Update comments.
10525         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
10526
10527         Tests for module 'chdir'.
10528         * modules/chdir-tests: New file.
10529         * tests/test-chdir.c: New file.
10530
10531         New module 'chdir'.
10532         * modules/chdir: New file.
10533         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
10534         (chdir): New declaration.
10535         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
10536         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
10537         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
10538         * tests/test-unistd-c++.cc: Check signature of chdir.
10539         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
10540         * modules/chdir-long (Depends-on): Add chdir.
10541         * modules/fchdir (Depends-on): Likewise.
10542         * modules/rename (Depends-on): Likewise.
10543         * modules/savewd (Depends-on): Likewise.
10544
10545         rmdir: Support for mingw, MSVC 9.
10546         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
10547         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
10548
10549         getcwd: Tweak for MSVC 9.
10550         * lib/unistd.in.h: Update comments.
10551         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
10552
10553 2011-09-22  Bruno Haible  <bruno@clisp.org>
10554
10555         strerror_r-posix: Avoid a link error on MSVC.
10556         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
10557         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
10558
10559 2011-09-22  Bruno Haible  <bruno@clisp.org>
10560
10561         select: Avoid link errors on MSVC.
10562         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
10563         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
10564         * modules/pselect (Link): Likewise.
10565         * NEWS: Mention the change.
10566         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
10567         test-select-stdin against $(LIB_SELECT).
10568         * modules/pselect-tests (Makefile.am): Link test-pselect against
10569         $(LIB_SELECT).
10570
10571 2011-09-22  Bruno Haible  <bruno@clisp.org>
10572
10573         select: Avoid compilation error on MSVC.
10574         * lib/select.c: Don't include <stdbool.h>.
10575
10576 2011-09-21  Bruno Haible  <bruno@clisp.org>
10577
10578         Consolidate all uses of PATH_MAX in *.m4 files.
10579         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
10580         macros.
10581         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
10582         and gl_PATHMAX_SNIPPET.
10583         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10584         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10585         * modules/chdir-long (Files): Add m4/pathmax.m4.
10586         * modules/getcwd (Files): Likewise.
10587
10588 2011-09-21  Bruno Haible  <bruno@clisp.org>
10589
10590         ftruncate: Un-deprecate, concentrate on Win32 support.
10591         * modules/ftruncate (Status, Notice): Remove sections.
10592         (Depends-on): Add largefile.
10593         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
10594         non-mingw platforms.
10595         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
10596         include <io.h>.
10597         * modules/perror-tests (Depends-on): Add ftruncate.
10598         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
10599         'ftruncate' module.
10600
10601 2011-09-21  Bruno Haible  <bruno@clisp.org>
10602
10603         Add dependencies to new dirent related modules.
10604         * modules/opendir (Depends-on): Add closedir.
10605         * modules/getcwd (Depends-on): Add opendir, closedir.
10606         * modules/dirent-safer-tests (Depends-on): Likewise.
10607         * modules/fdopendir-tests (Depends-on): Likewise.
10608         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
10609         * modules/renameat-tests (Depends-on): Likewise.
10610
10611 2011-09-21  Bruno Haible  <bruno@clisp.org>
10612
10613         opendir: Avoid compilation error on mingw.
10614         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
10615         * modules/opendir (Depends-on): Add unistd.
10616
10617 2011-09-21  Bruno Haible  <bruno@clisp.org>
10618
10619         ftruncate tests: Avoid a test failure on mingw.
10620         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
10621
10622 2011-09-21  Bruno Haible  <bruno@clisp.org>
10623
10624         select tests: Avoid test failures on OSF/1 5.1 and mingw.
10625         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
10626         native Windows.
10627
10628 2011-09-21  Bruno Haible  <bruno@clisp.org>
10629
10630         New module 'fdopen'.
10631         * lib/stdio.in.h (fdopen): New declaration.
10632         * lib/fdopen.c: New file.
10633         * m4/fdopen.m4: New file.
10634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
10635         REPLACE_FDOPEN.
10636         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
10637         REPLACE_FDOPEN.
10638         * modules/fdopen: New file.
10639         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
10640         * tests/test-stdio-c++.cc: Check signature of fdopen.
10641         * doc/posix-functions/fdopen.texi: Mention the new module.
10642
10643 2011-09-21  Bruno Haible  <bruno@clisp.org>
10644
10645         unlockpt tests: Avoid test failure on NetBSD 5.1.
10646         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
10647         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
10648
10649 2011-09-21  Bruno Haible  <bruno@clisp.org>
10650
10651         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
10652         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
10653         * tests/test-getlogin_r.c (main): Likewise.
10654
10655 2011-09-20  Bruno Haible  <bruno@clisp.org>
10656
10657         time tests: Don't require pid_t.
10658         * doc/posix-headers/time.texi: Revert last change.
10659         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
10660         * tests/test-time.c: Comment out the check for pid_t.
10661
10662 2011-09-20  Bruno Haible  <bruno@clisp.org>
10663
10664         fsync tests: Avoid a test failure on mingw.
10665         * tests/test-fsync.c (main): Allow a failure with EIO.
10666
10667 2011-09-20  Bruno Haible  <bruno@clisp.org>
10668
10669         euidaccess: Update comments.
10670         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
10671
10672 2011-09-20  Bruno Haible  <bruno@clisp.org>
10673
10674         Ensure EBADF returns for socket functions on mingw.
10675         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
10676         descriptor is invalid.
10677         * lib/bind.c (rpl_bind): Likewise.
10678         * lib/connect.c (rpl_connect): Likewise.
10679         * lib/getpeername.c (rpl_getpeername): Likewise.
10680         * lib/getsockname.c (rpl_getsockname): Likewise.
10681         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10682         * lib/listen.c (rpl_listen): Likewise.
10683         * lib/recv.c (rpl_recv): Likewise.
10684         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10685         * lib/send.c (rpl_send): Likewise.
10686         * lib/sendto.c (rpl_sendto): Likewise.
10687         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10688         * lib/shutdown.c (rpl_shutdown): Likewise.
10689
10690 2011-09-20  Bruno Haible  <bruno@clisp.org>
10691
10692         select tests: EBADF tests.
10693         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
10694         test_bad_fd): New functions.
10695         (test_function): Invoke also test_bad_fd.
10696
10697 2011-09-20  Bruno Haible  <bruno@clisp.org>
10698
10699         Tests for module 'posix_spawn_file_actions_addopen.
10700         * modules/posix_spawn_file_actions_addopen-tests: New file.
10701         * tests/test-posix_spawn_file_actions_addopen.c: New file.
10702
10703         Tests for module 'posix_spawn_file_actions_adddup2'.
10704         * modules/posix_spawn_file_actions_adddup2-tests: New file.
10705         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
10706
10707         Tests for module 'posix_spawn_file_actions_addclose'.
10708         * modules/posix_spawn_file_actions_addclose-tests: New file.
10709         * tests/test-posix_spawn_file_actions_addclose.c: New file.
10710
10711 2011-09-20  Bruno Haible  <bruno@clisp.org>
10712
10713         Tests for module 'unlockpt'.
10714         * modules/unlockpt-tests: New file.
10715         * tests/test-unlockpt.c: New file.
10716         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
10717
10718         Tests for module 'grantpt'.
10719         * modules/grantpt-tests: New file.
10720         * tests/test-grantpt.c: New file.
10721         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
10722
10723 2011-09-20  Bruno Haible  <bruno@clisp.org>
10724
10725         freopen tests: EBADF tests.
10726         * tests/test-freopen.c: Include errno.h, unistd.h.
10727         (main): Add tests for EBADF, commented out for the moment.
10728
10729         fclose tests: EBADF tests.
10730         * tests/test-fclose.c (main): Add tests for EBADF.
10731
10732         fflush tests: EBADF tests.
10733         * tests/test-fflush.c: Include errno.h, macros.h.
10734         (main): Add tests for EBADF.
10735
10736         ftello tests: EBADF tests.
10737         * tests/test-ftello4.sh: New file.
10738         * tests/test-ftello4.c: New file.
10739         * modules/ftello-tests (Files): Add them.
10740         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
10741
10742         fseeko tests: EBADF tests.
10743         * tests/test-fseeko4.sh: New file.
10744         * tests/test-fseeko4.c: New file.
10745         * modules/fseeko-tests (Files): Add them.
10746         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
10747
10748         Tests for function fputc().
10749         * modules/fputc-tests: New file.
10750         * tests/test-fputc.c: New file.
10751         * modules/stdio-tests (Depends-on): Add fputc-tests.
10752
10753         Tests for function fgetc().
10754         * modules/fgetc-tests: New file.
10755         * tests/test-fgetc.c: New file.
10756         * modules/stdio-tests (Depends-on): Add fgetc-tests.
10757
10758         Tests for function fdopen().
10759         * modules/fdopen-tests: New file.
10760         * tests/test-fdopen.c: New file.
10761         * modules/stdio-tests (Depends-on): Add fdopen-tests.
10762
10763         Tests for module 'vdprintf'.
10764         * modules/vdprintf-tests: New file.
10765         * tests/test-vdprintf.c: New file.
10766
10767         Tests for module 'dprintf'.
10768         * modules/dprintf-tests: New file.
10769         * tests/test-dprintf.c: New file.
10770
10771 2011-09-20  Bruno Haible  <bruno@clisp.org>
10772
10773         Tests for module 'ioctl'.
10774         * modules/ioctl-tests: New file.
10775         * tests/test-ioctl.c: New file.
10776
10777 2011-09-20  Bruno Haible  <bruno@clisp.org>
10778
10779         fcntl tests: EBADF tests.
10780         * tests/test-fcntl.c (main): Add more tests for EBADF.
10781
10782 2011-09-20  Bruno Haible  <bruno@clisp.org>
10783
10784         utimensat tests: EBADF tests.
10785         * tests/test-utimensat.c (main): Add tests for EBADF.
10786
10787         renameat tests: EBADF tests.
10788         * tests/test-renameat.c (main): Add tests for EBADF.
10789
10790         mkfifoat tests: EBADF tests.
10791         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10792
10793         readlinkat tests: EBADF tests.
10794         * tests/test-readlinkat.c (main): Add tests for EBADF.
10795
10796         symlinkat tests: EBADF tests.
10797         * tests/test-symlinkat.c (main): Add tests for EBADF.
10798
10799         linkat tests: EBADF tests.
10800         * tests/test-linkat.c (main): Add tests for EBADF.
10801
10802         Tests for module 'faccessat'.
10803         * modules/faccessat-tests: New file.
10804         * tests/test-faccessat.c: New file.
10805
10806         fdopendir tests: EBADF tests.
10807         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10808
10809         openat tests: EBADF tests.
10810         * tests/test-fchownat.c (main): Add tests for EBADF.
10811         * tests/test-fstatat.c (main): Likewise.
10812         * tests/test-mkdirat.c (main): Likewise.
10813         * tests/test-openat.c (main): Likewise.
10814         * tests/test-unlinkat.c (main): Likewise.
10815         * tests/test-fchmodat.c: New file.
10816         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10817         (Makefile.am): Also run 'test-fchmodat'.
10818
10819 2011-09-20  Bruno Haible  <bruno@clisp.org>
10820
10821         utimens, futimens, fdutimensat tests: EBADF tests.
10822         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10823
10824         Tests for function fstat().
10825         * modules/fstat-tests: New file.
10826         * tests/test-fstat.c: New file.
10827         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10828
10829 2011-09-20  Bruno Haible  <bruno@clisp.org>
10830
10831         test-ttyname_r tests: EBADF tests.
10832         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10833
10834         Tests for module 'isatty'.
10835         * modules/isatty-tests: New file.
10836         * tests/test-isatty.c: New file.
10837
10838         Tests for module 'write'.
10839         * modules/write-tests: New file.
10840         * tests/test-write.c: New file.
10841
10842         Tests for module 'read'.
10843         * modules/read-tests: New file.
10844         * tests/test-read.c: New file.
10845
10846         pwrite tests: EBADF tests.
10847         * tests/test-pwrite.c (main): Add tests for EBADF.
10848
10849         pread tests: EBADF tests.
10850         * tests/test-pread.c (main): Add tests for EBADF.
10851
10852         lseek tests: EBADF tests.
10853         * tests/test-lseek.c (main): Add more tests for EBADF.
10854
10855         Tests for module 'ftruncate'.
10856         * modules/ftruncate-tests: New file.
10857         * tests/test-ftruncate.sh: New file.
10858         * tests/test-ftruncate.c: New file.
10859
10860         fsync tests: EBADF tests.
10861         * tests/test-fsync.c (main): Add more tests for EBADF.
10862
10863         fdatasync tests: EBADF tests.
10864         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10865
10866         Tests for module 'fchown'.
10867         * modules/fchown-tests: New file.
10868         * tests/test-fchown.c: New file.
10869
10870         Tests for module 'fchmod'.
10871         * modules/fchmod-tests: New file.
10872         * tests/test-fchmod.c: New file.
10873
10874         fchdir tests: EBADF tests.
10875         * tests/test-fchdir.c (main): Add more tests for EBADF.
10876
10877         dup2 tests: EBADF tests.
10878         * tests/test-dup2.c (main): Add more tests for EBADF.
10879
10880         Tests for module 'dup'.
10881         * modules/dup-tests: New file.
10882         * tests/test-dup.c: New file.
10883
10884         Tests for module 'close'.
10885         * modules/close-tests: New file.
10886         * tests/test-close.c: New file.
10887
10888 2011-09-20  Bruno Haible  <bruno@clisp.org>
10889
10890         Tests for module 'shutdown'.
10891         * modules/shutdown-tests: New file.
10892         * tests/test-shutdown.c: New file.
10893
10894         Tests for module 'setsockopt'.
10895         * modules/setsockopt-tests: New file.
10896         * tests/test-setsockopt.c: New file.
10897
10898         Tests for module 'sendto'.
10899         * modules/sendto-tests: New file.
10900         * tests/test-sendto.c: New file.
10901
10902         Tests for module 'send'.
10903         * modules/send-tests: New file.
10904         * tests/test-send.c: New file.
10905
10906         Tests for module 'recvfrom'.
10907         * modules/recvfrom-tests: New file.
10908         * tests/test-recvfrom.c: New file.
10909
10910         Tests for module 'recv'.
10911         * modules/recv-tests: New file.
10912         * tests/test-recv.c: New file.
10913
10914         Tests for module 'listen'.
10915         * modules/listen-tests: New file.
10916         * tests/test-listen.c: New file.
10917
10918         Tests for module 'getsockopt'.
10919         * modules/getsockopt-tests: New file.
10920         * tests/test-getsockopt.c: New file.
10921
10922         Tests for module 'getsockname'.
10923         * modules/getsockname-tests: New file.
10924         * tests/test-getsockname.c: New file.
10925
10926         Tests for module 'getpeername'.
10927         * modules/getpeername-tests: New file.
10928         * tests/test-getpeername.c: New file.
10929
10930         Tests for module 'connect'.
10931         * modules/connect-tests: New file.
10932         * tests/test-connect.c: New file.
10933
10934         Tests for module 'bind'.
10935         * modules/bind-tests: New file.
10936         * tests/test-bind.c: New file.
10937
10938         accept4 tests: Fix for native Windows.
10939         * tests/test-accept4.c: Include sockets.h.
10940         (main): Invoke gl_sockets_startup.
10941         * modules/accept4-tests (Depends-on): Add sockets.
10942
10943         accept tests: Fix for native Windows.
10944         * tests/test-accept.c: Include sockets.h.
10945         (main): Invoke gl_sockets_startup.
10946         * modules/accept-tests (Depends-on): Add sockets.
10947
10948 2011-09-19  Bruno Haible  <bruno@clisp.org>
10949
10950         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
10951         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
10952         do...while(0).
10953         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
10954         Suggested by Paul Eggert.
10955
10956 2011-09-19  Bruno Haible  <bruno@clisp.org>
10957
10958         sched: Ensure pid_t is defined.
10959         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
10960         not define pid_t.
10961         * lib/sched.in.h: Include <sys/types.h>.
10962         * doc/posix-headers/sched.texi: Mention the pid_t problem.
10963         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10964
10965 2011-09-19  Bruno Haible  <bruno@clisp.org>
10966
10967         msvc-inval: Ensure the entire expansion is a single statement.
10968         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
10969         of braces.
10970
10971 2011-09-19  Jim Meyering  <meyering@redhat.com>
10972
10973         tests: use printf, not echo in init.sh's warn_ function
10974         * tests/init.sh (warn_): Use printf, not echo.  The latter would
10975         misbehave when given strings containing a backslash or starting
10976         with e.g., -n.  James Youngman suggested setting IFS.
10977
10978 2011-09-19  Eric Blake  <eblake@redhat.com>
10979
10980         futimens: enhance test
10981         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10982         closed non-negative fd.
10983
10984         date: accept 'hence' as opposite of 'ago'
10985         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10986         * tests/test-parse-datetime.c (main): Enhance test.
10987         Suggested by Jesse Wilson.
10988
10989 2011-09-19  Jim Meyering  <meyering@redhat.com>
10990
10991         getcwd: don't fail in a deep directory on a system without openat
10992         Before this change, getcwd would fail when called from a directory
10993         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10994         the non-openat implementation used "..", "../..", "../../..", etc.
10995         to access ancestor directories.  With too many, that string would
10996         be longer than PATH_MAX.
10997         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10998         using gnulib's openat replacement.
10999         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
11000         we're using the replacement function.
11001
11002 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
11003
11004         maint.mk: avoid warnings from perl about missing files
11005         * top/maint.mk (def_sym_regex): Ignore files listed in
11006         $(gl_other_headers_) that do not exist, say because a project
11007         does not use a corresponding module.
11008
11009 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11010
11011         stat: use pathmax.h only if needed
11012         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
11013         This is better for Emacs, which does not have a mingw port and
11014         therefore can avoid the pathmax module.
11015
11016         utimens: remove dependency on dup2
11017         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
11018         to work around the Linux kernel bug.
11019         * modules/utimens (Depends-on): Remove dup2.
11020
11021 2011-09-18  Bruno Haible  <bruno@clisp.org>
11022
11023         inet_ntop, inet_pton: Look for it also in libresolv.
11024         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
11025         libnsl, search for it in libresolv.
11026         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11027         Needed on Solaris 7.
11028
11029 2011-09-18  Bruno Haible  <bruno@clisp.org>
11030
11031         accept, accept4 tests: Avoid link error on Solaris.
11032         * modules/accept-tests (Makefile.am): Link test-accept against
11033         $(LIBSOCKET).
11034         * modules/accept4-tests (Makefile.am): Link test-accept4 against
11035         $(LIBSOCKET).
11036
11037         accept4: Avoid link error on Solaris.
11038         * modules/accept4 (Link): New section.
11039
11040         socket functions: Avoid link errors on Solaris.
11041         * modules/accept (Depends-on): Add socketlib.
11042         (Link): New section.
11043         * modules/bind (Depends-on): Add socketlib.
11044         (Link): New section.
11045         * modules/connect (Depends-on): Add socketlib.
11046         (Link): New section.
11047         * modules/getpeername (Depends-on): Add socketlib.
11048         (Link): New section.
11049         * modules/getsockname (Depends-on): Add socketlib.
11050         (Link): New section.
11051         * modules/getsockopt (Depends-on): Add socketlib.
11052         (Link): New section.
11053         * modules/listen (Depends-on): Add socketlib.
11054         (Link): New section.
11055         * modules/recv (Depends-on): Add socketlib.
11056         (Link): New section.
11057         * modules/recvfrom (Depends-on): Add socketlib.
11058         (Link): New section.
11059         * modules/send (Depends-on): Add socketlib.
11060         (Link): New section.
11061         * modules/sendto (Depends-on): Add socketlib.
11062         (Link): New section.
11063         * modules/setsockopt (Depends-on): Add socketlib.
11064         (Link): New section.
11065         * modules/shutdown (Depends-on): Add socketlib.
11066         (Link): New section.
11067         * modules/socket (Depends-on): Add socketlib.
11068         (Link): New section.
11069
11070 2011-09-18  Bruno Haible  <bruno@clisp.org>
11071
11072         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
11073         * tests/test-ptsname.c (main): Terminate the test if it takes longer
11074         than 5 seconds.
11075         * modules/ptsname-tests (configure.ac): Test for alarm.
11076
11077 2011-09-18  Bruno Haible  <bruno@clisp.org>
11078
11079         posix_spawn_file_actions_add*: Fix module dependencies.
11080         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
11081         posix_spawn_file_actions_init.
11082         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
11083         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
11084
11085 2011-09-18  Bruno Haible  <bruno@clisp.org>
11086
11087         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
11088         * tests/test-rename.h (test_rename): Allow error code EEXIST.
11089         * tests/test-renameat.c (main): Likewise.
11090
11091 2011-09-18  Bruno Haible  <bruno@clisp.org>
11092
11093         Tests for module 'accept4'.
11094         * modules/accept4-tests: New file.
11095         * tests/test-accept4.c: New file.
11096
11097 2011-09-18  Bruno Haible  <bruno@clisp.org>
11098
11099         Tests for module 'accept'.
11100         * modules/accept-tests: New file.
11101         * tests/test-accept.c: New file.
11102
11103 2011-09-18  Bruno Haible  <bruno@clisp.org>
11104
11105         dup2: Support for MSVC.
11106         * lib/dup2.c: Include msvc-inval.h.
11107         (rpl_dup2): Handle invalid parameter notifications during dup2 and
11108         _get_osfhandle calls.
11109         * modules/dup2 (Depends-on): Add msvc-inval.
11110         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
11111
11112         New module 'msvc-inval'.
11113         * lib/msvc-inval.h: New file.
11114         * lib/msvc-inval.c: New file.
11115         * m4/msvc-inval.m4: New file.
11116         * modules/msvc-inval: New file.
11117
11118 2011-09-17  Bruno Haible  <bruno@clisp.org>
11119
11120         Tests for module 'pclose'.
11121         * modules/pclose-tests: New file.
11122
11123         New module 'pclose'.
11124         * lib/stdio.in.h (pclose): New declaration.
11125         * lib/pclose.c: New file.
11126         * m4/pclose.m4: New file.
11127         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
11128         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
11129         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
11130         * modules/pclose: New file.
11131         * modules/popen-tests (Depends-on): Add pclose.
11132         * modules/popen-safer-tests (Depends-on): Likewise.
11133         * doc/posix-functions/pclose.texi: Mention the new module.
11134
11135 2011-09-17  Bruno Haible  <bruno@clisp.org>
11136
11137         popen: Support for MSVC.
11138         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
11139         * lib/popen.c (popen): Provide alternate definition for native Windows.
11140         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
11141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
11142         * modules/popen (Depends-on, configure.ac): Update condition.
11143         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
11144         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11145         fixed.
11146
11147 2011-09-17  Bruno Haible  <bruno@clisp.org>
11148
11149         isnanl, isnand, isnanf: Work around MSVC bug.
11150         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
11151
11152 2011-09-17  Bruno Haible  <bruno@clisp.org>
11153
11154         sys_socket tests: Fix recent mistake.
11155         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
11156
11157 2011-09-17  Bruno Haible  <bruno@clisp.org>
11158
11159         putenv: Support for MSVC.
11160         * modules/putenv (Depends-on): Add environ.
11161         * lib/putenv.c (environ): Disable declaration.
11162         * lib/unistd.in.h: Update comment.
11163
11164 2011-09-17  Bruno Haible  <bruno@clisp.org>
11165
11166         math: Avoid macro redefinition warnings on MSVC.
11167         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
11168         Undefine before redefining.
11169
11170 2011-09-17  Bruno Haible  <bruno@clisp.org>
11171
11172         doc: Mention functions which are declared as macros.
11173         * doc/posix-functions/*[fl].texi: Mention that some functions are
11174         defined as macros with arguments only.
11175
11176 2011-09-17  Bruno Haible  <bruno@clisp.org>
11177
11178         Add dependencies to new dirent related modules.
11179         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
11180         * modules/fts (Depends-on): Likewise.
11181         * modules/glob (Depends-on): Likewise.
11182         * modules/savedir (Depends-on): Likewise.
11183         * modules/scandir (Depends-on): Likewise.
11184         * modules/dirent-safer (Depends-on): Add opendir, closedir.
11185         * modules/fdopendir (Depends-on): Add opendir.
11186
11187 2011-09-17  Bruno Haible  <bruno@clisp.org>
11188
11189         inet_pton: Support for MSVC on Windows Vista or newer.
11190         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
11191         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
11192         HAVE_DECL_INET_PTON is defined.
11193         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11194         On platforms with <winsock2.h>, test whether inet_pton is declared in
11195         <ws2tcpip.h>. If so, arrange to replace it.
11196         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11197         REPLACE_INET_PTON.
11198         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
11199         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
11200         (Depends-on, configure.ac): Update condition.
11201         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
11202
11203 2011-09-17  Bruno Haible  <bruno@clisp.org>
11204
11205         inet_ntop: Support for MSVC on Windows Vista or newer.
11206         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
11207         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
11208         HAVE_DECL_INET_NTOP is defined.
11209         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11210         On platforms with <winsock2.h>, test whether inet_ntop is declared in
11211         <ws2tcpip.h>. If so, arrange to replace it.
11212         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11213         REPLACE_INET_NTOP.
11214         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
11215         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
11216         (Depends-on, configure.ac): Update condition.
11217         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
11218
11219 2011-09-16  Eric Blake  <eblake@redhat.com>
11220
11221         test-fsync: yet another enhancement
11222         * tests/test-fsync.c (main): Also test behavior on read-only text
11223         file.
11224
11225 2011-09-16  Bruno Haible  <bruno@clisp.org>
11226
11227         Enhance fsync, fdatasync tests.
11228         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
11229         * tests/test-fdatasync.c (main): Likewise.
11230
11231 2011-09-16  Bruno Haible  <bruno@clisp.org>
11232
11233         Support for MSVC compiler: Ensure mode_t gets defined.
11234         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
11235         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11236         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11237         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
11238         * tests/test-fcntl-h.c: Check that mode_t is defined.
11239         * tests/test-sys_stat.c: Likewise.
11240         * tests/test-sys_types.c: Likewise.
11241         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
11242         * doc/posix-headers/sys_stat.texi: Likewise.
11243         * doc/posix-headers/sys_types.texi: Likewise.
11244
11245 2011-09-16  Bruno Haible  <bruno@clisp.org>
11246
11247         sys_stat: Support for MSVC.
11248         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
11249         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
11250         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
11251         MSVC.
11252
11253 2011-09-16  Bruno Haible  <bruno@clisp.org>
11254
11255         Support for MSVC compiler: Ensure off_t gets defined.
11256         * lib/unistd.in.h: Include <sys/types.h>.
11257         * tests/test-fcntl-h.c: Check that off_t is defined.
11258         * tests/test-sys_stat.c: Likewise.
11259         * tests/test-sys_types.c: Likewise.
11260
11261 2011-09-16  Eric Blake  <eblake@redhat.com>
11262
11263         fdatasync: port to Solaris
11264         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
11265         * modules/fdatasync (Link): Document it.
11266         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
11267
11268         fdatasync: port to MacOS X 10.7
11269         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
11270         declared.
11271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
11272         * modules/unistd (Makefile.am): Substitute it.
11273         * lib/unistd.in.h (fdatasync): Declare on MacOS.
11274         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
11275
11276         fdatasync: minor improvements
11277         * modules/fdatasync (Depends-on): Add condition for fsync.
11278         * lib/fdatasync.c (fdatasync): Add comment.
11279         * tests/test-unistd-c++.cc: Test fdatasync.
11280
11281         unistd: update refs to newer POSIX
11282         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
11283         Suggested by Bruno Haible.
11284
11285         fdatasync: new module
11286         * modules/fsync (Description): Document difference to fdatasync.
11287         * modules/fdatasync: New module.
11288         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
11289         * lib/fdatasync.c (fdatasync): Likewise.
11290         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
11291         defaults.
11292         * modules/unistd (Makefile.am): Set witnesses.
11293         * lib/unistd.in.h (fdatasync): Declare.
11294         * MODULES.html.sh: Document it.
11295         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
11296         * modules/fdatasync-tests: New test.
11297         * tests/test-fdatasync.c: Likewise.
11298
11299 2011-09-16  Eric Blake  <eblake@redhat.com>
11300
11301         test-fsync: enhance tests
11302         * modules/fsync-tests (Depends-on): Add errno, for mingw.
11303         * tests/test-fsync.c (main): Enhance test.
11304
11305 2011-09-15  Bruno Haible  <bruno@clisp.org>
11306
11307         Support for MSVC compiler: Ensure ssize_t gets defined.
11308         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
11309         * doc/posix-headers/stdio.texi: Likewise.
11310         * modules/stdio (Depends-on): Add ssize_t.
11311         * modules/sys_socket (Depends-on): Likewise.
11312         * modules/sys_types (Depends-on): Likewise.
11313         * modules/sys_uio (Depends-on): Likewise.
11314         * modules/unistd (Depends-on): Likewise.
11315         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
11316         * tests/test-sys_types.c: Check that ssize_t is defined.
11317
11318 2011-09-14  Bruno Haible  <bruno@clisp.org>
11319
11320         Avoid using #, the m4 comment starter character, near brackets.
11321         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
11322         delimiter character in sed expressions.
11323         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11324         Suggested by Eric Blake.
11325
11326         Properly quote AC_CHECK_DECLS' 4th argument.
11327         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
11328         argument.
11329         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11330         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11331         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11332         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
11333         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
11334         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
11335         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
11336         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
11337         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
11338         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11339         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
11340         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11341         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11342         * m4/isinf.m4 (gl_ISINF): Likewise.
11343         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11344         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11345         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11346         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11347         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11348         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11349         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11350         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11351         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11352         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11353         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11354         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11356         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11357         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11358         Reported by Eric Blake.
11359
11360         Properly quote AC_CHECK_DECL's 4th argument.
11361         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11362         argument.
11363         * m4/argp.m4 (gl_ARGP): Likewise.
11364         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11365         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11366         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11367         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11368         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11369         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11370         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11371         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11372         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11373         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11374         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11375         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11376         Reported by Eric Blake.
11377
11378 2011-09-14  Eric Blake  <eblake@redhat.com>
11379
11380         opendir: avoid compile warning
11381         * lib/opendir.c (includes): Always include errno.h.
11382         Reported by Tatsuro MATSUOKA.
11383
11384 2011-09-14  Jim Meyering  <meyering@redhat.com>
11385
11386         maint.mk: sc_tight_scope: propagate failure from sub-make
11387         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11388         Reported by Martin von Gagern.
11389
11390 2011-09-13  Bruno Haible  <bruno@clisp.org>
11391
11392         tempname: Support for MSVC.
11393         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11394         MSVC.
11395         * modules/tempname (Depends-on): Add fcntl-h.
11396
11397 2011-09-13  Bruno Haible  <bruno@clisp.org>
11398
11399         sys_time: Support for MSVC.
11400         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
11401         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
11402         include <winsock2.h>.
11403         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
11404         function declarations that collide with POSIX.
11405         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
11406         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11407
11408 2011-09-13  Bruno Haible  <bruno@clisp.org>
11409
11410         stat: Support for MSVC.
11411         * lib/stat.c: Include pathmax.h.
11412         * modules/stat (Depends-on): Add pathmax.
11413
11414         pathmax: Support for native Windows.
11415         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
11416
11417 2011-09-12  Bruno Haible  <bruno@clisp.org>
11418
11419         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
11420         * lib/dirent.in.h (struct dirent): New type.
11421         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
11422         DT_WHT): New macros.
11423         (DIR): New type.
11424         (opendir, closedir): Declare only if the module 'opendir' is enabled.
11425         (readdir, rewinddir): New declarations.
11426         * lib/dirent-private.h: New file.
11427         * lib/opendir.c: New file.
11428         * lib/readdir.c: New file.
11429         * lib/rewinddir.c: New file.
11430         * lib/closedir.c: New file.
11431         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
11432         * m4/opendir.m4: New file.
11433         * m4/readdir.m4: New file.
11434         * m4/rewinddir.m4: New file.
11435         * m4/closedir.m4: New file.
11436         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
11437         REPLACE_CLOSEDIR here.
11438         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
11439         readdir, rewinddir are declared.
11440         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
11441         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
11442         HAVE_REWINDDIR, HAVE_CLOSEDIR.
11443         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
11444         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
11445         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
11446         * modules/opendir: New file.
11447         * modules/readdir: New file.
11448         * modules/rewinddir: New file.
11449         * modules/closedir: New file.
11450         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
11451         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
11452         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
11453         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
11454         * NEWS: Mention the 'fchdir' change.
11455
11456 2011-09-11  Bruno Haible  <bruno@clisp.org>
11457
11458         asm-underscore.m4: Support for MSVC.
11459         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
11460         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
11461
11462 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
11463
11464         Doc about crypt functions.
11465         * doc/posix-functions/crypt.texi: Expand range of glibc versions
11466         needing for _GNU_SOURCE to get crypt.
11467         * doc/posix-functions/encrypt.texi: Likewise.
11468         * doc/posix-functions/setkey.texi: Likewise.
11469
11470 2011-09-11  Bruno Haible  <bruno@clisp.org>
11471
11472         doc: Update regarding MSVC 9.
11473         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
11474         tested".
11475         * doc/posix-functions/*.texi: Update with info about MSVC 9.
11476         * doc/posix-headers/*.texi: Likewise.
11477         * doc/pastposix-functions/*.texi: Likewise.
11478         * doc/glibc-functions/*.texi: Likewise.
11479         * doc/glibc-headers/*.texi: Likewise.
11480
11481 2011-09-11  Bruno Haible  <bruno@clisp.org>
11482
11483         unistd et al.: Don't assume <unistd.h> exists.
11484         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
11485         does not exist.
11486         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
11487         exist. But include <stdlib.h>.
11488         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
11489         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
11490         symlink() does not exist.
11491         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
11492         include <io.h> instead.
11493         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
11494         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
11495         include <direct.h> instead.
11496         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11497         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11498         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
11499         <io.h> instead.
11500         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
11501         correctly if the system does not have hard links.
11502         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
11503         <direct.h> instead.
11504         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
11505         it when looking for function declarations.
11506         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
11507         <direct.h> and <io.h> instead.
11508         * doc/posix-headers/unistd.texi: More details about MSVC problem.
11509
11510 2011-09-11  Bruno Haible  <bruno@clisp.org>
11511
11512         strcase: Support for MSVC.
11513         * modules/strcase (Status, Notice): Remove obsoletion mark.
11514         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
11515         * doc/posix-functions/strncasecmp.texi: Likewise.
11516
11517         strings: Don't assume <strings.h> exists.
11518         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
11519         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
11520         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
11521         * doc/posix-headers/strings.texi: Mention the MSVC problem.
11522
11523 2011-09-11  Bruno Haible  <bruno@clisp.org>
11524
11525         dirent: Don't assume <dirent.h> exists.
11526         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
11527         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
11528         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
11529         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
11530
11531 2011-09-11  Bruno Haible  <bruno@clisp.org>
11532
11533         Fix wint_t on MSVC.
11534         * lib/wchar.in.h (wint_t): On MSVC, override it.
11535         * lib/wctype.in.h (wint_t): Likewise.
11536         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
11537         MSVC.
11538         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
11539         * doc/posix-headers/wctype.texi: Likewise.
11540
11541 2011-09-11  Bruno Haible  <bruno@clisp.org>
11542
11543         sys_types: Fix typo.
11544         * lib/sys_types.in.h: Fix typo in comment.
11545         Reported by Paul Eggert.
11546
11547         Support for MSVC compiler: Ensure size_t gets defined.
11548         * modules/strings (Depends-on): Add 'sys_types'.
11549         * modules/sys_uio (Depends-on): Likewise.
11550         * lib/sys_uio.in.h: Update comment.
11551
11552         C++ tests for module 'sys_types'.
11553         * modules/sys_types-c++-tests: New file.
11554         * tests/test-sys_types-c++.cc: New file.
11555
11556         Tests for module 'sys_types'.
11557         * modules/sys_types-tests: New file.
11558         * tests/test-sys_types.c: New file.
11559
11560         New module 'sys_types'.
11561         * lib/sys_types.in.h: New file.
11562         * m4/sys_types_h.m4: New file.
11563         * modules/sys_types: New file.
11564         * doc/posix-headers/sys_types.texi: Mention the new module and the
11565         size_t problem on MSVC 9.
11566
11567 2011-09-11  Bruno Haible  <bruno@clisp.org>
11568
11569         Support for MSVC compiler: Avoid division by a literal 0.
11570         * lib/math.in.h (NAN): Define through a function call also on MSVC.
11571         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
11572         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
11573         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
11574         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
11575         * tests/infinity.h: New file.
11576         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
11577         on MSVC.
11578         * tests/test-ceilf1.c: Include infinity.h.
11579         (main): Use Infinityf.
11580         * tests/test-ceil1.c: Include infinity.h.
11581         (main): Use Infinityd.
11582         * tests/test-ceill.c: Include infinity.h.
11583         (main): Use Infinityl.
11584         * tests/test-dprintf-posix.c: Include infinity.h.
11585         (test_function): Use Infinityd.
11586         * tests/test-floorf1.c: Include infinity.h.
11587         (main): Use Infinityf.
11588         * tests/test-floor1.c: Include infinity.h.
11589         (main): Use Infinityd.
11590         * tests/test-floorl.c: Include infinity.h.
11591         (main): Use Infinityl.
11592         * tests/test-fprintf-posix.c: Include infinity.h.
11593         (test_function): Use Infinityd.
11594         * tests/test-frexp.c: Include infinity.h.
11595         (main): Use Infinityd.
11596         * tests/test-frexpl.c: Include infinity.h.
11597         (main): Use Infinityl.
11598         * tests/test-isfinite.c: Include infinity.h.
11599         (test_isfinitef): Use Infinityf.
11600         (test_isfinited): Use Infinityd.
11601         (test_isfinitel): Use Infinityl.
11602         * tests/test-isinf.c: Include infinity.h.
11603         (test_isinff): Use Infinityf.
11604         (test_isinfd): Use Infinityd.
11605         (test_isinfl): Use Infinityl.
11606         * tests/test-isnan.c: Include infinity.h.
11607         (test_float): Use Infinityf.
11608         (test_double): Use Infinityd.
11609         (test_long_double): Use Infinityl.
11610         * tests/test-isnanf.h: Include infinity.h.
11611         (main): Use Infinityf.
11612         * tests/test-isnand.h: Include infinity.h.
11613         (main): Use Infinityd.
11614         * tests/test-isnanl.h: Include infinity.h.
11615         (main): Use Infinityl.
11616         * tests/test-ldexpl.c: Include infinity.h.
11617         (main): Use Infinityl.
11618         * tests/test-printf-posix.h: Include infinity.h.
11619         (test_function): Use Infinityd.
11620         * tests/test-roundf1.c: Include infinity.h.
11621         (main): Use Infinityf.
11622         * tests/test-round1.c: Include infinity.h.
11623         (main): Use Infinityd.
11624         * tests/test-roundl.c: Include infinity.h.
11625         (main): Use Infinityl.
11626         * tests/test-signbit.c: Include infinity.h.
11627         (test_signbitf): Use Infinityf.
11628         (test_signbitd): Use Infinityd.
11629         (test_signbitl): Use Infinityl.
11630         * tests/test-snprintf-posix.h: Include infinity.h.
11631         (test_function): Use Infinityd, Infinityl.
11632         * tests/test-sprintf-posix.h: Include infinity.h.
11633         (test_function): Use Infinityd, Infinityl.
11634         * tests/test-truncf1.c: Include infinity.h.
11635         (main): Use Infinityf.
11636         * tests/test-trunc1.c: Include infinity.h.
11637         (main): Use Infinityd.
11638         * tests/test-truncl.c: Include infinity.h.
11639         (main): Use Infinityl.
11640         * tests/test-vasnprintf-posix.c: Include infinity.h.
11641         (test_function): Use Infinityd, Infinityl.
11642         * tests/test-vasprintf-posix.c: Include infinity.h.
11643         (test_function): Use Infinityd, Infinityl.
11644         * modules/ceilf-tests (Files): Add tests/infinity.h.
11645         * modules/ceil-tests (Files): Likewise.
11646         * modules/ceill-tests (Files): Likewise.
11647         * modules/dprintf-posix-tests (Files): Likewise.
11648         * modules/floorf-tests (Files): Likewise.
11649         * modules/floor-tests (Files): Likewise.
11650         * modules/floorl-tests (Files): Likewise.
11651         * modules/fprintf-posix-tests (Files): Likewise.
11652         * modules/frexp-tests (Files): Likewise.
11653         * modules/frexp-nolibm-tests (Files): Likewise.
11654         * modules/frexpl-tests (Files): Likewise.
11655         * modules/frexpl-nolibm-tests (Files): Likewise.
11656         * modules/isfinite-tests (Files): Likewise.
11657         * modules/isinf-tests (Files): Likewise.
11658         * modules/isnan-tests (Files): Likewise.
11659         * modules/isnanf-tests (Files): Likewise.
11660         * modules/isnanf-nolibm-tests (Files): Likewise.
11661         * modules/isnand-tests (Files): Likewise.
11662         * modules/isnand-nolibm-tests (Files): Likewise.
11663         * modules/isnanl-tests (Files): Likewise.
11664         * modules/isnanl-nolibm-tests (Files): Likewise.
11665         * modules/ldexpl-tests (Files): Likewise.
11666         * modules/printf-posix-tests (Files): Likewise.
11667         * modules/roundf-tests (Files): Likewise.
11668         * modules/round-tests (Files): Likewise.
11669         * modules/roundl-tests (Files): Likewise.
11670         * modules/signbit-tests (Files): Likewise.
11671         * modules/snprintf-posix-tests (Files): Likewise.
11672         * modules/sprintf-posix-tests (Files): Likewise.
11673         * modules/truncf-tests (Files): Likewise.
11674         * modules/trunc-tests (Files): Likewise.
11675         * modules/truncl-tests (Files): Likewise.
11676         * modules/vasnprintf-posix-tests (Files): Likewise.
11677         * modules/vasprintf-posix-tests (Files): Likewise.
11678         * modules/vdprintf-posix-tests (Files): Likewise.
11679         * modules/vfprintf-posix-tests (Files): Likewise.
11680         * modules/vprintf-posix-tests (Files): Likewise.
11681         * modules/vsnprintf-posix-tests (Files): Likewise.
11682         * modules/vsprintf-posix-tests (Files): Likewise.
11683         * modules/xprintf-posix-tests (Files): Likewise.
11684
11685 2011-09-11  Bruno Haible  <bruno@clisp.org>
11686
11687         Ensure pid_t gets defined.
11688         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
11689         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11690         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11691         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11692         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11693         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11694         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
11695         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11696         * tests/test-fcntl-h.c: Check that pid_t is defined.
11697         * tests/test-sched.c: Likewise.
11698         * tests/test-termios.c: Likewise.
11699         * tests/test-time.c: Likewise.
11700         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
11701         * doc/posix-headers/signal.texi: Likewise.
11702         * doc/posix-headers/sys_types.texi: Likewise.
11703         * doc/posix-headers/time.texi: Likewise.
11704
11705 2011-09-11  Bruno Haible  <bruno@clisp.org>
11706
11707         acl: Fix compilation on Solaris 10 (older version).
11708         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
11709         of ACE_EVERYONE.
11710         * lib/set-mode-acl.c (qset_acl): Likewise.
11711         Reported by Christian Jullien <eligis@orange.fr>.
11712
11713 2011-09-10  Bruno Haible  <bruno@clisp.org>
11714
11715         iconv, unsetenv: Add support for MSVC compiler.
11716         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
11717         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
11718
11719 2011-09-10  Bruno Haible  <bruno@clisp.org>
11720
11721         *printf: Add support for MSVC compiler.
11722         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
11723         handles the exception caused by the %n directive. When cross-compiling,
11724         guess no on native Windows.
11725         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11726         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
11727         emulate it through vsnprintf.
11728         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
11729         * doc/posix-functions/dprintf.texi: Update documentation regarding
11730         MSVC 9.
11731         * doc/posix-functions/fprintf.texi: Likewise.
11732         * doc/posix-functions/printf.texi: Likewise.
11733         * doc/posix-functions/snprintf.texi: Likewise.
11734         * doc/posix-functions/sprintf.texi: Likewise.
11735         * doc/posix-functions/swprintf.texi: Likewise.
11736         * doc/posix-functions/vdprintf.texi: Likewise.
11737         * doc/posix-functions/vfprintf.texi: Likewise.
11738         * doc/posix-functions/vprintf.texi: Likewise.
11739         * doc/posix-functions/vsnprintf.texi: Likewise.
11740         * doc/posix-functions/vsprintf.texi: Likewise.
11741         * doc/glibc-functions/asprintf.texi: Likewise.
11742         * doc/glibc-functions/obstack_printf.texi: Likewise.
11743         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11744         * doc/glibc-functions/vasprintf.texi: Likewise.
11745
11746 2011-09-10  Bruno Haible  <bruno@clisp.org>
11747
11748         nocrash: Add support for native Windows.
11749         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
11750
11751 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
11752             Bruno Haible  <bruno@clisp.org>
11753
11754         absolute-header, include-next: Add support for MSVC compiler.
11755         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
11756         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
11757         directory separator in #line directives.
11758         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
11759         recognize also backslash as directory separator in #line directives.
11760
11761 2011-09-08  Jim Meyering  <meyering@redhat.com>
11762
11763         maint.mk: mark the post-release commit log with "maint: " prefix
11764         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
11765         one-line commit-log summary.
11766
11767 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11768             Bruno Haible  <bruno@clisp.org>
11769
11770         Doc about crypt functions.
11771         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11772         systems.
11773         * doc/posix-functions/encrypt.texi: Likewise.
11774         * doc/posix-functions/setkey.texi: Likewise.
11775
11776 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11777
11778         * lib/gc.h: Fix copyright header.
11779
11780 2011-09-07  Bruno Haible  <bruno@clisp.org>
11781
11782         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11783         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11784         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11785
11786 2011-09-07  Bruno Haible  <bruno@clisp.org>
11787
11788         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11789         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11790         * lib/freopen.c: Likewise.
11791         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11792         * lib/lstat.c: Likewise.
11793         * lib/stat.c: Likewise.
11794         * lib/open.c: Use different syntax for include of <fcntl.h>.
11795         * lib/openat.c: Include fcntl.h again, explicitly.
11796
11797 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11798
11799         parse-datetime: document the newly accepted format
11800         * doc/parse-datetime.texi (Combined date and time of day items):
11801         New section.
11802
11803 2011-09-06  Bruno Haible  <bruno@clisp.org>
11804
11805         acl: Fix a test failure on newer Solaris 10 with ZFS.
11806         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11807         ENOSYS as no ACL.
11808         Reported by Jim Meyering.
11809
11810 2011-09-06  Bruno Haible  <bruno@clisp.org>
11811
11812         acl: Update for AIX >= 5.3 with NFS.
11813         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11814         ENOSYS as no ACL.
11815
11816         acl: Fix a test failure on AIX >= 5.3 with NFS.
11817         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11818         as no ACL.
11819
11820 2011-09-06  Bruno Haible  <bruno@clisp.org>
11821
11822         acl: Fix a test failure on IRIX 6.5 with NFS.
11823         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11824         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11825         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11826         * lib/copy-acl.c (qcopy_acl): Likewise.
11827
11828 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11829
11830         openat: port to AIX 7.1 with large files
11831         AIX 7.1 does a "#define openat open64at" if large files are in use,
11832         so we can't simply #undef openat.  Use the orig_openat trick (similar
11833         to orig_open in lib/open.c) to work around the problem.  Problem
11834         reported by Kevin Brott for GNU tar, in the thread containing
11835         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11836         * lib/openat.c (__need_system_fcntl_h): Define first.
11837         Include <fcntl.h> and <sys/types.h> before undefining.
11838         (orig_openat) [HAVE_OPENAT]: New inline function.
11839         (openat) [HAVE_OPENAT]: Do not undef.
11840         (rpl_openat): Use orig_openat, not openat.
11841
11842 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11843             Bruno Haible  <bruno@clisp.org>
11844
11845         acl: Avoid errors on NonStop Kernel.
11846         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11847         ENOTSUP errors.
11848
11849 2011-09-05  Bruno Haible  <bruno@clisp.org>
11850
11851         acl: Clean up Solaris code.
11852         * lib/acl-internal.h: Remove no-op #if.
11853         * lib/file-has-acl.c: Likewise.
11854         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11855         * lib/copy-acl.c (qcopy_acl): Likewise.
11856
11857 2011-09-05  Bruno Haible  <bruno@clisp.org>
11858
11859         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11860         binaries built on the original Solaris 10.
11861         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11862         trivial.
11863
11864 2011-09-05  Bruno Haible  <bruno@clisp.org>
11865
11866         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11867         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11868         10.
11869         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11870         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11871         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11872         instead of acl_get, facl_get, acl_set, facl_set.
11873
11874 2011-09-05  Bruno Haible  <bruno@clisp.org>
11875
11876         copy-file: Try unit tests on more file systems.
11877         * tests/test-copy-file-1.sh: New file.
11878         * tests/test-copy-file-2.sh: New file.
11879         * modules/copy-file-tests (Files): Add them.
11880         (Makefile.am): Add them to TESTS.
11881
11882         acl: Try unit tests on more file systems.
11883         * tests/test-file-has-acl-1.sh: New file.
11884         * tests/test-file-has-acl-2.sh: New file.
11885         * tests/test-set-mode-acl-1.sh: New file.
11886         * tests/test-set-mode-acl-2.sh: New file.
11887         * tests/test-copy-acl-1.sh: New file.
11888         * tests/test-copy-acl-2.sh: New file.
11889         * modules/acl-tests (Files): Add them.
11890         (Makefile.am): Add them to TESTS.
11891
11892 2011-09-04  Bruno Haible  <bruno@clisp.org>
11893
11894         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11895         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11896         10.
11897         (OLD_ALLOW, OLD_DENY): New macros.
11898         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11899         ACE_ACCESS_ALLOWED_ACE_TYPE.
11900         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11901         ACE_ACCESS_DENIED_ACE_TYPE.
11902         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11903         (NEW_ACE_EXECUTE): Fix value.
11904         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11905         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11906         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11907         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11908         NEW_ACE_SYNCHRONIZE): New macros.
11909         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11910         instead of acl_fromtext, acl_set, facl_set.
11911         Fixes a coreutils/tests/cp/perm failure.
11912
11913 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11914
11915         openat: test for fstatat (..., 0) bug
11916         Further testing with tar suggests that fstatat (..., 0)
11917         does not work in general, on AIX 7.1; see
11918         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11919         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11920         replacement fstatat (which is what older AIX releases were using
11921         anyway).
11922         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11923         use is now changed to orig_fstatat.  This was probably the right
11924         thing to do anyway.
11925         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11926         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11927         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11928         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11929         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11930         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11931         if the bug is found.
11932
11933         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11934         This tests for another fstatat bug on AIX 7.1:
11935         fstatat (AT_FDCWD, ..., 0) does not work.  See
11936         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11937         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
11938         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
11939         (rpl_fstatat): Adjust so that it works around either (or both)
11940         bugs if present.
11941         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
11942
11943 2011-09-03  Karl Berry  <karl@gnu.org>
11944
11945         * doc/regex.texi (Character Class Operators): Avoid literal ":"
11946         in index entries.
11947
11948 2011-09-02  Bruno Haible  <bruno@clisp.org>
11949
11950         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
11951         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
11952         values of AR, ARFLAGS, RANLIB.
11953         Reported by John W. Eaton <jwe@gnu.org> for Octave.
11954
11955 2011-09-02  Bruno Haible  <bruno@clisp.org>
11956
11957         Find 'ar' program that fits with --host argument.
11958         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
11959
11960 2011-09-02  Bruno Haible  <bruno@clisp.org>
11961
11962         tests: init.sh: Support any non-GNU diff.
11963         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
11964         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
11965         Solaris 8.
11966
11967 2011-09-02  Bruno Haible  <bruno@clisp.org>
11968
11969         tests: init.sh: work also with any non-GNU diff that supports -u
11970         * tests/init.sh: Relax check for diff -u support.
11971         Rather than checking for GNU diff via --version, simply check
11972         for support for -u itself.  Useful at least on OpenBSD 4.9,
11973         AIX 7.1, IRIX 6.5, and Solaris 10.
11974
11975 2011-09-01  Bruno Haible  <bruno@clisp.org>
11976
11977         strtoimax, strtoumax: Document problem on HP-UX 11.
11978         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11979         * doc/posix-functions/strtoumax.texi: Likewise.
11980
11981 2011-09-01  Bruno Haible  <bruno@clisp.org>
11982
11983         strtoumax: Avoid link error on OSF/1 with DTK cc.
11984         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11985         defined as a function.
11986         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11987         strtoumax is defined, not whether it is declared.
11988
11989 2011-09-01  Bruno Haible  <bruno@clisp.org>
11990
11991         strtoimax: Avoid link error on OSF/1 with DTK cc.
11992         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11993         defined as a function.
11994         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11995         strtoimax is defined, not whether it is declared.
11996
11997 2011-09-01  Bruno Haible  <bruno@clisp.org>
11998
11999         imaxdiv: Avoid link error on OSF/1 with DTK cc.
12000         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
12001         as a function.
12002         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
12003         whether it is declared.
12004
12005 2011-09-01  Bruno Haible  <bruno@clisp.org>
12006
12007         imaxabs: Avoid link error on OSF/1 with DTK cc.
12008         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
12009         as a function.
12010         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
12011         whether it is declared.
12012
12013 2011-09-01  Bruno Haible  <bruno@clisp.org>
12014
12015         Tests for module 'strtoumax'.
12016         * modules/strtoumax-tests: New file.
12017         * tests/test-strtoumax.c: New file.
12018
12019         Tests for module 'strtoimax'.
12020         * modules/strtoimax-tests: New file.
12021         * tests/test-strtoimax.c: New file.
12022
12023         Tests for module 'imaxdiv'.
12024         * modules/imaxdiv-tests: New file.
12025         * tests/test-imaxdiv.c: New file.
12026
12027         Tests for module 'imaxabs'.
12028         * modules/imaxabs-tests: New file.
12029         * tests/test-imaxabs.c: New file.
12030
12031 2011-09-01  Bruno Haible  <bruno@clisp.org>
12032
12033         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
12034         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
12035         pthread_create.
12036
12037 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12038
12039         openat: work around AIX 7.1 fstatat issue
12040         This should fix the problem that was not properly fixed
12041         in the previous change, dated 2011-08-30.
12042         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
12043         __need_system_stat_h defined.
12044         (orig_fstatat) [HAVE_FSTATAT]: New function.
12045         (rpl_fstatat): Go back to the old way of doing things,
12046         except call orig_fstatat instead of fstatat.
12047         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
12048         Remove unnecessary check whether fstatat fills in st_size etc.
12049
12050 2011-09-01  Bruno Haible  <bruno@clisp.org>
12051
12052         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
12053         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
12054         just include the system's header.
12055
12056 2011-08-31  Jim Meyering  <meyering@redhat.com>
12057
12058         tests: avoid spurious assertion failure in test-float.c on ppc64
12059         * tests/test-float.c (test_long_double): Comment out an assertion,
12060         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
12061         with gcc-4.4.4.
12062
12063         maint: indent with spaces, not TABs
12064         I need to get in the habit of running gnulib's "make check".
12065         Both of these would have been caught.
12066         * m4/largefile.m4: Indent with spaces, not TABs.
12067         * lib/parse-datetime.y (iso_8601_time): Likewise.
12068         Spotted by Pádraig Brady.
12069
12070         test-parse-datetime.c: accommodate a relatively strict gcc warning
12071         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
12072         to avoid a warning from gcc's -Werror=missing-declarations.
12073         Insert a few spaces-before-funcall-parenthesis.
12074
12075 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
12076
12077         parse-datetime: accept ISO 8601 date and time rep with "T" separator
12078         The parser now accepts ISO 8601 date-time strings with "T" as the
12079         separator.  It has long parsed dates like "2004-02-29 16:21:42"
12080         with a space between the date and time strings.  Now it also parses
12081         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
12082         variants like "2004-02-29T16:21:42.333-07:00"
12083         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
12084         of day representation using the 'T' separator character.
12085         * doc/parse-datetime.texi (General date syntax): replace use of
12086         deprecated --iso-8601 option with --rfc-3339 in example of date
12087         command output formats that can be parsed.
12088         * tests/test-parse-datetime.c (tm_diff): New function, taken from
12089         lib/parse-datetime.y.
12090         (gmt_offset): New function.
12091         (main): Add additional test cases to validate ISO8601 extended
12092         date and time of day parsing.
12093
12094 2011-08-31  Bruno Haible  <bruno@clisp.org>
12095
12096         freopen: Documentation.
12097         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
12098         name.
12099         Reported by Claudio Bley <claudio.bley@gmail.com>.
12100
12101 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
12102
12103         freopen: Don't crash if the filename argument is NULL.
12104         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
12105         NULL.
12106
12107 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12108
12109         openat: work around AIX 7.1 fstatat bug
12110         Problem reported by Kevin Brott for GNU tar, in the thread containing
12111         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
12112         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
12113         FSTATAT_ST_SIZE_ETC_BROKEN.
12114         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
12115         rpl_fstatat.
12116         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
12117         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
12118         AC_CHECK_FUNCS_ONCE for fstatat.
12119         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
12120         fchmodat, mkdirat, openat and unlinkat.
12121
12122 2011-08-30  Bruno Haible  <bruno@clisp.org>
12123
12124         Avoid endless recursions if config.h includes some header files.
12125         * lib/fopen.c (__need_FILE): Define already before including config.h.
12126         * lib/freopen.c (__need_FILE): Likewise.
12127         * lib/open.c (__need_system_fcntl_h): Likewise.
12128         * lib/stat.c (__need_system_sys_stat_h): Likewise.
12129         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
12130         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12131
12132 2011-08-25  Karl Berry  <karl@gnu.org>
12133
12134         * config/srclist.txt (ylwrap): new try.
12135         * build-aux/ylwrap: new file.
12136
12137 2011-08-23  Bruno Haible  <bruno@clisp.org>
12138
12139         tmpdir: Use a good default directory on native Windows.
12140         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
12141         (P_tmpdir): Default to _P_tmpdir on native Windows.
12142         (path_search): On native Windows, try the value returned by GetTempPath
12143         before trying P_tmpdir.
12144         * modules/tmpdir (Depends-on): Add pathmax.
12145         Suggested by John Darrington <john@darrington.wattle.id.au>.
12146
12147 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
12148
12149         doc: fix typo in README-release
12150         * top/README-release: Capitalize first word of a sentence.
12151
12152 2011-08-19  Jim Meyering  <meyering@redhat.com>
12153
12154         fts: do not exhaust memory when processing million-entry directories
12155         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
12156         directory would require about 256*N bytes of memory.  Thus, it was
12157         easy to construct a directory too large to be processed by any of
12158         those tools.  With this change, fts' maximum memory utilization is
12159         now limited to around 30MB.
12160         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
12161         (fts_read): When we've processed the final entry (i.e., when
12162         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
12163         using the parent entry to read any remaining entries.  Dispatch
12164         depending on what fts_build returns:
12165         - NULL+stop, aka failure: stop
12166         - NULL otherwise: move up in the dir hierarchy
12167         - non-NULL: handle this new entry
12168         (fts_build): Declare and use new local, continue_readdir.
12169         Prepare to be called from fts_read, when the entries
12170         from a partially-read directory have just been exhausted.
12171         In that case, we'll skip the opendir and instead use the parent's
12172         fts_dirp and derive dir_fd from that.
12173         Finally, in the readdir loop, if we read max_entries entries,
12174         exit the loop ensuring *not* to call closedir.  This is required
12175         so that fts_dirp can be reused on a subsequent call.
12176         Prompted by Ben England's report of memory exhaustion in find
12177         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
12178
12179         maint: fts: move decl of `dp' down into while loop; split a long line
12180         * lib/fts.c (fts_build): No semantic change.
12181
12182         fts: add/use new struct member, fts_dirp
12183         We are about to use this to manage any directory with
12184         too many entries to read all of them into memory at once.
12185         To do that, we'll need to save the DIR* pointer in each
12186         affected FTSENT struct.
12187         * lib/fts_.h: Include <dirent.h>.
12188         (struct FTSENT) [fts_dirp]: New member.
12189         * lib/fts.c (closedir_and_clear): Define.
12190         Use it in place of closedir so that we are sure to
12191         clear the new fts_dirp member when done with it.
12192         (fts_alloc): Initialize the new member.
12193         (fts_lfree): Free, if needed.
12194
12195         maint: fts: give __opendir2 a new parameter and rename
12196         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
12197         than surreptitiously using sole caller's "dir_fd".
12198         (fts_opendir): Rename from __opendir2.
12199
12200         maint: fts.c: remove __opendir2's now-unused parameter, oflag
12201         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
12202
12203         maint: fts.c: correct off-by-one indentation
12204         * lib/fts.c (fts_build): Correct indentation, change style
12205         of a couple of block comments, and bracing style.
12206
12207         maint: fts.c: move __opendir2 #define "up" out of function body
12208         * lib/fts.c (__opendir2): Move "up".  No semantic change.
12209
12210         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
12211         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12212         out for a long time and besides was useful only on BSD systems.
12213
12214 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12215
12216         regex: port to Stratus OpenVOS
12217         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
12218         define to empty, rather than attempting nonportable optimizations.
12219         Problem reported by Paul Green in:
12220         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
12221         and fix suggested by Eric Blake in:
12222         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
12223
12224 2011-08-17  Eric Blake  <eblake@redhat.com>
12225
12226         getcwd: fix test failures on mingw
12227         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
12228         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
12229         test if long directory cannot be created, and allow mingw errno.
12230
12231         getcwd-lgpl: fix m4 to match relaxed test for BSD
12232         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
12233         (gl_FUNC_GETCWD_SIGNATURE): New macro.
12234         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
12235         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
12236         signature problem.
12237
12238         getcwd: fix compilation on mingw64
12239         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
12240         getcwd.
12241         Reported by Marc-André Lureau.
12242
12243         pipe2: silence compiler warning
12244         * lib/pipe2.c (pipe2): Hide label if it is not used.
12245
12246 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
12247
12248         relocatable-prog: fix link error
12249         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
12250         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
12251         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
12252         into modules/relocatable-lib without noticing that
12253         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
12254         also needs to build relocatable.c.
12255
12256 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12257
12258         getaddrinfo: fix sh typo in gai_strerrorA decl checking
12259         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
12260         shell code: it contained a 'break' that was not in a loop.
12261         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
12262         via a shell-language loop; this may have been true in old Autoconf
12263         versions, but it's not true in Autoconf 2.68.  I found this bug
12264         when testing coreutils git on Solaris 8, whose shell complains
12265         about the syntax error.
12266
12267 2011-08-12  Simon Josefsson  <simon@josefsson.org>
12268
12269         * lib/base64.c: Fix comment to reference RFC 4648.
12270         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
12271         <gvtulder@gmail.com>.
12272
12273 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12274
12275         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
12276
12277         po/Makefile.in.in: fix make -q problem
12278         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
12279         rule, since there's no file named 'check-macro-version' and its
12280         use as a file breaks make -q.
12281         (all): Don't depend on check-macro-version.
12282         (CHECK_MACRO_VERSION): New macro.
12283         (stamp-po): Use it.
12284
12285         configmake: fix make -q problem
12286         * modules/configmake (configmake.h): Update configmake.h's time stamp
12287         even if the file does not change.  Otherwise, 'make -q' fails.
12288         Problem reported by Simon Josefsson in
12289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
12290
12291 2011-08-11  Jim Meyering  <meyering@redhat.com>
12292
12293         git-version-gen: correct the advice in a comment
12294         * build-aux/git-version-gen: Correct comment.
12295         Don't recommend to list .tarball-version in .gitignore.
12296
12297 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12298
12299         base64: fix off-by-one buffer size bug
12300         Problem and (trivial) fix reported by Gijs van Tulder in
12301         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
12302         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
12303         * tests/test-base64.c (main): Catch the bug.
12304
12305 2011-08-10  Eric Blake  <eblake@redhat.com>
12306
12307         closein: correct comments
12308         * lib/closein.c (close_stdin): Improve comments.
12309
12310 2011-08-09  Bruno Haible  <bruno@clisp.org>
12311
12312         More tests for 'fseeko'.
12313         * tests/test-fseeko3.c: New file, from Eric Blake.
12314         * tests/test-fseeko3.sh: New file.
12315         * modules/fseeko-tests (Files): Add them.
12316         (TESTS): Add test-fseeko3.sh.
12317         (check_PROGRAMS): Add test-fseeko3.
12318
12319 2011-08-09  Eric Blake  <eblake@redhat.com>
12320
12321         fseeko: remove unneeded hack
12322         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
12323
12324         fseeko: fix bug on glibc
12325         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
12326         Reported by John W. Eaton.
12327
12328 2011-08-08  Bruno Haible  <bruno@clisp.org>
12329
12330         unictype/base: Fix interoperability with preinstalled libunistring.
12331         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
12332         Reported by Simon Josefsson.
12333
12334 2011-08-08  Bruno Haible  <bruno@clisp.org>
12335
12336         iswblank: Detect declaration correctly.
12337         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
12338         AC_CHECK_DECLS invocation.
12339
12340 2011-08-08  Bruno Haible  <bruno@clisp.org>
12341
12342         tcgetsid: Detect declaration correctly.
12343         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12344         AC_CHECK_DECLS invocation.
12345         Reported by Simon Josefsson.
12346
12347 2011-08-08  Eric Blake  <eblake@redhat.com>
12348
12349         largefile: fix typo that regressed large file support
12350         * modules/largefile (configure.ac-early): Fix section name.
12351
12352 2011-08-06  Karl Berry  <karl@gnu.org>
12353
12354         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12355         a separate module.
12356
12357 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12358
12359         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12360         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12361         get prototype for free.
12362
12363 2011-08-04  Bruno Haible  <bruno@clisp.org>
12364
12365         Tests for module 'pathmax'.
12366         * modules/pathmax-tests: New file.
12367         * tests/test-pathmax.c: New file.
12368
12369         canonicalize-lgpl: Support larger filenames on the Hurd.
12370         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12371         Reported by Paul Eggert.
12372
12373         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12374         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12375         * lib/chdir-long.h: Include pathmax.h.
12376         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12377         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12378         (PATH_MAX): Remove code that is done by pathmax.h.
12379         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12380         * lib/tmpfile.c: Add a comment.
12381         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12382         * modules/chdir-long (Depends-on): Add pathmax.
12383         * modules/getcwd (Depends-on): Add pathmax.
12384         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12385         is not defined.
12386         * doc/posix-headers/limits.texi: Mention the pathmax module.
12387         * NEWS: Mention the change.
12388
12389 2011-08-02  Bruno Haible  <bruno@clisp.org>
12390
12391         pthread_sigmask: Actually use results of gl_THREADLIB.
12392         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12393         gl_THREADLIB, not gl_[]THREADLIB.
12394         Reported by Eric Blake.
12395
12396 2011-08-02  Jim Meyering  <meyering@redhat.com>
12397
12398         maint.mk: relax the default _gl_TS_function_match regexp
12399         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12400         space between function name and "(" in an "extern" declaration.
12401         That would fail to match a decl with no space there: extern void foo();
12402
12403 2011-07-31  Iain Nicol  <iain@thenicols.net>
12404
12405         git-version-gen: document that EXTRA_DIST must include .version
12406         * build-aux/git-version-gen: In the how-to-use comment, document
12407         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
12408         will fail when run from an unpacked distribution tarball.
12409
12410 2011-08-01  Bruno Haible  <bruno@clisp.org>
12411
12412         wctype-h: Fix last change.
12413         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
12414         REPLACE_TOWLOWER to 0.
12415         Reported by Sam Steingold <sds@gnu.org>.
12416
12417 2011-07-31  Bruno Haible  <bruno@clisp.org>
12418
12419         frexpl: Update autoconf test.
12420         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
12421         according to changes of 2011-06-20.
12422
12423 2011-07-31  Bruno Haible  <bruno@clisp.org>
12424
12425         sys_utsname: Add support for Minix.
12426         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
12427         <sys/utsname.h>.
12428         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12429         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
12430
12431 2011-07-31  Bruno Haible  <bruno@clisp.org>
12432
12433         strings: Add support for Minix.
12434         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
12435         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12436         * doc/posix-headers/strings.texi: Document the Minix problem.
12437
12438 2011-07-31  Bruno Haible  <bruno@clisp.org>
12439
12440         wctype-h: Add support for Minix.
12441         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
12442         REPLACE_TOWLOWER.
12443         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
12444         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
12445         REPLACE_ISWCNTRL.
12446
12447 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12448
12449         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
12450         This is a performance improvement for 64-bit hosts: it causes the
12451         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
12452
12453 2011-07-31  Bruno Haible  <bruno@clisp.org>
12454
12455         stdioext: Add support for Minix.
12456         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
12457         * lib/fpurge.c (fpurge): Likewise.
12458         * lib/freadahead.c (freadahead): Likewise.
12459         * lib/freadable.c (freadable): Likewise.
12460         * lib/freading.c (freading): Likewise.
12461         * lib/freadptr.c (freadptr): Likewise.
12462         * lib/freadseek.c (freadptrinc): Likewise.
12463         * lib/fseeko.c (rpl_fseeko): Likewise.
12464         * lib/fseterr.c (fseterr): Likewise.
12465         * lib/fwritable.c (fwritable): Likewise.
12466         * lib/fwriting.c (fwriting): Likewise.
12467         * lib/fflush.c (clear_ungetc_buffer): Update comment.
12468         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
12469
12470 2011-07-31  Bruno Haible  <bruno@clisp.org>
12471
12472         errno: Port to Minix.
12473         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
12474         ECONNABORTED are defined.
12475         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
12476         GNULIB_defined_ECONNABORTED): New macros.
12477         * lib/strerror-override.h (strerror_override): Test also
12478         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
12479         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
12480         ECONNABORTED.
12481         * doc/posix-headers/errno.texi: Mention the Minix problem.
12482
12483 2011-07-31  Bruno Haible  <bruno@clisp.org>
12484
12485         Work around declaration collisions on Minix.
12486         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
12487         defined, set REPLACE_MBSINIT.
12488         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
12489         defined, set REPLACE_MBRTOWC.
12490         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
12491         set REPLACE_MBRLEN.
12492         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
12493         defined, set REPLACE_MBSRTOWCS.
12494         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
12495         defined, set REPLACE_WCRTOMB.
12496         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
12497         defined, set REPLACE_WCSRTOMBS.
12498
12499 2011-07-31  Bruno Haible  <bruno@clisp.org>
12500
12501         Add support for Minix with ACK compiler.
12502         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
12503         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
12504         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
12505
12506 2011-07-31  Bruno Haible  <bruno@clisp.org>
12507
12508         Documentation about Minix.
12509         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12510         * doc/glibc-headers/*.texi: Likewise.
12511         * doc/posix-functions/*.texi: Likewise.
12512         * doc/glibc-functions/*.texi: Likewise.
12513
12514 2011-07-31  Bruno Haible  <bruno@clisp.org>
12515
12516         snippet/warn-on-use: Fix indentation.
12517         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
12518
12519 2011-07-25  Jim Meyering  <meyering@redhat.com>
12520
12521         tests: test-update-copyright.sh: remove unnecessary "rm" commands
12522         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
12523         commands.
12524
12525 2011-07-27  Jim Meyering  <meyering@redhat.com>
12526
12527         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
12528         * top/maint.mk (gl_extract_significant_defines_): Now that
12529         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
12530         gnulib/lib/signal.in.h, and now that we recommend to
12531         define-if-undefined those two symbols in application code,
12532         we must filter them out of the "significant" list.
12533         This avoids a "make syntax-check" failure in coreutils.
12534
12535 2011-07-26  Eric Blake  <eblake@redhat.com>
12536
12537         warnings: add comments about previous patch
12538         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
12539         * m4/include_next.m4: Likewise.
12540         * m4/warn-on-use.m4: Likewise.
12541         * m4/warnings.m4: Likewise, and simplify use.
12542         Suggested by Stefano Lattarini.
12543
12544         include-next, warnings: support older autoconf
12545         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
12546         AS_VAR_PUSHDEF in a way that works with older autoconf.
12547         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
12548         Reported by Daniel P. Berrange.
12549
12550 2011-07-25  Bruno Haible  <bruno@clisp.org>
12551
12552         fseek, ftell: Fix doc.
12553         * doc/posix-functions/fseek.texi: Reword statement about
12554         AC_SYS_LARGEFILE.
12555         * doc/posix-functions/ftell.texi: Likewise.
12556
12557 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12558             Bruno Haible  <bruno@clisp.org>
12559
12560         Add dependencies to the 'largefile' module.
12561         * modules/fopen (Depends-on): Add 'largefile'.
12562         * modules/freopen (Depends-on): Likewise.
12563         * modules/fseeko (Depends-on): Likewise.
12564         * modules/ftello (Depends-on): Likewise.
12565         * modules/glob (Depends-on): Likewise.
12566         * modules/lseek (Depends-on): Likewise.
12567         * modules/lstat (Depends-on): Likewise.
12568         * modules/mkostemp (Depends-on): Likewise.
12569         * modules/mkostemps (Depends-on): Likewise.
12570         * modules/mkstemp (Depends-on): Likewise.
12571         * modules/mkstemps (Depends-on): Likewise.
12572         * modules/open (Depends-on): Likewise.
12573         * modules/openat (Depends-on): Likewise.
12574         * modules/pread (Depends-on): Likewise.
12575         * modules/pwrite (Depends-on): Likewise.
12576         * modules/scandir (Depends-on): Likewise.
12577         * modules/stat (Depends-on): Likewise.
12578         * modules/tmpfile (Depends-on): Likewise.
12579         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
12580         since the containing module now depends on the largefile module.
12581         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
12582         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
12583         off_t is fixed by gnulib.
12584         * doc/posix-functions/freopen.texi: Likewise.
12585         * doc/posix-functions/fseeko.texi: Likewise.
12586         * doc/posix-functions/fstatat.texi: Likewise.
12587         * doc/posix-functions/ftello.texi: Likewise.
12588         * doc/posix-functions/glob.texi: Likewise.
12589         * doc/posix-functions/lseek.texi: Likewise.
12590         * doc/posix-functions/lstat.texi: Likewise.
12591         * doc/posix-functions/mkstemp.texi: Likewise.
12592         * doc/posix-functions/open.texi: Likewise.
12593         * doc/posix-functions/openat.texi: Likewise.
12594         * doc/posix-functions/pread.texi: Likewise.
12595         * doc/posix-functions/pwrite.texi: Likewise.
12596         * doc/posix-functions/scandir.texi: Likewise.
12597         * doc/posix-functions/stat.texi: Likewise.
12598         * doc/posix-functions/tmpfile.texi: Likewise.
12599         * doc/glibc-functions/mkostemp.texi: Likewise.
12600         * doc/glibc-functions/mkostemps.texi: Likewise.
12601         * doc/glibc-functions/mkstemps.texi: Likewise.
12602
12603 2011-07-25  Bruno Haible  <bruno@clisp.org>
12604
12605         fcntl: Move AC_LIBOBJ invocation to module description.
12606         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
12607         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
12608
12609         fcntl: Remove call-in from fchdir.m4.
12610         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
12611         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
12612
12613         dup3: Remove potential call-in from fchdir.m4.
12614         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
12615         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
12616
12617         dup2: Move AC_LIBOBJ invocation to module description.
12618         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
12619         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
12620         Don't invoke AC_LIBOBJ.
12621         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
12622
12623         dup2: Remove call-in from fchdir.m4.
12624         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
12625         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
12626
12627         fclose: Move AC_LIBOBJ invocation to module description.
12628         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
12629         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
12630         to 1.
12631         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
12632
12633         fclose: Remove call-in from close.m4.
12634         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
12635         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
12636
12637         close: Move AC_LIBOBJ invocation to module description.
12638         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
12639         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
12640         1.
12641         * modules/close (configure.ac): Invoke AC_LIBOBJ.
12642
12643         close: Remove call-in from fchdir.m4.
12644         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
12645         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
12646
12647         open: Move AC_LIBOBJ invocation to module description.
12648         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
12649         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
12650         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
12651
12652         open: Remove call-in from fchdir.m4.
12653         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
12654         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
12655
12656         fchdir: Start to remove gl_REPLACE_* idiom.
12657         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
12658         (gl_FUNC_FCHDIR): Invoke it.
12659
12660 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12661
12662         * lib/ftell.c (ftell): Comment out cast.
12663
12664         close: use gl_REPLACE_FCLOSE only if defined
12665         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
12666         is defined.  The close module doesn't depend on the fclose module
12667         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
12668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
12669         I reproduced the problem with "./gnulib-tool --test close sys_socket".
12670
12671 2011-07-24  Jim Meyering  <meyering@redhat.com>
12672
12673         test-select.h: avoid warning when using gcc's -Wmissing-declarations
12674         * tests/test-select.h (test_function): Declare as "static".
12675
12676 2011-07-24  Bruno Haible  <bruno@clisp.org>
12677
12678         doc: Mention the effects of AC_SYS_LARGEFILE.
12679         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
12680         on this function.
12681         * doc/posix-functions/aio_error.texi: Likewise.
12682         * doc/posix-functions/aio_fsync.texi: Likewise.
12683         * doc/posix-functions/aio_read.texi: Likewise.
12684         * doc/posix-functions/aio_return.texi: Likewise.
12685         * doc/posix-functions/aio_suspend.texi: Likewise.
12686         * doc/posix-functions/aio_write.texi: Likewise.
12687         * doc/posix-functions/fgetpos.texi: Likewise.
12688         * doc/posix-functions/fopen.texi: Likewise.
12689         * doc/posix-functions/freopen.texi: Likewise.
12690         * doc/posix-functions/fsetpos.texi: Likewise.
12691         * doc/posix-functions/fstatvfs.texi: Likewise.
12692         * doc/posix-functions/ftruncate.texi: Likewise.
12693         * doc/posix-functions/ftw.texi: Likewise.
12694         * doc/posix-functions/getrlimit.texi: Likewise.
12695         * doc/posix-functions/glob.texi: Likewise.
12696         * doc/posix-functions/lio_listio.texi: Likewise.
12697         * doc/posix-functions/lockf.texi: Likewise.
12698         * doc/posix-functions/mkstemp.texi: Likewise.
12699         * doc/posix-functions/mmap.texi: Likewise.
12700         * doc/posix-functions/nftw.texi: Likewise.
12701         * doc/posix-functions/openat.texi: Likewise.
12702         * doc/posix-functions/opendir.texi: Likewise.
12703         * doc/posix-functions/posix_fadvise.texi: Likewise.
12704         * doc/posix-functions/posix_fallocate.texi: Likewise.
12705         * doc/posix-functions/pread.texi: Likewise.
12706         * doc/posix-functions/pwrite.texi: Likewise.
12707         * doc/posix-functions/readdir.texi: Likewise.
12708         * doc/posix-functions/readdir_r.texi: Likewise.
12709         * doc/posix-functions/rewinddir.texi: Likewise.
12710         * doc/posix-functions/scandir.texi: Likewise.
12711         * doc/posix-functions/seekdir.texi: Likewise.
12712         * doc/posix-functions/setrlimit.texi: Likewise.
12713         * doc/posix-functions/statvfs.texi: Likewise.
12714         * doc/posix-functions/telldir.texi: Likewise.
12715         * doc/posix-functions/tmpfile.texi: Likewise.
12716         * doc/posix-functions/truncate.texi: Likewise.
12717         * doc/glibc-functions/fallocate.texi: Likewise.
12718         * doc/glibc-functions/fstatfs.texi: Likewise.
12719         * doc/glibc-functions/fts_children.texi: Likewise.
12720         * doc/glibc-functions/fts_read.texi: Likewise.
12721         * doc/glibc-functions/getdirentries.texi: Likewise.
12722         * doc/glibc-functions/mkostemp.texi: Likewise.
12723         * doc/glibc-functions/mkostemps.texi: Likewise.
12724         * doc/glibc-functions/mkstemps.texi: Likewise.
12725         * doc/glibc-functions/preadv.texi: Likewise.
12726         * doc/glibc-functions/pwritev.texi: Likewise.
12727         * doc/glibc-functions/sendfile.texi: Likewise.
12728         * doc/glibc-functions/statfs.texi: Likewise.
12729
12730 2011-07-24  Bruno Haible  <bruno@clisp.org>
12731
12732         doc: Fix typo.
12733         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
12734
12735 2011-07-24  Bruno Haible  <bruno@clisp.org>
12736
12737         doc: Mention fsusage.
12738         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
12739
12740 2011-07-24  Bruno Haible  <bruno@clisp.org>
12741
12742         doc: Mention new glibc headers and functions.
12743         * doc/glibc-headers/gshadow.texi: New file.
12744         * doc/glibc-functions/endsgent.texi: New file.
12745         * doc/glibc-functions/fgetsgent.texi: New file.
12746         * doc/glibc-functions/fgetsgent_r.texi: New file.
12747         * doc/glibc-functions/getsgent.texi: New file.
12748         * doc/glibc-functions/getsgent_r.texi: New file.
12749         * doc/glibc-functions/getsgnam.texi: New file.
12750         * doc/glibc-functions/getsgnam_r.texi: New file.
12751         * doc/glibc-functions/putsgent.texi: New file.
12752         * doc/glibc-functions/setsgent.texi: New file.
12753         * doc/glibc-functions/sgetsgent.texi: New file.
12754         * doc/glibc-functions/sgetsgent_r.texi: New file.
12755         * doc/glibc-functions/malloc_info.texi: New file.
12756         * doc/glibc-functions/preadv.texi: New file.
12757         * doc/glibc-functions/pwritev.texi: New file.
12758         * doc/glibc-functions/register_printf_modifier.texi: New file.
12759         * doc/glibc-functions/register_printf_specifier.texi: New file.
12760         * doc/glibc-functions/register_printf_type.texi: New file.
12761         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
12762         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
12763         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
12764         * doc/glibc-functions/pthread_getname_np.texi: New file.
12765         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
12766         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12767         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12768         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12769         * doc/glibc-functions/pthread_setname_np.texi: New file.
12770         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12771         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12772         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12773         * doc/glibc-functions/qsort_r.texi: New file.
12774         * doc/glibc-functions/quick_exit.texi: New file.
12775         * doc/glibc-functions/syncfs.texi: New file.
12776         * doc/gnulib.texi: Include them.
12777         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12778         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12779         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12780         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12781         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12782         * doc/glibc-functions/execvpe.texi: Likewise.
12783
12784 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12785
12786         ftell: don't include <unistd.h>
12787         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12788         guaranteed to define off_t, and the ftell module depends on the
12789         stdio module.
12790
12791         ftell: do not assume wraparound signed arithmetic
12792         * lib/ftell.c: Include <limits.h>.
12793         (ftell): Don't assume wraparound signed arithmetic.
12794
12795 2011-07-24  Bruno Haible  <bruno@clisp.org>
12796
12797         close: No longer depend on module 'fclose'.
12798         * modules/close (Depends-on): Remove fclose.
12799         * NEWS: Mention the change.
12800         Suggested by Sam Steingold <sds@gnu.org>.
12801
12802 2011-07-24  Bruno Haible  <bruno@clisp.org>
12803
12804         fsusage: Enable large volume support on AIX >= 5.2.
12805         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12806         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12807         instead of STAT_STATVFS.
12808         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12809
12810         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12811         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12812         f_blocks field only on MacOS X.
12813
12814         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12815         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12816         * modules/fsusage (Depends-on): Add largefile.
12817
12818 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12819
12820         * README: Modernize discussion of signed integers.
12821         Assuming overflow wraparound is no longer safe.
12822         Mention ones' complement and signed magnitude.
12823
12824 2011-07-22  Bruno Haible  <bruno@clisp.org>
12825
12826         select tests, pselect tests: Refactor.
12827         * tests/test-select.h: New file, extracted from tests/test-select.c.
12828         (select_fn): New type.
12829         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12830         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12831         test_pipe): Add my_select argument.
12832         (test_function): Renamed from main. Add my_select argument.
12833         * tests/test-select.c: Move most code to tests/test-select.h. Include
12834         test-select.h.
12835         * modules/select-tests (Files): Add tests/test-select.h.
12836         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12837         (my_select, main): New functions.
12838         * modules/pselect-tests (Files): Add tests/test-select.h,
12839         tests/macros.h, tests/signature.h.
12840         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12841         (configure.ac): Check for <sys/wait.h>.
12842
12843 2011-07-22  Bruno Haible  <bruno@clisp.org>
12844
12845         sys_select tests: Check the signature of FD_*.
12846         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12847         signature tests from here...
12848         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12849         here.
12850         * modules/sys_select-tests (Files): Add tests/signature.h.
12851
12852 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12853
12854         largefile: new module, replacing large-inode
12855         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12856         * MODULES.html.sh: Add largefile, remove large-inode.
12857         * modules/largefile, m4/largefile.m4: New files.
12858         * modules/large-inode, m4/large-inode.m4: Remove.
12859
12860         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12861         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12862         implementations that use only 32 bits to count blocks.
12863         On typical hosts with 1024-byte blocks, this fails with file
12864         systems as small as 4 TiB.  Problem reported by Herb Wartens
12865         <http://debbugs.gnu.org/9140> and this should also fix a similar
12866         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12867
12868         large-inode: New module
12869         * MODULES.html.sh: Add it.
12870         * modules/large-inode, m4/large-inode.m4: New files.
12871
12872         extensions: Enable extensions on MacOS X 10.5 and later.
12873         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12874
12875 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12876
12877         file-has-acl: use acl_extended_file_nofollow if available
12878         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12879         (acl_extended_file): New macro.
12880         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12881         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12882
12883 2011-07-21  Bruno Haible  <bruno@clisp.org>
12884
12885         Declare system functions in a way that works with C++.
12886         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12887         declare fdopendir as extern "C".
12888         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12889         declare frexpl as extern "C".
12890         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12891         declare gai_strerror as extern "C".
12892         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12893         programs, declare gai_strerror as extern "C".
12894         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12895         declare getlogin_r as extern "C".
12896         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12897         as extern "C".
12898         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12899         declare ldexpl as extern "C".
12900         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12901         as extern "C".
12902         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12903         program, declare getmntinfo as extern "C".
12904         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12905         stpncpy as extern "C".
12906         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12907         program, declare __xpg_strerror_r as extern "C".
12908         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12909         strndup as extern "C".
12910         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12911         declare memset and bzero as extern "C".
12912         Reported by Sam Steingold <sds@gnu.org>.
12913
12914 2011-07-12  Jim Meyering  <meyering@redhat.com>
12915
12916         maint.mk: prohibit inclusion of "verify.h" without use
12917         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12918
12919 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12920
12921         timer-time: A new module to check for timer_settime()
12922         * m4/timer_time.m4: Check for the posix function.
12923         * modules/timer-time: Add the new module.
12924         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12925         Mention it.
12926
12927 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12928             Bruno Haible  <bruno@clisp.org>
12929
12930         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12931         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12932         not defined, assume POSIX threads and look for pthread_sigmask in
12933         $LIBS, without changing $CPPFLAGS.
12934
12935 2011-07-19  Bruno Haible  <bruno@clisp.org>
12936
12937         strstr: Update cross-compilation guess.
12938         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
12939         CPUs, guess no, in view of glibc
12940         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
12941         Suggested by Eric Blake. Reported by Reuben Thomas.
12942
12943 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12944
12945         getopt-gnu: suppress core dumps from detection code
12946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
12947         to suppress core dumps that may well occur on glibc systems.
12948         * modules/getopt-gnu: Depend on nocrash.
12949
12950 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12951
12952         pthread_sigmask: ensure usleep is declared
12953         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
12954         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
12955
12956 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12957
12958         doc: Document NonStop portability issues.
12959         * doc/posix-functions/sigaction.texi (sigaction):
12960         * doc/posix-headers/signal.texi (signal.h):
12961         Document NonStop.  See Joachim Schmitz in
12962         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
12963
12964 2011-07-15  Bruno Haible  <bruno@clisp.org>
12965
12966         ffsl, ffsll: Avoid unportable behaviour.
12967         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
12968
12969 2011-07-15  Bruno Haible  <bruno@clisp.org>
12970
12971         ffs: More tests.
12972         * tests/test-ffs.c (NBITS): New macro.
12973         (main): Add more tests.
12974         * tests/test-ffsl.c (NBITS): New macro.
12975         (main): Add more tests.
12976         * tests/test-ffsll.c (NBITS): New macro.
12977         (main): Add more tests.
12978
12979 2011-07-15  Eric Blake  <eblake@redhat.com>
12980
12981         ffsl, ffsll: new modules
12982         * modules/ffsl: New file.
12983         * modules/ffsll: Likewise.
12984         * m4/ffsl.m4: Likewise.
12985         * m4/ffsll.m4: Likewise.
12986         * lib/ffsl.c: Likewise.
12987         * lib/ffsl.h: Likewise.
12988         * lib/ffsll.c: Likewise.
12989         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12990         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12991         * modules/string (Makefile.am): Substitute witnesses.
12992         * lib/strings.in.h (ffsl, ffsll): Declare.
12993         * modules/ffsl-tests: New test file.
12994         * modules/ffsll-tests: Likewise.
12995         * tests/test-ffsl.c: Likewise.
12996         * tests/test-ffsll.c: Likewise.
12997         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12998         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12999         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
13000
13001         ffs: fix m4 prerequisite
13002         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
13003
13004         ffs: avoid undefined behavior
13005         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
13006         * tests/test-ffs.c (naive, main): Avoid signed shifts.
13007         Reported by Bruno Haible.
13008
13009 2011-07-12  Bruno Haible  <bruno@clisp.org>
13010
13011         pthread_sigmask: Rely on module 'threadlib'.
13012         * modules/pthread_sigmask (Depends-on): Add threadlib.
13013         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
13014         is defined.
13015
13016 2011-07-12  Bruno Haible  <bruno@clisp.org>
13017
13018         regex: Depend on module 'strcase'.
13019         * modules/regex (Depends-on): Add strcase, for strcasecmp().
13020
13021 2011-07-12  Jim Meyering  <meyering@redhat.com>
13022
13023         warn-on-use: fix typo in file name
13024         * modules/snippet/warn-on-use (Files): Correct file name:
13025         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
13026
13027 2011-07-12  Bruno Haible  <bruno@clisp.org>
13028
13029         strings: Document module.
13030         * doc/posix-headers/strings.texi: Mention module 'strings'.
13031
13032 2011-07-12  Bruno Haible  <bruno@clisp.org>
13033
13034         Rename module '_Noreturn' to 'snippet/_Noreturn'.
13035         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
13036         (Files, Makefile.am): Update.
13037         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
13038         * modules/stdlib (Depends-on): Update.
13039
13040 2011-07-12  Bruno Haible  <bruno@clisp.org>
13041
13042         * NEWS: Mention the changes.
13043
13044         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
13045         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
13046         (Files, Makefile.am): Update.
13047         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
13048         * modules/arpa_inet (Depends-on): Update.
13049         * modules/ctype (Depends-on): Update.
13050         * modules/dirent (Depends-on): Update.
13051         * modules/fcntl-h (Depends-on): Update.
13052         * modules/glob (Depends-on): Update.
13053         * modules/iconv-h (Depends-on): Update.
13054         * modules/inttypes-incomplete (Depends-on): Update.
13055         * modules/langinfo (Depends-on): Update.
13056         * modules/locale (Depends-on): Update.
13057         * modules/math (Depends-on): Update.
13058         * modules/netdb (Depends-on): Update.
13059         * modules/poll-h (Depends-on): Update.
13060         * modules/pty (Depends-on): Update.
13061         * modules/search (Depends-on): Update.
13062         * modules/signal (Depends-on): Update.
13063         * modules/spawn (Depends-on): Update.
13064         * modules/stdio (Depends-on): Update.
13065         * modules/stdlib (Depends-on): Update.
13066         * modules/string (Depends-on): Update.
13067         * modules/strings (Depends-on): Update.
13068         * modules/sys_file (Depends-on): Update.
13069         * modules/sys_ioctl (Depends-on): Update.
13070         * modules/sys_select (Depends-on): Update.
13071         * modules/sys_socket (Depends-on): Update.
13072         * modules/sys_stat (Depends-on): Update.
13073         * modules/sys_time (Depends-on): Update.
13074         * modules/sys_times (Depends-on): Update.
13075         * modules/sys_utsname (Depends-on): Update.
13076         * modules/sys_wait (Depends-on): Update.
13077         * modules/termios (Depends-on): Update.
13078         * modules/time (Depends-on): Update.
13079         * modules/unistd (Depends-on): Update.
13080         * modules/wchar (Depends-on): Update.
13081         * modules/wctype-h (Depends-on): Update.
13082         * MODULES.html.sh (Support for building libraries and executables):
13083         Update.
13084
13085         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
13086         * modules/snippet/unused-parameter: Renamed from
13087         modules/unused-parameter.
13088         (Files, Makefile.am): Update.
13089         * build-aux/snippet/unused-parameter.h: Renamed from
13090         build-aux/unused-parameter.h.
13091         * modules/selinux-h (Depends-on): Update.
13092         * modules/unistr/base (Depends-on): Update.
13093         * MODULES.html.sh (Core language properties): Update.
13094
13095         Rename module 'link-warning' to 'snippet/link-warning'.
13096         * modules/snippet/link-warning: Renamed from modules/link-warning.
13097         (Files, Makefile.am): Update.
13098         * build-aux/snippet/link-warning.h: Renamed from
13099         build-aux/link-warning.h.
13100         * MODULES.html.sh (Support for building libraries and executables):
13101         Update.
13102
13103         Rename module 'c++defs' to 'snippet/c++defs'.
13104         * modules/snippet/c++defs: Renamed from modules/c++defs.
13105         (Files, Makefile.am): Update.
13106         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
13107         * modules/arpa_inet (Depends-on): Update.
13108         * modules/ctype (Depends-on): Update.
13109         * modules/dirent (Depends-on): Update.
13110         * modules/fcntl-h (Depends-on): Update.
13111         * modules/glob (Depends-on): Update.
13112         * modules/iconv-h (Depends-on): Update.
13113         * modules/langinfo (Depends-on): Update.
13114         * modules/locale (Depends-on): Update.
13115         * modules/math (Depends-on): Update.
13116         * modules/netdb (Depends-on): Update.
13117         * modules/poll-h (Depends-on): Update.
13118         * modules/pty (Depends-on): Update.
13119         * modules/search (Depends-on): Update.
13120         * modules/signal (Depends-on): Update.
13121         * modules/spawn (Depends-on): Update.
13122         * modules/stdio (Depends-on): Update.
13123         * modules/stdlib (Depends-on): Update.
13124         * modules/string (Depends-on): Update.
13125         * modules/strings (Depends-on): Update.
13126         * modules/sys_ioctl (Depends-on): Update.
13127         * modules/sys_select (Depends-on): Update.
13128         * modules/sys_socket (Depends-on): Update.
13129         * modules/sys_stat (Depends-on): Update.
13130         * modules/sys_time (Depends-on): Update.
13131         * modules/sys_wait (Depends-on): Update.
13132         * modules/termios (Depends-on): Update.
13133         * modules/time (Depends-on): Update.
13134         * modules/unistd (Depends-on): Update.
13135         * modules/wchar (Depends-on): Update.
13136         * modules/wctype-h (Depends-on): Update.
13137
13138         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
13139         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
13140         (Files, Makefile.am): Update.
13141         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
13142         * modules/argv-iter (Depends-on): Update.
13143         * modules/arpa_inet (Depends-on): Update.
13144         * modules/dirent (Depends-on): Update.
13145         * modules/fcntl-h (Depends-on): Update.
13146         * modules/fnmatch (Depends-on): Update.
13147         * modules/getopt-posix (Depends-on): Update.
13148         * modules/glob (Depends-on): Update.
13149         * modules/iconv-h (Depends-on): Update.
13150         * modules/inttypes-incomplete (Depends-on): Update.
13151         * modules/locale (Depends-on): Update.
13152         * modules/math (Depends-on): Update.
13153         * modules/netdb (Depends-on): Update.
13154         * modules/search (Depends-on): Update.
13155         * modules/signal (Depends-on): Update.
13156         * modules/spawn (Depends-on): Update.
13157         * modules/stdio (Depends-on): Update.
13158         * modules/stdlib (Depends-on): Update.
13159         * modules/string (Depends-on): Update.
13160         * modules/strings (Depends-on): Update.
13161         * modules/sys_socket (Depends-on): Update.
13162         * modules/sys_stat (Depends-on): Update.
13163         * modules/sys_time (Depends-on): Update.
13164         * modules/sys_times (Depends-on): Update.
13165         * modules/sys_utsname (Depends-on): Update.
13166         * modules/time (Depends-on): Update.
13167         * modules/unistd (Depends-on): Update.
13168         * modules/wchar (Depends-on): Update.
13169         * MODULES.html.sh (Support for building libraries and executables):
13170         Update.
13171
13172 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13173
13174         Improvements on _Noreturn and related modules.
13175
13176         modules/_Exit-tests: test _Noreturn too
13177         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
13178         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
13179         (main): Use them.
13180
13181         stdnoreturn, stdnoreturn-tests: remove modules
13182         They're not needed here and a bit premature for use elsewhere.  See
13183         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
13184         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
13185         * tests/test-stdnoreturn.c: Remove files.
13186         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
13187         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
13188         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
13189         and using noreturn.
13190         * modules/openat, modules/sigpipe-die, modules/xalloc:
13191         * modules/xmemdup0, modules/xstrtol:
13192         Remove dependency on stdnoreturn.
13193
13194         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
13195         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
13196         Reparenthesize to avoid GCC warning.
13197         Support Microsoft's syntax.
13198         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
13199
13200         _Noreturn-tests: remove module
13201         * modules/_Noreturn-tests: Remove.
13202         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
13203         * tests/test-_Noreturn.c: Remove.
13204         * tests/test-stdnoreturn.c: Merge from the old
13205         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
13206
13207 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13208
13209         _Noreturn, stdnoreturn, and related modules.
13210
13211         * top/maint.mk: Adjust to new noreturn support.
13212         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
13213         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
13214
13215         xalloc: use stdnoreturn.h
13216         * lib/xalloc.h: Include <stdnoreturn.h>.
13217         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13218         * modules/xalloc (Depends-on): Add stdnoreturn.
13219
13220         xstrtol: use stdnoreturn.h
13221         * lib/xstrtol.h: Include <stdnoreturn.h>.
13222         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13223         * modules/xstrtol (Depends-on): Add stdnoreturn.
13224
13225         xmemdup0: use stdnoreturn.h
13226         * lib/xmemdup0.h: Include <stdnoreturn.h>.
13227         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13228         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
13229
13230         sigpipe-die: use stdnoreturn.h
13231         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
13232         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13233         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
13234
13235         openat: use stdnoreturn.h
13236         * lib/openat.h: Include <stdnoreturn.h>.
13237         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13238         * modules/openat (Depends-on): Add stdnoreturn.
13239
13240         * lib/openat-die.c (openat_save_fail): Modernize comment.
13241
13242         * lib/xalloc-die.c (xalloc_die): Modernize comment.
13243
13244         * lib/glthread/thread.h: Modernize comment.
13245
13246         obstack: use _Noreturn
13247         * lib/obstack.c (__attribute__): Remove macro.
13248         (print_and_abort): Use _Noreturn.
13249
13250         c-stack: use _Noreturn
13251         * lib/c-stack.c (die, overflow_handler, segv_handler):
13252         Use _Noreturn rather than __attribute__((noreturn)).
13253
13254         argmatch-tests, exclude_tests: use _Noreturn
13255         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
13256         Remove.
13257         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
13258
13259         stdlib: use _Noreturn
13260         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
13261         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
13262         * modules/stdlib (Depends-on): Add _Noreturn.
13263         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
13264
13265         stdnoreturn-tests: new module
13266         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
13267
13268         stdnoreturn: new module
13269         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
13270         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
13271
13272         _Noreturn-tests: new module
13273         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
13274
13275         _Noreturn: new module
13276         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
13277         New section, mentioning it.
13278         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
13279
13280         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
13281
13282 2011-07-11  Eric Blake  <eblake@redhat.com>
13283
13284         ffs: new module
13285         * modules/ffs: New file.
13286         * m4/ffs.m4: Likewise.
13287         * lib/ffs.c: Likewise.
13288         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
13289         * modules/strings (Makefile.am): Substitute witness.
13290         (Depends-on): Add c++defs.
13291         * lib/strings.in.h (ffs): Declare.
13292         * modules/ffs-tests: New test file.
13293         * tests/test-ffs.c: Test new module.
13294         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13295         * doc/posix-functions/ffs.texi (ffs): Likewise.
13296
13297         regex: avoid compiler warning
13298         * lib/regex.c (includes): Include <strings.h>, for use of
13299         strcasecmp in regcomp.c.
13300         Reported by Joachim Schmitz.
13301
13302 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13303
13304         stdint: respect system's intmax_t if INTMAX_MAX
13305         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
13306         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
13307         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
13308         long but int64_t is long long, and where we will clash with the
13309         system intmax_t if we override it.  See
13310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
13311         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
13312         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
13313         similarly for UINTMAX_C.
13314
13315 2011-07-08  Bruno Haible  <bruno@clisp.org>
13316
13317         pthread_sigmask tests: Avoid a compiler warning.
13318         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
13319         non-zero.
13320
13321         sigprocmask tests: A better way to avoid a compiler warning.
13322         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
13323         (main): Complain if system() returns non-zero.
13324         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
13325
13326 2011-07-08  Bruno Haible  <bruno@clisp.org>
13327
13328         pthread_sigmask: Work around IRIX bug.
13329         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
13330         bug.
13331         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
13332         there may be unblocked pending signals.
13333         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
13334
13335 2011-07-08  Bruno Haible  <bruno@clisp.org>
13336
13337         pthread_sigmask: Work around Cygwin bug.
13338         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
13339         bug.
13340         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
13341         the system's pthread_sigmask function.
13342         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
13343
13344 2011-07-08  Bruno Haible  <bruno@clisp.org>
13345
13346         pthread_sigmask: Work around bug in single-threaded implementation.
13347         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13348         FreeBSD, HP-UX, Solaris bug.
13349         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13350         * lib/pthread_sigmask.c: Include <stddef.h>.
13351         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13352         the system's pthread_sigmask function.
13353         * modules/pthread_sigmask (configure.ac): Invoke
13354         gl_PREREQ_PTHREAD_SIGMASK.
13355         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13356         HP-UX, Solaris.
13357
13358 2011-07-08  Eric Blake  <eblake@redhat.com>
13359
13360         test-sigprocmask: avoid compiler warning
13361         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13362         * tests/test-sigprocmask.c (main): Use it to silence warning.
13363         Reported by Jim Meyering.
13364
13365         test-snprintf: avoid compiler warning
13366         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13367         * tests/test-vsnprintf.c (main): Likewise.
13368         Reported by Jim Meyering.
13369
13370 2011-07-08  Bruno Haible  <bruno@clisp.org>
13371
13372         Tests for module 'pthread_sigmask'.
13373         * modules/pthread_sigmask-tests: New file.
13374         * tests/test-pthread_sigmask1.c: New file, based on
13375         tests/test-sigprocmask.c.
13376         * tests/test-pthread_sigmask2.c: New file.
13377
13378 2011-07-08  Jim Meyering  <meyering@redhat.com>
13379
13380         test-getopt.h: avoid warning about an unused variable
13381         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13382
13383 2011-07-07  Jim Meyering  <meyering@redhat.com>
13384
13385         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13386         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13387         now that it no longer contains leading TABs.
13388         Remove unused "url=FIXME" statement.
13389
13390 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13391
13392         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13393         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13394         When gl_THREADLIB is not in use, assume that the POSIX sematics
13395         are desired.  This is better for Emacs, which uses POSIX semantics
13396         on GNUish and/or POSIXish platforms, and does not use threads at
13397         all otherwise.
13398
13399         pthread_sigmask: fix typo when testing for libraries
13400         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13401         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
13402
13403 2011-07-08  Eric Blake  <eblake@redhat.com>
13404
13405         fts: introduce FTS_NOATIME
13406         * lib/fts_.h (FTS_NOATIME): New bit flag.
13407         (FTS_OPTIONMASK): Adjust.
13408         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
13409         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
13410
13411 2011-07-08  Bruno Haible  <bruno@clisp.org>
13412
13413         Tests for module 'thread'.
13414         * modules/thread-tests: New file.
13415         * tests/test-thread_self.c: New file.
13416         * tests/test-thread_create.cc: New file.
13417
13418 2011-07-08  Bruno Haible  <bruno@clisp.org>
13419
13420         thread: Avoid gcc warnings when using gl_thread_self().
13421         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
13422         'void *'.
13423         (gl_thread_self_pointer): Update.
13424
13425 2011-07-07  Bruno Haible  <bruno@clisp.org>
13426
13427         signal-c++-tests: Check declaration of pthread_sigmask.
13428         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
13429         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
13430         $(LIB_PTHREAD_SIGMASK).
13431
13432 2011-07-07  Bruno Haible  <bruno@clisp.org>
13433
13434         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
13435         * lib/signal.in.h (pthread_sigmask): Override if
13436         REPLACE_PTHREAD_SIGMASK is 1.
13437         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13438         REPLACE_PTHREAD_SIGMASK.
13439         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
13440         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
13441         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
13442         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13443         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
13444
13445 2011-07-07  Bruno Haible  <bruno@clisp.org>
13446
13447         pthread_sigmask: Ensure declaration in <signal.h>.
13448         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
13449         include <pthread.h>.
13450         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
13451         problem.
13452
13453 2011-07-07  Bruno Haible  <bruno@clisp.org>
13454
13455         pthread_sigmask: Document the module.
13456         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
13457
13458 2011-07-07  Bruno Haible  <bruno@clisp.org>
13459
13460         pthread_sigmask: Follow gnulib conventions.
13461         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
13462         gl_PTHREAD_SIGMASK.
13463         * modules/pthread_sigmask (configure.ac): Update.
13464
13465 2011-07-07  Bruno Haible  <bruno@clisp.org>
13466
13467         pthread_sigmask: Make declaration C++ safe.
13468         * lib/signal.in.h: In two special conditions, just do an #include_next.
13469         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13470         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
13471         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13472         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13473         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
13474         not REPLACE_PTHREAD_MASK.
13475         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
13476         not REPLACE_PTHREAD_MASK.
13477         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13478
13479 2011-07-07  Bruno Haible  <bruno@clisp.org>
13480
13481         pthread_sigmask: Fix return value.
13482         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
13483         * lib/pthread_sigmask.c: New file.
13484         * modules/pthread_sigmask (Files): Add it.
13485         (configure.ac): Invoke AC_LIBOBJ.
13486
13487 2011-07-07  Eric Blake  <eblake@redhat.com>
13488
13489         getopt: more portable argv creation
13490         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
13491         const, use char arrays rather than strings.
13492         Suggested by Paul Eggert.
13493
13494 2011-07-07  Bruno Haible  <bruno@clisp.org>
13495
13496         Tests for module 'sigprocmask'.
13497         * modules/sigprocmask-tests: New file.
13498         * tests/test-sigprocmask.c: New file.
13499
13500 2011-07-07  Bruno Haible  <bruno@clisp.org>
13501
13502         float tests: Tweak.
13503         * tests/test-float.c (main): Tweak skip message.
13504
13505 2011-07-07  Eric Blake  <eblake@redhat.com>
13506
13507         getopt: avoid compiler warning during configure
13508         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
13509         assigning string literals to non-const pointer.
13510
13511         getopt-gnu: avoid crash in glibc getopt
13512         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
13513         * tests/test-getopt.h (test_getopt): Enhance test.
13514         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13515         * doc/posix-functions/getopt.texi (getopt): Document it.
13516         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13517         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13518         Likewise.
13519
13520 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
13521
13522         getopt: handle W; without long options in getopt [BZ #12922]
13523         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
13524         but no long options are defined, just return 'W'.
13525
13526 2011-07-07  Bruno Haible  <bruno@clisp.org>
13527
13528         Avoid literal tabs.
13529         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
13530         variable containing a tab instead of a literal tab.
13531         Reported by Jim Meyering.
13532
13533 2011-07-07  Bruno Haible  <bruno@clisp.org>
13534
13535         Comments.
13536         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
13537
13538 2011-07-06  Bruno Haible  <bruno@clisp.org>
13539
13540         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
13541         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
13542         <winsock2.h>.
13543         (rpl_fd_isset, FD_ISSET): New definitions, copied from
13544         lib/sys_socket.in.h.
13545         (close, gethostname): Hide declarations from <winsock2.h>.
13546         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13547         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
13548         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
13549         (select): Don't override if gnulib's <sys/select.h> was already
13550         included.
13551         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13552         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13553         setsockopt, shutdown, select): Tweak indentation.
13554
13555 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13556
13557         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
13558         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
13559         in an application that does not use the sys_select module.
13560
13561 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
13562
13563         poll: do not return 0 on timeout=-1
13564         * lib/poll.c: Loop with yield if no events occured
13565
13566 2011-07-06  Eric Blake  <eblake@redhat.com>
13567
13568         pthread_sigmask: always replace when not using pthread
13569         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
13570         replacement when using some threading other than pthread.  Fix
13571         logic bug.
13572
13573 2011-07-06  Bruno Haible  <bruno@clisp.org>
13574
13575         Comments.
13576         * m4/printf.m4: Update comments about mingw.
13577
13578 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13579
13580         sys_select: define sigset_t more portably
13581         * lib/sys_select.in.h: Always include <sys/types.h>, since
13582         we now need sigset_t and mingw defines it there.
13583         Include <signal.h> before split inclusion guard, to avoid
13584         mishaps on Solaris, whose <signal.h> eventually includes us.
13585         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
13586         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
13587         which come from ...
13588         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
13589         gl_CHECK_TYPE_SIGSET_T.
13590         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
13591         does the real work.
13592         * modules/sys_select (Depends-on): Add 'signal'.
13593
13594         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
13595         Suggested by Bruno Haible.
13596
13597         pselect: Use pthread_sigmask, not sigprocmask.
13598         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
13599         multithreaded apps better than sigprocmask does.
13600         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
13601         sigprocmask directly.
13602
13603 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13604
13605         * lib/pselect.c (pselect): Use plain name, without "rpl_".
13606         Don't #undef,  since we don't need any underlying pselect.
13607         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
13608         (Depends-on): Add select.
13609         (Link): Add $(LIBSOCKET).
13610         These changes suggested by Bruno Haible.
13611
13612         pselect: document better
13613         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13614         * doc/posix-functions/pselect.texi (pselect): Document new module.
13615
13616         pthread_sigmask: new module
13617         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13618         * doc/posix-functions/pthread_sigmask.texi: Document new module.
13619         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
13620         This is done only as a macro; I don't know how well that'll
13621         work for C++.  Move <sys/types.h> include before the include_next,
13622         to avoid mishap on Solaris.
13623         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
13624         * modules/signal (Makefile.am): Substitute the check's results.
13625         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
13626
13627         test-pselect: new module
13628         * modules/pselect-tests, tests/test-pselect.c: New files.
13629         * tests/test-select.c, tests/test-sys_select-c++.cc:
13630         If TEST_PSELECT is defined, test pselect instead of testing select.
13631
13632         * tests/test-sys_select.c (sigset_t): Test for it, too.
13633         Suggested by Bruno Haible.
13634
13635 2011-07-05  Eric Blake  <eblake@redhat.com>
13636
13637         snprintf: guarantee %1$d, for libintl
13638         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
13639         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
13640         * doc/posix-functions/snprintf.texi (snprintf): Update.
13641         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13642         * tests/test-snprintf.c (main): Enhance test.
13643         * tests/test-vsnprintf.c (main): Likewise.
13644
13645 2011-07-05  Jim Meyering  <meyering@redhat.com>
13646
13647         maint: exempt stdio-read.c and stdio-write.c from the cppi check
13648         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
13649         per Bruno's request, to accommodate this idiom (no space after "#")
13650         even when the function is inside an #if block:
13651         char *
13652         gets (char *s)
13653         #undef gets
13654         {
13655           ...
13656         }
13657
13658 2011-07-04  Jim Meyering  <meyering@redhat.com>
13659
13660         maint: indent with spaces, not TABs, and add a rule to check this
13661         * tests/test-userspec.c: Indent with spaces, not TABs.
13662         * tests/test-argp.c: Likewise.
13663         * tests/test-c-stack2.sh: Likewise.
13664         * tests/test-parse-duration.sh: Likewise
13665         * m4/strtod.m4: Likewise.
13666         * m4/alloca.m4: Likewise.
13667         * m4/pselect.m4: Likewise.
13668         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
13669
13670 2011-07-03  Jim Meyering  <meyering@redhat.com>
13671
13672         maint.mk: correct omissions in prohibit_argmatch_without_use check
13673         This rule would mistakenly report that argmatch.h is included without
13674         use even when both the argmatch and invalid_arg macro were used.
13675         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
13676         of argmatch and invalid_arg.
13677
13678 2011-07-03  Bruno Haible  <bruno@clisp.org>
13679
13680         Comments about EINTR.
13681         * lib/safe-read.h: Explain the purpose of this module.
13682         * lib/safe-write.h: Likewise.
13683         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
13684         module.
13685         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
13686         module.
13687         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13688
13689 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13690
13691         xnanosleep: Rewrite to use new dtotimespec module.
13692         It has the conversion code that used to be in xnanosleep.
13693         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
13694         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
13695         (TIME_T_MAX): Remove.
13696         (xnanosleep): Rewrite in terms of dtotimespec.
13697         * modules/xnanosleep (Depends-on): Add dtotimespec.
13698         Remove intprops, stdbool.
13699
13700         timespec-add, timespec-sub: new modules
13701         * lib/timespec.h (timespec_add, timespec_sub): New decls.
13702         * lib/timespec-add.c, lib/timespec-sub.c:
13703         * modules/timespec-add, modules/timespec-sub: New files.
13704
13705         dtotimespec: new module
13706         * lib/timespec.h (dtotimespec): New decl.
13707         * lib/dtotimespec.c, modules/dtotimespec: New files.
13708
13709         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
13710
13711         pselect: new module
13712         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
13713         (pselect): New decls.
13714         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
13715         since the standard pselect decl uses 'restrict'.
13716         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
13717         HAVE_PSELECT, REPLACE_PSELECT.
13718         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
13719         HAVE_PSELECT, REPLACE_PSELECT.
13720         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
13721
13722         sys_select: don't depend on sys_socket
13723         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
13724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
13725         This fix works on GNU and GNU-like platforms, but has not been tested
13726         on native Windows.
13727         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
13728         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
13729         gl_HEADER_SYS_SOCKET.
13730         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
13731         gl_PREREQ_SYS_H_WINSOCK2.
13732
13733 2011-06-29  Eric Blake  <eblake@redhat.com>
13734
13735         pipe2: fix C89 compile problem
13736         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
13737         Reported by Bruno Haible.
13738
13739         pipe, pipe2: don't corrupt fd on error
13740         * lib/pipe.c (pipe): Leave fd unchanged on error.
13741         * lib/pipe2.c (pipe2): Likewise.
13742         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
13743         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13744
13745 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
13746
13747         mmap-anon: do not use regular expressions inadvertently
13748         * m4/mmap-anon.m4: Remove trailing period from strings sought
13749         in the output.
13750
13751 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13752
13753         nanosleep: fix integer overflow problem
13754         * lib/nanosleep.c (my_usleep): Don't assume signed integer
13755         arithmetic wraps around on overflow.
13756
13757         nanosleep: simplify carrying
13758         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
13759         first call to the underyling nanosleep, not for the last one.
13760         This doesn't fix any bugs, but it simplifies the computation of
13761         the remaining delay.  Found while auditing integer overflow issues.
13762
13763         dup2: remove test for existence of fcntl
13764         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
13765         "#if HAVE_FCNTL", in the configure-time test program.
13766         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13767         and therefore speeds up "configure" a bit.  Found while
13768         adding the dup2 module to Emacs.
13769
13770 2011-06-24  Eric Blake  <eblake@redhat.com>
13771
13772         maint.mk: enhance useless header checks
13773         * top/maint.mk (_sc_header_without_use): Check both include
13774         styles.
13775         (sc_prohibit_assert_without_use)
13776         (sc_prohibit_close_stream_without_use)
13777         (sc_prohibit_getopt_without_use)
13778         (sc_prohibit_quotearg_without_use)
13779         (sc_prohibit_quote_without_use)
13780         (sc_prohibit_long_options_without_use)
13781         (sc_prohibit_inttostr_without_use)
13782         (sc_prohibit_ignore_value_without_use)
13783         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13784         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13785         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13786         (sc_prohibit_hash_pjw_without_use)
13787         (sc_prohibit_safe_read_without_use)
13788         (sc_prohibit_argmatch_without_use)
13789         (sc_prohibit_canonicalize_without_use)
13790         (sc_prohibit_root_dev_ino_without_use)
13791         (sc_prohibit_openat_without_use)
13792         (sc_prohibit_c_ctype_without_use)
13793         (sc_prohibit_signal_without_use)
13794         (sc_prohibit_stdio--_without_use)
13795         (sc_prohibit_stdio-safer_without_use)
13796         (sc_prohibit_strings_without_use)
13797         (sc_prohibit_intprops_without_use)
13798         (sc_prohibit_stddef_without_use)
13799         (sc_prohibit_xfreopen_without_use): Update clients.
13800
13801 2011-06-24  Jim Meyering  <meyering@redhat.com>
13802
13803         syntax-check: keep one maint.mk rule in sync with its header
13804         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13805         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13806         I prefer to avoid temporary files here, so use <(...), but that
13807         is not supported by /bin/sh, so...
13808         (SHELL): Define to /bin/bash.
13809
13810 2011-06-24  Eric Blake  <eblake@redhat.com>
13811
13812         maint.mk: update sc_prohibit_intprops_without_use
13813         * top/maint.mk (_intprops_names): Match recent changes.
13814
13815 2011-06-24  Bruno Haible  <bruno@clisp.org>
13816
13817         strerror-override: No-op tweak.
13818         * lib/strerror-override.h (strerror_override): Reorder conditions,
13819         for consistency with lib/strerror-override.c.
13820
13821 2011-06-23  Eric Blake  <eblake@redhat.com>
13822
13823         maint.mk: test further PATH_MAX issues
13824         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13825         (sc_prohibit_path_max_allocation): ...and also test alloca.
13826         Suggested by Jim Meyering.
13827
13828 2011-06-22  Eric Blake  <eblake@redhat.com>
13829
13830         maint.mk: add syntax-check to avoid char[PATH_MAX]
13831         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13832
13833         stat: be robust to PATH_MAX definition
13834         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13835         * modules/stat (Depends-on): Add verify.
13836
13837         link: work around IRIX bug
13838         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13839         * lib/link.c (rpl_link): Work around it.
13840         * tests/test-link.h (test_link): Enhance test.
13841         * doc/posix-functions/link.texi (link): Document the bug.
13842
13843         getopt: silence clang warning
13844         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13845         dereference.
13846         Reported by Gustavo Martin Domato.
13847
13848 2011-06-22  Jim Meyering  <meyering@redhat.com>
13849
13850         bootstrap: do not insert a blank line into each .gitignore file
13851         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13852
13853 2011-06-21  Eric Blake  <eblake@redhat.com>
13854
13855         perror: test for output mismatch
13856         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13857         perror on IRIX.
13858
13859         strerror_r: fix OpenBSD behavior on out-of-range
13860         * lib/strerror_r.c (strerror_r): Always use maximal string.
13861         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13862
13863         strerror_r: fix OpenBSD behavior on 0
13864         * lib/strerror-override.c (strerror_override): Also override 0
13865         when needed.
13866         * lib/strerror-override.h (strerror_override): Likewise.
13867         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13868         earlier.
13869         * lib/strerror_r.c (strerror_r): Likewise.
13870         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13871         behavior...
13872         (gl_FUNC_STRERROR_0): ...into new macro.
13873         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13874         is overridden.
13875         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13876         * modules/strerror-override (Files): Add strerror.m4.
13877         (configure.ac): Also provide override for 0 when needed.
13878         * doc/posix-functions/strerror.texi (strerror): Document this.
13879         * doc/posix-functions/perror.texi (perror): Likewise.
13880
13881         perror: adjust array size
13882         * modules/perror (Depends-on): Add strerror-override.
13883         * lib/perror.c (perror): Use it to avoid magic number.
13884
13885         strerror-override: reduce size
13886         * lib/strerror-override.c (strerror_override): Use fewer lines.
13887
13888 2011-06-20  Bruno Haible  <bruno@clisp.org>
13889
13890         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13891         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13892
13893 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13894
13895         alloca: port to compilers that can optimize like GCC 4.6.0
13896         * lib/alloca.c (find_stack_direction): New signature, taken from
13897         Autoconf git.  This works with GCC 4.6.0.  This code should never
13898         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13899         be used with other compilers that optimize as well as GCC 4.6.0 does.
13900         (alloca): Adjust to new signature.
13901         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13902         New macro, which patches Autoconf in a similar way.
13903
13904         c-stack: stop worrying about stack direction
13905         * lib/c-stack.c (find_stack_direction): Remove.
13906         (segv_handler): Don't worry about stack direction growth, as it's
13907         too much of a pain to configure this correctly, given how compilers
13908         are optimizing-away our stack-growth detection code.  Instead, assume
13909         that any access to just before or just after the stack is OK.
13910         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13911         Don't require AC_FUNC_ALLOCA; no longer needed.
13912
13913 2011-06-20  Eric Blake  <eblake@redhat.com>
13914
13915         test-stat: don't allocate PATH_MAX bytes
13916         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13917         PATH_MAX-sized buffer.
13918         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13919         * modules/stat-tests (Depends-on): Likewise.
13920         * tests/test-fstatat.c (includes): Drop pathmax.h.
13921         * tests/test-stat.c (includes): Likewise.
13922         Reported by Bruno Haible.
13923
13924 2011-06-20  Bruno Haible  <bruno@clisp.org>
13925
13926         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13927         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13928         * lib/float.c: New file.
13929         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13930         REPLACE_FLOAT_LDBL.
13931         * modules/float (Files): Add lib/float.c.
13932         (configure.ac): Invoke AC_LIBOBJ.
13933         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13934
13935 2011-06-20  Bruno Haible  <bruno@clisp.org>
13936
13937         Tests for module 'float'.
13938         * modules/float-tests: New file.
13939         * tests/test-float.c: New file.
13940
13941 2011-06-19  Bruno Haible  <bruno@clisp.org>
13942
13943         isinf: Coding style.
13944         * lib/isinf.c: Use GNU coding style.
13945
13946 2011-06-19  Bruno Haible  <bruno@clisp.org>
13947
13948         linkat test: Avoid test failure on AIX 7.1.
13949         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
13950         * tests/test-link.h (test_link): Likewise.
13951
13952 2011-06-19  Bruno Haible  <bruno@clisp.org>
13953
13954         pread test: Avoid test failure on OpenBSD 4.9.
13955         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
13956
13957 2011-06-19  Bruno Haible  <bruno@clisp.org>
13958
13959         sprintf-posix: Fix test failure on AIX 7.1.
13960         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
13961         * doc/posix-functions/dprintf.texi: Mention limited precision problem
13962         on AIX.
13963         * doc/posix-functions/fprintf.texi: Likewise.
13964         * doc/posix-functions/printf.texi: Likewise.
13965         * doc/posix-functions/snprintf.texi: Likewise.
13966         * doc/posix-functions/sprintf.texi: Likewise.
13967         * doc/posix-functions/vdprintf.texi: Likewise.
13968         * doc/posix-functions/vfprintf.texi: Likewise.
13969         * doc/posix-functions/vprintf.texi: Likewise.
13970         * doc/posix-functions/vsnprintf.texi: Likewise.
13971         * doc/posix-functions/vsprintf.texi: Likewise.
13972
13973 2011-06-19  Bruno Haible  <bruno@clisp.org>
13974
13975         roundl-ieee: Fix test failure on AIX 7.1.
13976         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
13977         * doc/posix-functions/roundl.texi: Mention problem with negative
13978         arguments.
13979
13980 2011-06-19  Bruno Haible  <bruno@clisp.org>
13981
13982         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13983         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13984         * doc/posix-functions/round.texi: Mention problem with negative
13985         arguments.
13986         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13987
13988 2011-06-19  Bruno Haible  <bruno@clisp.org>
13989
13990         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13991         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13992         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13993         * doc/posix-functions/roundf.texi: Mention problem with negative
13994         arguments.
13995         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13996
13997 2011-06-19  Bruno Haible  <bruno@clisp.org>
13998
13999         ceilf-ieee: Work around bug on MacOS X 10.5.
14000         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
14001
14002         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
14003         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
14004         IEEE compliant, avoid compiler optimizations.
14005         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14006         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14007         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14008         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14009         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14010         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14011         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14012         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14013         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14014         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14015
14016 2011-06-19  Bruno Haible  <bruno@clisp.org>
14017
14018         ceilf-ieee: Work around bug on AIX 7.1.
14019         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
14020         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
14021
14022 2011-06-19  Bruno Haible  <bruno@clisp.org>
14023
14024         ceil-ieee: Work around bug on AIX 7.1.
14025         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
14026         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
14027
14028 2011-06-18  Bruno Haible  <bruno@clisp.org>
14029
14030         fsync test: Avoid test failure on MacOS X and AIX.
14031         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
14032         EINVAL.
14033
14034 2011-06-18  Bruno Haible  <bruno@clisp.org>
14035
14036         openat, fdopendir tests: Fix link errors.
14037         * modules/openat-tests (Depends-on): Add progname.
14038         * modules/fdopendir-tests (Depends-on): Likewise.
14039         * tests/test-fchownat.c: Include progname.h.
14040         (main): Call set_program_name.
14041         * tests/test-fstatat.c: Include progname.h.
14042         (main): Call set_program_name.
14043         * tests/test-mkdirat.c: Include progname.h.
14044         (main): Call set_program_name.
14045         * tests/test-openat.c: Include progname.h.
14046         (main): Call set_program_name.
14047         * tests/test-unlinkat.c: Include progname.h.
14048         (main): Call set_program_name.
14049         * tests/test-fdopendir.c: Include progname.h.
14050         (main): Call set_program_name.
14051
14052 2011-06-18  Bruno Haible  <bruno@clisp.org>
14053
14054         Doc update.
14055         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
14056         HP-UX.
14057         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
14058
14059 2011-06-18  Bruno Haible  <bruno@clisp.org>
14060
14061         getcwd tests: Avoid compilation error on HP-UX 11.31.
14062         * modules/getcwd-tests (Depends-on): Add pathmax.
14063         * tests/test-getcwd.c: Include pathmax.h.
14064
14065 2011-06-18  Bruno Haible  <bruno@clisp.org>
14066
14067         isfinite, isinf: Fix link error on AIX 6 and 7.
14068         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
14069         needed, also test the macro with a 'float' argument.
14070         * m4/isinf.m4 (gl_ISINF): Likewise.
14071
14072 2011-06-18  Bruno Haible  <bruno@clisp.org>
14073
14074         getloadavg: Don't clobber LIBS. Regression from previous commit.
14075         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
14076         AC_CHECK_LIB from here...
14077         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
14078         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
14079         gl_func_getloadavg_done.
14080         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14081
14082 2011-06-18  Bruno Haible  <bruno@clisp.org>
14083
14084         clean-temp: Improve documentation.
14085         * lib/clean-temp.h: Explain better how to use this module.
14086         Reported by John Darrington <john@darrington.wattle.id.au>.
14087
14088 2011-06-17  Bruno Haible  <bruno@clisp.org>
14089
14090         pread, pwrite: Avoid cc warning on AIX.
14091         * lib/unistd.in.h (pread): Undefine before defining as a macro.
14092         (pwrite): Likewise.
14093
14094 2011-06-17  Bruno Haible  <bruno@clisp.org>
14095
14096         spawn-pipe tests: Fix link error.
14097         * tests/test-spawn-pipe-child.c: Undefine fprintf.
14098         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14099
14100 2011-06-17  Bruno Haible  <bruno@clisp.org>
14101
14102         Tests: Remove unnecessary dependency.
14103         * modules/canonicalize-tests (Depends-on): Remove progname.
14104         * modules/chown-tests (Depends-on): Likewise.
14105         * modules/dirname-tests (Depends-on): Likewise.
14106         * modules/fdopendir-tests (Depends-on): Likewise.
14107         * modules/fdutimensat-tests (Depends-on): Likewise.
14108         * modules/hash-tests (Depends-on): Likewise.
14109         * modules/lchown-tests (Depends-on): Likewise.
14110         * modules/linkat-tests (Depends-on): Likewise.
14111         * modules/renameat-tests (Depends-on): Likewise.
14112         * modules/spawn-pipe-tests (Depends-on): Likewise.
14113         * modules/utimensat-tests (Depends-on): Likewise.
14114
14115 2011-06-17  Bruno Haible  <bruno@clisp.org>
14116
14117         spawn-pipe tests: Fix link error.
14118         * tests/test-spawn-pipe-child.c: Undefine fflush.
14119
14120 2011-06-17  Bruno Haible  <bruno@clisp.org>
14121
14122         Fix tests link errors.
14123         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
14124         * modules/chown-tests (Makefile.am): Don't link test-chown with
14125         LIBINTL.
14126         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
14127         LIBINTL.
14128         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
14129         LIBINTL.
14130         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
14131         LIBINTL.
14132
14133 2011-06-16  Bruno Haible  <bruno@clisp.org>
14134
14135         crypto/gc-sha1: Fix recent regression.
14136         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
14137         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
14138
14139         crypto/gc-md5: Fix recent regression.
14140         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
14141
14142         crypto/gc-md4: Fix recent regression.
14143         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
14144         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
14145
14146         crypto/gc-arctwo: Fix recent regression.
14147         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
14148         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
14149
14150         crypto/gc-rijndael: Fix recent regression.
14151         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
14152         (configure.ac): Invoke AC_LIBOBJ here.
14153         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
14154         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14155
14156         crypto/gc-hmac-sha1: Fix recent regression.
14157         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
14158         (configure.ac): Invoke AC_LIBOBJ here.
14159         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
14160         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14161
14162         crypto/gc-hmac-md5: Fix recent regression.
14163         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
14164         (configure.ac): Invoke AC_LIBOBJ here.
14165         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
14166         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14167
14168         crypto/gc-des: Fix recent regression.
14169         * modules/crypto/gc-des (Files): Remove m4/des.m4.
14170         (configure.ac): Invoke AC_LIBOBJ here.
14171         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
14172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14173
14174         crypto/gc-arcfour: Fix recent regression.
14175         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
14176         (configure.ac): Invoke AC_LIBOBJ here.
14177         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
14178         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14179
14180 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
14181
14182         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
14183         After the 2011-05-21 change, this macro requires
14184         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
14185         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14186
14187 2011-06-16  Bruno Haible  <bruno@clisp.org>
14188
14189         fprintftime: Move AC_LIBOBJ invocations to module description.
14190         * m4/fprintftime.m4: Remove file.
14191         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
14192         (configure.ac): Remove gl_FPRINTFTIME call.
14193         (Makefile.am): Augment lib_SOURCES.
14194         Reported by Jim Meyering.
14195
14196 2011-06-16  Bruno Haible  <bruno@clisp.org>
14197
14198         tmpfile-safer: Finish 2011-05-23 commit.
14199         * m4/stdio-safer.m4: Really remove file.
14200         Reported by Jim Meyering.
14201
14202 2011-06-16  Bruno Haible  <bruno@clisp.org>
14203
14204         syntax-check: Fix typo.
14205         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
14206         printf-posix.m4.
14207         Reported by Jim Meyering.
14208
14209 2011-06-13  Jim Meyering  <meyering@redhat.com>
14210
14211         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
14212         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
14213
14214 2011-05-23  Bruno Haible  <bruno@clisp.org>
14215
14216         yesno: Move AC_LIBOBJ invocations to module description.
14217         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
14218         * modules/yesno (Makefile.am): Augment lib_SOURCES.
14219
14220 2011-05-23  Bruno Haible  <bruno@clisp.org>
14221
14222         xstrtol: Move AC_LIBOBJ invocations to module description.
14223         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
14224         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
14225
14226 2011-05-23  Bruno Haible  <bruno@clisp.org>
14227
14228         xstrtold: Move AC_LIBOBJ invocations to module description.
14229         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
14230         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
14231
14232 2011-05-23  Bruno Haible  <bruno@clisp.org>
14233
14234         xstrtod: Move AC_LIBOBJ invocations to module description.
14235         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
14236         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
14237
14238 2011-05-23  Bruno Haible  <bruno@clisp.org>
14239
14240         xnanosleep: Move AC_LIBOBJ invocations to module description.
14241         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
14242         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
14243
14244 2011-05-23  Bruno Haible  <bruno@clisp.org>
14245
14246         xgetcwd: Move AC_LIBOBJ invocations to module description.
14247         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
14248         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
14249
14250 2011-05-23  Bruno Haible  <bruno@clisp.org>
14251
14252         xalloc: Move AC_LIBOBJ invocations to module description.
14253         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
14254         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
14255
14256 2011-05-23  Bruno Haible  <bruno@clisp.org>
14257
14258         write-any-file: Move AC_LIBOBJ invocations to module description.
14259         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
14260         invocation.
14261         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
14262
14263 2011-05-23  Bruno Haible  <bruno@clisp.org>
14264
14265         utimens: Move AC_LIBOBJ invocations to module description.
14266         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
14267         * modules/utimens (Makefile.am): Augment lib_SOURCES.
14268
14269 2011-05-23  Bruno Haible  <bruno@clisp.org>
14270
14271         utimecmp: Move AC_LIBOBJ invocations to module description.
14272         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
14273         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
14274
14275 2011-05-23  Bruno Haible  <bruno@clisp.org>
14276
14277         userspec: Move AC_LIBOBJ invocations to module description.
14278         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
14279         * modules/userspec (Makefile.am): Augment lib_SOURCES.
14280
14281 2011-05-23  Bruno Haible  <bruno@clisp.org>
14282
14283         unlinkdir: Move AC_LIBOBJ invocations to module description.
14284         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
14285         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
14286
14287 2011-05-23  Bruno Haible  <bruno@clisp.org>
14288
14289         unistd-safer: Move AC_LIBOBJ invocations to module description.
14290         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
14291         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
14292
14293 2011-05-23  Bruno Haible  <bruno@clisp.org>
14294
14295         tempname: Move AC_LIBOBJ invocations to module description.
14296         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
14297         * modules/tempname (Makefile.am): Augment lib_SOURCES.
14298
14299 2011-05-23  Bruno Haible  <bruno@clisp.org>
14300
14301         strftime: Move AC_LIBOBJ invocations to module description.
14302         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
14303         * modules/strftime (Makefile.am): Augment lib_SOURCES.
14304
14305 2011-05-23  Bruno Haible  <bruno@clisp.org>
14306
14307         stdlib-safer: Move AC_LIBOBJ invocations to module description.
14308         * m4/stdlib-safer.m4: Remove file.
14309         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
14310         (configure.ac): Remove gl_STDLIB_SAFER call.
14311         (Makefile.am): Augment lib_SOURCES.
14312
14313 2011-05-23  Bruno Haible  <bruno@clisp.org>
14314
14315         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
14316         * m4/stdio-safer.m4: Remove file.
14317         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
14318         (configure.ac): Remove gl_TMPFILE_SAFER call.
14319         (Makefile.am): Augment lib_SOURCES.
14320
14321 2011-05-23  Bruno Haible  <bruno@clisp.org>
14322
14323         popen-safer: Move AC_LIBOBJ invocations to module description.
14324         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
14325         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
14326         (configure.ac): Remove gl_POPEN_SAFER call.
14327         (Makefile.am): Augment lib_SOURCES.
14328
14329 2011-05-23  Bruno Haible  <bruno@clisp.org>
14330
14331         freopen-safer: Move AC_LIBOBJ invocations to module description.
14332         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
14333         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
14334         (configure.ac): Remove gl_FREOPEN_SAFER call.
14335         (Makefile.am): Augment lib_SOURCES.
14336
14337 2011-05-23  Bruno Haible  <bruno@clisp.org>
14338
14339         fopen-safer: Move AC_LIBOBJ invocations to module description.
14340         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
14341         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
14342         (configure.ac): Remove gl_FOPEN_SAFER call.
14343         (Makefile.am): Augment lib_SOURCES.
14344
14345 2011-05-23  Bruno Haible  <bruno@clisp.org>
14346
14347         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14348         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14349         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14350
14351 2011-05-23  Bruno Haible  <bruno@clisp.org>
14352
14353         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14354         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14355         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14356
14357 2011-05-23  Bruno Haible  <bruno@clisp.org>
14358
14359         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14360         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14361         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14362
14363 2011-05-23  Bruno Haible  <bruno@clisp.org>
14364
14365         settime: Move AC_LIBOBJ invocations to module description.
14366         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14367         * modules/settime (Makefile.am): Augment lib_SOURCES.
14368
14369 2011-05-23  Bruno Haible  <bruno@clisp.org>
14370
14371         savedir: Move AC_LIBOBJ invocations to module description.
14372         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14373         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14374
14375 2011-05-23  Bruno Haible  <bruno@clisp.org>
14376
14377         save-cwd: Move AC_LIBOBJ invocations to module description.
14378         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14379         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14380
14381 2011-05-23  Bruno Haible  <bruno@clisp.org>
14382
14383         same: Move AC_LIBOBJ invocations to module description.
14384         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14385         * modules/same (Makefile.am): Augment lib_SOURCES.
14386
14387 2011-05-23  Bruno Haible  <bruno@clisp.org>
14388
14389         safe-write: Move AC_LIBOBJ invocations to module description.
14390         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14391         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14392         instead of gl_SAFE_WRITE.
14393         (Makefile.am): Augment lib_SOURCES.
14394
14395 2011-05-23  Bruno Haible  <bruno@clisp.org>
14396
14397         safe-read: Move AC_LIBOBJ invocations to module description.
14398         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14399         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14400         of gl_SAFE_READ.
14401         (Makefile.am): Augment lib_SOURCES.
14402
14403 2011-05-23  Bruno Haible  <bruno@clisp.org>
14404
14405         safe-alloc: Move AC_LIBOBJ invocations to module description.
14406         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
14407         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
14408
14409 2011-05-23  Bruno Haible  <bruno@clisp.org>
14410
14411         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
14412         * m4/rijndael.m4: Remove file.
14413         * modules/crypto/rijndael (Files): Remove it.
14414         (configure.ac): Remove gl_RIJNDAEL call.
14415         (Makefile.am): Augment lib_SOURCES.
14416
14417 2011-05-23  Bruno Haible  <bruno@clisp.org>
14418
14419         readtokens: Move AC_LIBOBJ invocations to module description.
14420         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
14421         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
14422
14423 2011-05-23  Bruno Haible  <bruno@clisp.org>
14424
14425         read-file: Move AC_LIBOBJ invocations to module description.
14426         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
14427         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
14428         of gl_FUNC_READ_FILE.
14429         (Makefile.am): Augment lib_SOURCES.
14430
14431 2011-05-23  Bruno Haible  <bruno@clisp.org>
14432
14433         quotearg: Move AC_LIBOBJ invocations to module description.
14434         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
14435         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
14436
14437 2011-05-23  Bruno Haible  <bruno@clisp.org>
14438
14439         quote: Move AC_LIBOBJ invocations to module description.
14440         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
14441         * modules/quote (Makefile.am): Augment lib_SOURCES.
14442
14443 2011-05-23  Bruno Haible  <bruno@clisp.org>
14444
14445         posixver: Move AC_LIBOBJ invocations to module description.
14446         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
14447         * modules/posixver (Makefile.am): Augment lib_SOURCES.
14448
14449 2011-05-23  Bruno Haible  <bruno@clisp.org>
14450
14451         posixtm: Move AC_LIBOBJ invocations to module description.
14452         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
14453         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
14454
14455 2011-05-23  Bruno Haible  <bruno@clisp.org>
14456
14457         physmem: Move AC_LIBOBJ invocations to module description.
14458         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
14459         * modules/physmem (Makefile.am): Augment lib_SOURCES.
14460
14461 2011-05-23  Bruno Haible  <bruno@clisp.org>
14462
14463         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
14464         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
14465         invocation.
14466         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
14467
14468 2011-05-23  Bruno Haible  <bruno@clisp.org>
14469
14470         mpsort: Move AC_LIBOBJ invocations to module description.
14471         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
14472         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
14473
14474 2011-05-23  Bruno Haible  <bruno@clisp.org>
14475
14476         modechange: Move AC_LIBOBJ invocations to module description.
14477         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
14478         * modules/modechange (Makefile.am): Augment lib_SOURCES.
14479
14480 2011-05-23  Bruno Haible  <bruno@clisp.org>
14481
14482         mkdir-p: Move AC_LIBOBJ invocations to module description.
14483         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
14484         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
14485
14486 2011-05-23  Bruno Haible  <bruno@clisp.org>
14487
14488         mkancesdirs: Move AC_LIBOBJ invocations to module description.
14489         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
14490         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
14491
14492 2011-05-23  Bruno Haible  <bruno@clisp.org>
14493
14494         mgetgroups: Move AC_LIBOBJ invocations to module description.
14495         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
14496         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
14497
14498 2011-05-23  Bruno Haible  <bruno@clisp.org>
14499
14500         memxor: Move AC_LIBOBJ invocations to module description.
14501         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
14502         * modules/memxor (Makefile.am): Augment lib_SOURCES.
14503
14504 2011-05-23  Bruno Haible  <bruno@clisp.org>
14505
14506         memcoll: Move AC_LIBOBJ invocations to module description.
14507         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
14508         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
14509
14510 2011-05-23  Bruno Haible  <bruno@clisp.org>
14511
14512         memcasecmp: Move AC_LIBOBJ invocations to module description.
14513         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
14514         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
14515
14516 2011-05-23  Bruno Haible  <bruno@clisp.org>
14517
14518         crypto/md5: Move AC_LIBOBJ invocations to module description.
14519         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
14520         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
14521
14522 2011-05-23  Bruno Haible  <bruno@clisp.org>
14523
14524         crypto/md4: Move AC_LIBOBJ invocations to module description.
14525         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
14526         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
14527
14528 2011-05-23  Bruno Haible  <bruno@clisp.org>
14529
14530         crypto/md2: Move AC_LIBOBJ invocations to module description.
14531         * m4/md2.m4: Remove file.
14532         * modules/crypto/md2 (Files): Remove it.
14533         (configure.ac): Remove gl_MD2 call.
14534         (Makefile.am): Augment lib_SOURCES.
14535
14536 2011-05-23  Bruno Haible  <bruno@clisp.org>
14537
14538         long-options: Move AC_LIBOBJ invocations to module description.
14539         * m4/long-options.m4: Remove file.
14540         * modules/long-options (Files): Remove it.
14541         (configure.ac): Remove gl_LONG_OPTIONS call.
14542         (Makefile.am): Augment lib_SOURCES.
14543
14544 2011-05-23  Bruno Haible  <bruno@clisp.org>
14545
14546         i-ring: Move AC_LIBOBJ invocations to module description.
14547         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
14548         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
14549
14550 2011-05-23  Bruno Haible  <bruno@clisp.org>
14551
14552         idcache: Move AC_LIBOBJ invocations to module description.
14553         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
14554         * modules/idcache (Makefile.am): Augment lib_SOURCES.
14555
14556 2011-05-23  Bruno Haible  <bruno@clisp.org>
14557
14558         human: Move AC_LIBOBJ invocations to module description.
14559         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
14560         * modules/human (Makefile.am): Augment lib_SOURCES.
14561
14562 2011-05-23  Bruno Haible  <bruno@clisp.org>
14563
14564         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
14565         * m4/hmac-sha1.m4: Remove file.
14566         * modules/crypto/hmac-sha1 (Files): Remove it.
14567         (configure.ac): Remove gl_HMAC_SHA1 call.
14568         (Makefile.am): Augment lib_SOURCES.
14569
14570 2011-05-23  Bruno Haible  <bruno@clisp.org>
14571
14572         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
14573         * m4/hmac-md5.m4: Remove file.
14574         * modules/crypto/hmac-md5 (Files): Remove it.
14575         (configure.ac): Remove gl_HMAC_MD5 call.
14576         (Makefile.am): Augment lib_SOURCES.
14577
14578 2011-05-23  Bruno Haible  <bruno@clisp.org>
14579
14580         hash: Move AC_LIBOBJ invocations to module description.
14581         * m4/hash.m4: Remove file.
14582         * modules/hash (Files): Remove it.
14583         (configure.ac): Remove gl_HASH call.
14584         (Makefile.am): Augment lib_SOURCES.
14585
14586 2011-05-23  Bruno Haible  <bruno@clisp.org>
14587
14588         hard-locale: Move AC_LIBOBJ invocations to module description.
14589         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
14590         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
14591
14592 2011-05-23  Bruno Haible  <bruno@clisp.org>
14593
14594         getugroups: Move AC_LIBOBJ invocations to module description.
14595         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
14596         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
14597
14598 2011-05-23  Bruno Haible  <bruno@clisp.org>
14599
14600         gettime: Move AC_LIBOBJ invocations to module description.
14601         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
14602         * modules/gettime (Makefile.am): Augment lib_SOURCES.
14603
14604 2011-05-23  Bruno Haible  <bruno@clisp.org>
14605
14606         getndelim2: Move AC_LIBOBJ invocations to module description.
14607         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
14608         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
14609
14610 2011-05-23  Bruno Haible  <bruno@clisp.org>
14611
14612         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
14613         * m4/gc-pbkdf2-sha1.m4: Remove file.
14614         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
14615         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
14616         (Makefile.am): Augment lib_SOURCES.
14617
14618 2011-05-23  Bruno Haible  <bruno@clisp.org>
14619
14620         fts: Move AC_LIBOBJ invocations to module description.
14621         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
14622         * modules/fts (configure.ac): ... to here.
14623
14624 2011-05-23  Bruno Haible  <bruno@clisp.org>
14625
14626         file-type: Move AC_LIBOBJ invocations to module description.
14627         * m4/file-type.m4: Remove file.
14628         * modules/file-type (Files): Remove it.
14629         (configure.ac): Remove gl_FILE_TYPE call.
14630         (Makefile.am): Augment lib_SOURCES.
14631
14632 2011-05-23  Bruno Haible  <bruno@clisp.org>
14633
14634         filenamecat*: Respect rules for use of AC_LIBOBJ.
14635         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
14636         Remove AC_LIBOBJ invocation.
14637         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
14638         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
14639
14640 2011-05-23  Bruno Haible  <bruno@clisp.org>
14641
14642         filemode: Move AC_LIBOBJ invocations to module description.
14643         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
14644         * modules/filemode (Makefile.am): Augment lib_SOURCES.
14645
14646 2011-05-23  Bruno Haible  <bruno@clisp.org>
14647
14648         openat-safer: Move AC_LIBOBJ invocations to module description.
14649         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
14650         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
14651
14652 2011-05-23  Bruno Haible  <bruno@clisp.org>
14653
14654         fcntl-safer: Move AC_LIBOBJ invocations to module description.
14655         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
14656         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
14657
14658 2011-05-23  Bruno Haible  <bruno@clisp.org>
14659
14660         exclude: Move AC_LIBOBJ invocations to module description.
14661         * m4/exclude.m4: Remove file.
14662         * modules/exclude (Files): Remove it.
14663         (configure.ac): Remove gl_EXCLUDE call.
14664         (Makefile.am): Augment lib_SOURCES.
14665
14666 2011-05-23  Bruno Haible  <bruno@clisp.org>
14667
14668         dirname*: Respect rules for use of AC_LIBOBJ.
14669         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
14670         invocations.
14671         * modules/dirname (Makefile.am): Augment lib_SOURCES.
14672         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
14673
14674 2011-05-23  Bruno Haible  <bruno@clisp.org>
14675
14676         dirent-safer: Move AC_LIBOBJ invocations to module description.
14677         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
14678         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
14679
14680 2011-05-23  Bruno Haible  <bruno@clisp.org>
14681
14682         crypto/des: Move AC_LIBOBJ invocations to module description.
14683         * m4/des.m4: Remove file.
14684         * modules/crypto/des (Files): Remove it.
14685         (configure.ac): Remove gl_DES call.
14686         (Makefile.am): Augment lib_SOURCES.
14687
14688 2011-05-23  Bruno Haible  <bruno@clisp.org>
14689
14690         cycle-check: Move AC_LIBOBJ invocations to module description.
14691         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
14692         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
14693
14694 2011-05-23  Bruno Haible  <bruno@clisp.org>
14695
14696         c-strtold: Move AC_LIBOBJ invocations to module description.
14697         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
14698         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
14699
14700 2011-05-23  Bruno Haible  <bruno@clisp.org>
14701
14702         c-strtod: Move AC_LIBOBJ invocations to module description.
14703         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
14704         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
14705
14706 2011-05-23  Bruno Haible  <bruno@clisp.org>
14707
14708         crc: Move AC_LIBOBJ invocations to module description.
14709         * m4/crc.m4: Remove file.
14710         * modules/crc (Files): Remove it.
14711         (configure.ac): Remove gl_CRC call.
14712         (Makefile.am): Augment lib_SOURCES.
14713
14714 2011-05-23  Bruno Haible  <bruno@clisp.org>
14715
14716         close-stream: Move AC_LIBOBJ invocations to module description.
14717         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
14718         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
14719
14720 2011-05-23  Bruno Haible  <bruno@clisp.org>
14721
14722         closeout: Move AC_LIBOBJ invocations to module description.
14723         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
14724         * modules/closeout (Makefile.am): Augment lib_SOURCES.
14725
14726 2011-05-23  Bruno Haible  <bruno@clisp.org>
14727
14728         closein: Move AC_LIBOBJ invocations to module description.
14729         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
14730         * modules/closein (Makefile.am): Augment lib_SOURCES.
14731
14732 2011-05-23  Bruno Haible  <bruno@clisp.org>
14733
14734         cloexec: Move AC_LIBOBJ invocations to module description.
14735         * m4/cloexec.m4: Remove file.
14736         * modules/cloexec (Files): Remove it.
14737         (configure.ac): Remove gl_CLOEXEC call.
14738         (Makefile.am): Augment lib_SOURCES.
14739
14740 2011-05-23  Bruno Haible  <bruno@clisp.org>
14741
14742         check-version: Move AC_LIBOBJ invocations to module description.
14743         * m4/check-version.m4: Remove file.
14744         * modules/check-version (Files): Remove it.
14745         (configure.ac): Remove gl_CHECK_VERSION call.
14746         (Makefile.am): Augment lib_SOURCES.
14747
14748 2011-05-23  Bruno Haible  <bruno@clisp.org>
14749
14750         chdir-safer: Move AC_LIBOBJ invocations to module description.
14751         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
14752         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
14753
14754 2011-05-23  Bruno Haible  <bruno@clisp.org>
14755
14756         canonicalize: Move AC_LIBOBJ invocations to module description.
14757         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
14758         AC_LIBOBJ invocation.
14759         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
14760
14761 2011-05-23  Bruno Haible  <bruno@clisp.org>
14762
14763         canon-host: Move AC_LIBOBJ invocations to module description.
14764         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
14765         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
14766         instead of gl_CANON_HOST.
14767         (Makefile.am): Augment lib_SOURCES.
14768
14769 2011-05-23  Bruno Haible  <bruno@clisp.org>
14770
14771         backupfile: Move AC_LIBOBJ invocations to module description.
14772         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14773         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14774
14775 2011-05-23  Bruno Haible  <bruno@clisp.org>
14776
14777         argmatch: Move AC_LIBOBJ invocations to module description.
14778         * m4/argmatch.m4: Remove file.
14779         * modules/argmatch (Files): Remove it.
14780         (configure.ac): Remove gl_ARGMATCH call.
14781         (Makefile.am): Augment lib_SOURCES.
14782
14783 2011-05-23  Bruno Haible  <bruno@clisp.org>
14784
14785         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14786         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14787         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14788
14789 2011-05-23  Bruno Haible  <bruno@clisp.org>
14790
14791         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14792         * m4/arcfour.m4: Remove file.
14793         * modules/crypto/arcfour (Files): Remove it.
14794         (configure.ac): Remove gl_ARCFOUR call.
14795         (Makefile.am): Augment lib_SOURCES.
14796
14797 2011-05-22  Bruno Haible  <bruno@clisp.org>
14798
14799         write: Move AC_LIBOBJ invocations to module description.
14800         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14801         * modules/write (configure.ac): ... to here.
14802
14803 2011-05-22  Bruno Haible  <bruno@clisp.org>
14804
14805         wmemset: Move AC_LIBOBJ invocations to module description.
14806         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14807         here...
14808         * modules/wmemset (configure.ac): ... to here.
14809
14810 2011-05-22  Bruno Haible  <bruno@clisp.org>
14811
14812         wmemmove: Move AC_LIBOBJ invocations to module description.
14813         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14814         here...
14815         * modules/wmemmove (configure.ac): ... to here.
14816
14817 2011-05-22  Bruno Haible  <bruno@clisp.org>
14818
14819         wmemcpy: Move AC_LIBOBJ invocations to module description.
14820         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14821         here...
14822         * modules/wmemcpy (configure.ac): ... to here.
14823
14824 2011-05-22  Bruno Haible  <bruno@clisp.org>
14825
14826         wmemcmp: Move AC_LIBOBJ invocations to module description.
14827         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14828         here...
14829         * modules/wmemcmp (configure.ac): ... to here.
14830
14831 2011-05-22  Bruno Haible  <bruno@clisp.org>
14832
14833         wmemchr: Move AC_LIBOBJ invocations to module description.
14834         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14835         here...
14836         * modules/wmemchr (configure.ac): ... to here.
14837
14838 2011-05-22  Bruno Haible  <bruno@clisp.org>
14839
14840         wcswidth: Move AC_LIBOBJ invocations to module description.
14841         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14842         here...
14843         * modules/wcswidth (configure.ac): ... to here.
14844
14845 2011-05-22  Bruno Haible  <bruno@clisp.org>
14846
14847         wcwidth: Respect rules for use of AC_LIBOBJ.
14848         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14849         invocation from here...
14850         * modules/wcwidth (configure.ac): ... to here.
14851         (Depends-on): Update conditions.
14852
14853 2011-05-22  Bruno Haible  <bruno@clisp.org>
14854
14855         wctype: Move AC_LIBOBJ invocations to module description.
14856         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14857         invocation from here...
14858         * modules/wctype (configure.ac): ... to here.
14859         (Depends-on): Update conditions.
14860
14861 2011-05-22  Bruno Haible  <bruno@clisp.org>
14862
14863         wctrans: Move AC_LIBOBJ invocations to module description.
14864         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14865         invocation from here...
14866         * modules/wctrans (configure.ac): ... to here.
14867
14868 2011-05-22  Bruno Haible  <bruno@clisp.org>
14869
14870         wctomb: Move AC_LIBOBJ invocations to module description.
14871         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14872         invocations from here...
14873         * modules/wctomb (configure.ac): ... to here.
14874
14875 2011-05-22  Bruno Haible  <bruno@clisp.org>
14876
14877         wctob: Move AC_LIBOBJ invocations to module description.
14878         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14879         gl_PREREQ_WCTOB invocations from here...
14880         * modules/wctob (configure.ac): ... to here.
14881         (Depends-on): Update conditions.
14882
14883 2011-05-22  Bruno Haible  <bruno@clisp.org>
14884
14885         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14886         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14887         here...
14888         * modules/wcsxfrm (configure.ac): ... to here.
14889
14890 2011-05-22  Bruno Haible  <bruno@clisp.org>
14891
14892         wcstok: Move AC_LIBOBJ invocations to module description.
14893         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14894         * modules/wcstok (configure.ac): ... to here.
14895
14896 2011-05-22  Bruno Haible  <bruno@clisp.org>
14897
14898         wcsstr: Move AC_LIBOBJ invocations to module description.
14899         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14900         * modules/wcsstr (configure.ac): ... to here.
14901
14902 2011-05-22  Bruno Haible  <bruno@clisp.org>
14903
14904         wcsspn: Move AC_LIBOBJ invocations to module description.
14905         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14906         * modules/wcsspn (configure.ac): ... to here.
14907
14908 2011-05-22  Bruno Haible  <bruno@clisp.org>
14909
14910         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14911         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14912         gl_PREREQ_WCSRTOMBS invocations from here...
14913         * modules/wcsrtombs (configure.ac): ... to here.
14914
14915 2011-05-22  Bruno Haible  <bruno@clisp.org>
14916
14917         wcsrchr: Move AC_LIBOBJ invocations to module description.
14918         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14919         here...
14920         * modules/wcsrchr (configure.ac): ... to here.
14921
14922 2011-05-22  Bruno Haible  <bruno@clisp.org>
14923
14924         wcspbrk: Move AC_LIBOBJ invocations to module description.
14925         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14926         here...
14927         * modules/wcspbrk (configure.ac): ... to here.
14928
14929 2011-05-22  Bruno Haible  <bruno@clisp.org>
14930
14931         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14932         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14933         gl_PREREQ_WCSNRTOMBS invocations from here...
14934         * modules/wcsnrtombs (configure.ac): ... to here.
14935
14936 2011-05-22  Bruno Haible  <bruno@clisp.org>
14937
14938         wcsnlen: Move AC_LIBOBJ invocations to module description.
14939         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
14940         here...
14941         * modules/wcsnlen (configure.ac): ... to here.
14942
14943 2011-05-22  Bruno Haible  <bruno@clisp.org>
14944
14945         wcsncpy: Move AC_LIBOBJ invocations to module description.
14946         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
14947         here...
14948         * modules/wcsncpy (configure.ac): ... to here.
14949
14950 2011-05-22  Bruno Haible  <bruno@clisp.org>
14951
14952         wcsncmp: Move AC_LIBOBJ invocations to module description.
14953         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
14954         here...
14955         * modules/wcsncmp (configure.ac): ... to here.
14956
14957 2011-05-22  Bruno Haible  <bruno@clisp.org>
14958
14959         wcsncat: Move AC_LIBOBJ invocations to module description.
14960         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
14961         here...
14962         * modules/wcsncat (configure.ac): ... to here.
14963
14964 2011-05-22  Bruno Haible  <bruno@clisp.org>
14965
14966         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
14967         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
14968         from here...
14969         * modules/wcsncasecmp (configure.ac): ... to here.
14970
14971 2011-05-22  Bruno Haible  <bruno@clisp.org>
14972
14973         wcslen: Move AC_LIBOBJ invocations to module description.
14974         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
14975         * modules/wcslen (configure.ac): ... to here.
14976
14977 2011-05-22  Bruno Haible  <bruno@clisp.org>
14978
14979         wcsdup: Move AC_LIBOBJ invocations to module description.
14980         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14981         * modules/wcsdup (configure.ac): ... to here.
14982
14983 2011-05-22  Bruno Haible  <bruno@clisp.org>
14984
14985         wcscspn: Move AC_LIBOBJ invocations to module description.
14986         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14987         here...
14988         * modules/wcscspn (configure.ac): ... to here.
14989
14990 2011-05-22  Bruno Haible  <bruno@clisp.org>
14991
14992         wcscpy: Move AC_LIBOBJ invocations to module description.
14993         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14994         * modules/wcscpy (configure.ac): ... to here.
14995
14996 2011-05-22  Bruno Haible  <bruno@clisp.org>
14997
14998         wcscoll: Move AC_LIBOBJ invocations to module description.
14999         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
15000         here...
15001         * modules/wcscoll (configure.ac): ... to here.
15002
15003 2011-05-22  Bruno Haible  <bruno@clisp.org>
15004
15005         wcscmp: Move AC_LIBOBJ invocations to module description.
15006         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
15007         * modules/wcscmp (configure.ac): ... to here.
15008
15009 2011-05-22  Bruno Haible  <bruno@clisp.org>
15010
15011         wcschr: Move AC_LIBOBJ invocations to module description.
15012         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
15013         * modules/wcschr (configure.ac): ... to here.
15014
15015 2011-05-22  Bruno Haible  <bruno@clisp.org>
15016
15017         wcscat: Move AC_LIBOBJ invocations to module description.
15018         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
15019         * modules/wcscat (configure.ac): ... to here.
15020
15021 2011-05-22  Bruno Haible  <bruno@clisp.org>
15022
15023         wcscasecmp: Move AC_LIBOBJ invocations to module description.
15024         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
15025         here...
15026         * modules/wcscasecmp (configure.ac): ... to here.
15027
15028 2011-05-22  Bruno Haible  <bruno@clisp.org>
15029
15030         wcrtomb: Move AC_LIBOBJ invocations to module description.
15031         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
15032         invocations from here...
15033         * modules/wcrtomb (configure.ac): ... to here.
15034
15035 2011-05-22  Bruno Haible  <bruno@clisp.org>
15036
15037         wcpncpy: Move AC_LIBOBJ invocations to module description.
15038         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
15039         here...
15040         * modules/wcpncpy (configure.ac): ... to here.
15041
15042 2011-05-22  Bruno Haible  <bruno@clisp.org>
15043
15044         wcpcpy: Move AC_LIBOBJ invocations to module description.
15045         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
15046         * modules/wcpcpy (configure.ac): ... to here.
15047
15048 2011-05-22  Bruno Haible  <bruno@clisp.org>
15049
15050         waitpid: Move AC_LIBOBJ invocations to module description.
15051         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
15052         invocation from here...
15053         * modules/waitpid (configure.ac): ... to here.
15054
15055 2011-05-22  Bruno Haible  <bruno@clisp.org>
15056
15057         utimensat: Move AC_LIBOBJ invocations to module description.
15058         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
15059         here...
15060         * modules/utimensat (configure.ac): ... to here.
15061
15062 2011-05-22  Bruno Haible  <bruno@clisp.org>
15063
15064         usleep: Move AC_LIBOBJ invocations to module description.
15065         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
15066         here...
15067         * modules/usleep (configure.ac): ... to here.
15068
15069 2011-05-22  Bruno Haible  <bruno@clisp.org>
15070
15071         unlockpt: Move AC_LIBOBJ invocations to module description.
15072         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
15073         gl_PREREQ_UNLOCKPT invocations from here...
15074         * modules/unlockpt (configure.ac): ... to here.
15075
15076 2011-05-22  Bruno Haible  <bruno@clisp.org>
15077
15078         unlink: Respect rules for use of AC_LIBOBJ.
15079         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
15080         * modules/unlink (configure.ac): ... to here.
15081
15082 2011-05-22  Bruno Haible  <bruno@clisp.org>
15083
15084         uname: Move AC_LIBOBJ invocations to module description.
15085         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
15086         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
15087         here...
15088         * modules/uname (configure.ac): ... to here.
15089
15090 2011-05-22  Bruno Haible  <bruno@clisp.org>
15091
15092         ttyname_r: Move AC_LIBOBJ invocations to module description.
15093         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
15094         gl_PREREQ_TTYNAME_R invocations from here...
15095         * modules/ttyname_r (configure.ac): ... to here.
15096
15097 2011-05-22  Bruno Haible  <bruno@clisp.org>
15098
15099         tsearch: Move AC_LIBOBJ invocations to module description.
15100         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
15101         invocations from here...
15102         * modules/tsearch (configure.ac): ... to here.
15103
15104 2011-05-22  Bruno Haible  <bruno@clisp.org>
15105
15106         towctrans: Move AC_LIBOBJ invocations to module description.
15107         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
15108         AC_LIBOBJ invocation from here...
15109         * modules/towctrans (configure.ac): ... to here.
15110
15111 2011-05-22  Bruno Haible  <bruno@clisp.org>
15112
15113         tmpfile: Move AC_LIBOBJ invocations to module description.
15114         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
15115         invocations from here...
15116         * modules/tmpfile (configure.ac): ... to here.
15117
15118 2011-05-22  Bruno Haible  <bruno@clisp.org>
15119
15120         times: Move AC_LIBOBJ invocations to module description.
15121         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
15122         * modules/times (configure.ac): ... to here.
15123
15124 2011-05-22  Bruno Haible  <bruno@clisp.org>
15125
15126         time_r: Move AC_LIBOBJ invocations to module description.
15127         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
15128         invocations from here...
15129         * modules/time_r (configure.ac): ... to here.
15130
15131 2011-05-22  Bruno Haible  <bruno@clisp.org>
15132
15133         timegm: Move AC_LIBOBJ invocations to module description.
15134         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
15135         invocations from here...
15136         * modules/timegm (configure.ac): ... to here.
15137
15138 2011-05-22  Bruno Haible  <bruno@clisp.org>
15139
15140         tcgetsid: Move AC_LIBOBJ invocations to module description.
15141         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
15142         and gl_PREREQ_TCGETSID invocations from here...
15143         * modules/tcgetsid (configure.ac): ... to here.
15144         (Depends-on): Update conditions.
15145
15146 2011-05-22  Bruno Haible  <bruno@clisp.org>
15147
15148         symlinkat: Move AC_LIBOBJ invocations to module description.
15149         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
15150         here...
15151         * modules/symlinkat (configure.ac): ... to here.
15152
15153 2011-05-22  Bruno Haible  <bruno@clisp.org>
15154
15155         symlink: Move AC_LIBOBJ invocations to module description.
15156         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
15157         here...
15158         * modules/symlink (configure.ac): ... to here.
15159
15160 2011-05-22  Bruno Haible  <bruno@clisp.org>
15161
15162         strverscmp: Move AC_LIBOBJ invocations to module description.
15163         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
15164         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
15165         from here...
15166         * modules/strverscmp (configure.ac): ... to here.
15167
15168 2011-05-22  Bruno Haible  <bruno@clisp.org>
15169
15170         strtok_r: Move AC_LIBOBJ invocations to module description.
15171         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
15172         and gl_PREREQ_STRTOK_R invocations from here...
15173         * modules/strtok_r (configure.ac): ... to here.
15174         (Depends-on): Update conditions.
15175
15176 2011-05-22  Bruno Haible  <bruno@clisp.org>
15177
15178         strtoumax: Move AC_LIBOBJ invocations to module description.
15179         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
15180         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
15181         from here...
15182         * modules/strtoumax (configure.ac): ... to here.
15183
15184 2011-05-22  Bruno Haible  <bruno@clisp.org>
15185
15186         strtoimax: Move AC_LIBOBJ invocations to module description.
15187         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
15188         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
15189         from here...
15190         * modules/strtoimax (configure.ac): ... to here.
15191
15192 2011-05-22  Bruno Haible  <bruno@clisp.org>
15193
15194         strtoull: Move AC_LIBOBJ invocations to module description.
15195         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
15196         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
15197         from here...
15198         * modules/strtoull (configure.ac): ... to here.
15199
15200 2011-05-22  Bruno Haible  <bruno@clisp.org>
15201
15202         strtoll: Move AC_LIBOBJ invocations to module description.
15203         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
15204         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
15205         here...
15206         * modules/strtoll (configure.ac): ... to here.
15207
15208 2011-05-22  Bruno Haible  <bruno@clisp.org>
15209
15210         strtoul: Move AC_LIBOBJ invocations to module description.
15211         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
15212         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15213         * modules/strtoul (configure.ac): ... to here.
15214
15215 2011-05-22  Bruno Haible  <bruno@clisp.org>
15216
15217         strtol: Move AC_LIBOBJ invocations to module description.
15218         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
15219         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15220         * modules/strtol (configure.ac): ... to here.
15221
15222 2011-05-22  Bruno Haible  <bruno@clisp.org>
15223
15224         strtod: Move AC_LIBOBJ invocations to module description.
15225         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
15226         invocations from here...
15227         * modules/strtod (configure.ac): ... to here.
15228
15229 2011-05-22  Bruno Haible  <bruno@clisp.org>
15230
15231         strstr*: Move AC_LIBOBJ invocations to module description.
15232         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
15233         invocations from here...
15234         * modules/strstr-simple (configure.ac): ... to here.
15235         * modules/strstr (configure.ac): ... and here.
15236
15237 2011-05-22  Bruno Haible  <bruno@clisp.org>
15238
15239         strsignal: Move AC_LIBOBJ invocations to module description.
15240         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
15241         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
15242         * modules/strsignal (configure.ac): ... to here.
15243         (Depends-on): Update conditions.
15244
15245 2011-05-22  Bruno Haible  <bruno@clisp.org>
15246
15247         strsep: Move AC_LIBOBJ invocations to module description.
15248         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
15249         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
15250         here...
15251         * modules/strsep (configure.ac): ... to here.
15252
15253 2011-05-22  Bruno Haible  <bruno@clisp.org>
15254
15255         strptime: Move AC_LIBOBJ invocations to module description.
15256         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
15257         gl_PREREQ_STRPTIME invocations from here...
15258         * modules/strptime (configure.ac): ... to here.
15259
15260 2011-05-22  Bruno Haible  <bruno@clisp.org>
15261
15262         strpbrk: Move AC_LIBOBJ invocations to module description.
15263         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
15264         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
15265         here...
15266         * modules/strpbrk (configure.ac): ... to here.
15267
15268 2011-05-22  Bruno Haible  <bruno@clisp.org>
15269
15270         strnlen: Move AC_LIBOBJ invocations to module description.
15271         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
15272         invocations from here...
15273         * modules/strnlen (configure.ac): ... to here.
15274
15275 2011-05-22  Bruno Haible  <bruno@clisp.org>
15276
15277         strndup: Move AC_LIBOBJ invocations to module description.
15278         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
15279         invocations from here...
15280         * modules/strndup (configure.ac): ... to here.
15281         (Depends-on): Update conditions.
15282
15283 2011-05-22  Bruno Haible  <bruno@clisp.org>
15284
15285         strncat: Move AC_LIBOBJ invocations to module description.
15286         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
15287         invocations from here...
15288         * modules/strncat (configure.ac): ... to here.
15289
15290 2011-05-22  Bruno Haible  <bruno@clisp.org>
15291
15292         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
15293         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
15294         invocations from here...
15295         * modules/strdup (configure.ac): ... to here.
15296         * modules/strdup-posix (configure.ac): ... and here.
15297
15298 2011-05-22  Bruno Haible  <bruno@clisp.org>
15299
15300         strcspn: Move AC_LIBOBJ invocations to module description.
15301         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
15302         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
15303         here...
15304         * modules/strcspn (configure.ac): ... to here.
15305
15306 2011-05-22  Bruno Haible  <bruno@clisp.org>
15307
15308         strchrnul: Move AC_LIBOBJ invocations to module description.
15309         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
15310         gl_PREREQ_STRCHRNUL invocations from here...
15311         * modules/strchrnul (configure.ac): ... to here.
15312
15313 2011-05-22  Bruno Haible  <bruno@clisp.org>
15314
15315         strcasestr*: Move AC_LIBOBJ invocations to module description.
15316         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15317         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
15318         * modules/strcasestr-simple (configure.ac): ... to here.
15319         * modules/strcasestr (configure.ac): ... and here.
15320
15321 2011-05-22  Bruno Haible  <bruno@clisp.org>
15322
15323         strcase: Move AC_LIBOBJ invocations to module description.
15324         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
15325         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
15326         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
15327         gl_PREREQ_STRNCASECMP invocations from here...
15328         * modules/strcase (configure.ac): ... to here.
15329
15330 2011-05-22  Bruno Haible  <bruno@clisp.org>
15331
15332         stpncpy: Move AC_LIBOBJ invocations to module description.
15333         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
15334         here...
15335         * modules/stpncpy (configure.ac): ... to here.
15336
15337 2011-05-22  Bruno Haible  <bruno@clisp.org>
15338
15339         stpcpy: Move AC_LIBOBJ invocations to module description.
15340         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
15341         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
15342         here...
15343         * modules/stpcpy (configure.ac): ... to here.
15344
15345 2011-05-21  Bruno Haible  <bruno@clisp.org>
15346
15347         stat: Move AC_LIBOBJ invocations to module description.
15348         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15349         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15350         here...
15351         * modules/stat (configure.ac): ... to here.
15352
15353 2011-05-21  Bruno Haible  <bruno@clisp.org>
15354
15355         sleep: Move AC_LIBOBJ invocations to module description.
15356         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15357         * modules/sleep (configure.ac): ... to here.
15358
15359 2011-05-21  Bruno Haible  <bruno@clisp.org>
15360
15361         signbit: Move AC_LIBOBJ invocations to module description.
15362         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15363         * modules/signbit (configure.ac): ... to here.
15364
15365 2011-05-21  Bruno Haible  <bruno@clisp.org>
15366
15367         sigprocmask: Move AC_LIBOBJ invocations to module description.
15368         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15369         gl_PREREQ_SIGPROMASK invocations from here...
15370         * modules/sigprocmask (configure.ac): ... to here.
15371
15372 2011-05-21  Bruno Haible  <bruno@clisp.org>
15373
15374         sigaction: Move AC_LIBOBJ invocations to module description.
15375         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15376         gl_PREREQ_SIGACTION invocations from here...
15377         * modules/sigaction (configure.ac): ... to here.
15378
15379 2011-05-21  Bruno Haible  <bruno@clisp.org>
15380
15381         sig2str: Move AC_LIBOBJ invocations to module description.
15382         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15383         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15384         here...
15385         * modules/sig2str (configure.ac): ... to here.
15386
15387 2011-05-21  Bruno Haible  <bruno@clisp.org>
15388
15389         setlocale: Move AC_LIBOBJ invocations to module description.
15390         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15391         gl_PREREQ_SETLOCALE invocations from here...
15392         * modules/setlocale (configure.ac): ... to here.
15393
15394 2011-05-21  Bruno Haible  <bruno@clisp.org>
15395
15396         unsetenv: Move AC_LIBOBJ invocations to module description.
15397         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15398         and gl_PREREQ_UNSETENV invocations from here...
15399         * modules/unsetenv (configure.ac): ... to here.
15400         (Depends-on): Update.
15401
15402 2011-05-21  Bruno Haible  <bruno@clisp.org>
15403
15404         setenv: Move AC_LIBOBJ invocations to module description.
15405         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
15406         here...
15407         * modules/setenv (configure.ac): ... to here.
15408
15409 2011-05-21  Bruno Haible  <bruno@clisp.org>
15410
15411         selinux-h: Move AC_LIBOBJ invocations to module description.
15412         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
15413         AC_LIBOBJ invocation from here...
15414         * modules/selinux-h (configure.ac): ... to here.
15415
15416 2011-05-21  Bruno Haible  <bruno@clisp.org>
15417
15418         select: Respect rules for use of AC_LIBOBJ.
15419         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
15420         here...
15421         * modules/select (configure.ac): ... to here.
15422
15423 2011-05-21  Bruno Haible  <bruno@clisp.org>
15424
15425         scandir: Move AC_LIBOBJ invocations to module description.
15426         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
15427         invocations from here...
15428         * modules/scandir (configure.ac): ... to here.
15429
15430 2011-05-21  Bruno Haible  <bruno@clisp.org>
15431
15432         rpmatch: Move AC_LIBOBJ invocations to module description.
15433         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
15434         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
15435         here...
15436         * modules/rpmatch (configure.ac): ... to here.
15437
15438 2011-05-21  Bruno Haible  <bruno@clisp.org>
15439
15440         rmdir: Respect rules for use of AC_LIBOBJ.
15441         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
15442         * modules/rmdir (configure.ac): ... to here.
15443
15444 2011-05-21  Bruno Haible  <bruno@clisp.org>
15445
15446         renameat: Move AC_LIBOBJ invocations to module description.
15447         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
15448         here...
15449         * modules/renameat (configure.ac): ... to here.
15450
15451 2011-05-21  Bruno Haible  <bruno@clisp.org>
15452
15453         rename: Respect rules for use of AC_LIBOBJ.
15454         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
15455         here...
15456         * modules/rename (configure.ac): ... to here.
15457
15458 2011-05-21  Bruno Haible  <bruno@clisp.org>
15459
15460         remove: Move AC_LIBOBJ invocations to module description.
15461         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
15462         here...
15463         * modules/remove (configure.ac): ... to here.
15464
15465 2011-05-21  Bruno Haible  <bruno@clisp.org>
15466
15467         relocatable-lib: Move AC_LIBOBJ invocations to module description.
15468         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
15469         macro.
15470         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
15471         * modules/relocatable-lib (configure.ac): ... to here.
15472         * modules/relocatable-prog-wrapper (configure.ac): Invoke
15473         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
15474
15475 2011-05-21  Bruno Haible  <bruno@clisp.org>
15476
15477         relocatable-prog: Move AC_LIBOBJ invocations to module description.
15478         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
15479         here...
15480         * modules/relocatable-prog (configure.ac): ... to here.
15481
15482 2011-05-21  Bruno Haible  <bruno@clisp.org>
15483
15484         regex: Move AC_LIBOBJ invocations to module description.
15485         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
15486         invocations from here...
15487         * modules/regex (configure.ac): ... to here.
15488
15489 2011-05-21  Bruno Haible  <bruno@clisp.org>
15490
15491         realloc-*: Move AC_LIBOBJ invocations to module description.
15492         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
15493         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
15494         AC_LIBOBJ invocations from here...
15495         * modules/realloc-gnu (configure.ac): ... to here.
15496         * modules/realloc-posix (configure.ac): ... and here.
15497
15498 2011-05-21  Bruno Haible  <bruno@clisp.org>
15499
15500         readutmp: Move AC_LIBOBJ invocations to module description.
15501         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
15502         * modules/readutmp (configure.ac): ... to here.
15503
15504 2011-05-21  Bruno Haible  <bruno@clisp.org>
15505
15506         readlinkat: Move AC_LIBOBJ invocations to module description.
15507         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
15508         here...
15509         * modules/readlinkat (configure.ac): ... to here.
15510
15511 2011-05-21  Bruno Haible  <bruno@clisp.org>
15512
15513         readlink: Move AC_LIBOBJ invocations to module description.
15514         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
15515         gl_PREREQ_READLINK invocations from here...
15516         * modules/readlink (configure.ac): ... to here.
15517
15518 2011-05-21  Bruno Haible  <bruno@clisp.org>
15519
15520         readline: Move AC_LIBOBJ invocations to module description.
15521         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
15522         gl_PREREQ_READLINE invocations from here...
15523         * modules/readline (configure.ac): ... to here.
15524
15525 2011-05-21  Bruno Haible  <bruno@clisp.org>
15526
15527         read: Move AC_LIBOBJ invocations to module description.
15528         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
15529         * modules/read (configure.ac): ... to here.
15530
15531 2011-05-21  Bruno Haible  <bruno@clisp.org>
15532
15533         rawmemchr: Move AC_LIBOBJ invocations to module description.
15534         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
15535         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
15536         from here...
15537         * modules/rawmemchr (configure.ac): ... to here.
15538
15539 2011-05-21  Bruno Haible  <bruno@clisp.org>
15540
15541         random_r: Move AC_LIBOBJ invocations to module description.
15542         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
15543         gl_PREREQ_RANDOM_R invocations from here...
15544         * modules/random_r (configure.ac): ... to here.
15545
15546 2011-05-21  Bruno Haible  <bruno@clisp.org>
15547
15548         pwrite: Move AC_LIBOBJ invocations to module description.
15549         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
15550         * modules/pwrite (configure.ac): ... to here.
15551
15552 2011-05-21  Bruno Haible  <bruno@clisp.org>
15553
15554         putenv: Move AC_LIBOBJ invocations to module description.
15555         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
15556         * modules/putenv (configure.ac): ... to here.
15557
15558 2011-05-21  Bruno Haible  <bruno@clisp.org>
15559
15560         login_tty: Move AC_LIBOBJ invocations to module description.
15561         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
15562         * modules/login_tty (configure.ac): ... to here.
15563
15564 2011-05-21  Bruno Haible  <bruno@clisp.org>
15565
15566         openpty: Move AC_LIBOBJ invocations to module description.
15567         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
15568         * modules/openpty (configure.ac): ... to here.
15569
15570 2011-05-21  Bruno Haible  <bruno@clisp.org>
15571
15572         forkpty: Move AC_LIBOBJ invocations to module description.
15573         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
15574         * modules/forkpty (configure.ac): ... to here.
15575
15576 2011-05-21  Bruno Haible  <bruno@clisp.org>
15577
15578         ptsname: Move AC_LIBOBJ invocations to module description.
15579         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
15580         invocations from here...
15581         * modules/ptsname (configure.ac): ... to here.
15582
15583 2011-05-21  Bruno Haible  <bruno@clisp.org>
15584
15585         pread: Move AC_LIBOBJ invocations to module description.
15586         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
15587         * modules/pread (configure.ac): ... to here.
15588
15589 2011-05-21  Bruno Haible  <bruno@clisp.org>
15590
15591         posix_spawn*: Move AC_LIBOBJ invocations to module description.
15592         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
15593         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
15594         * modules/posix_spawn (configure.ac): ... to here.
15595         * modules/posix_spawnp (configure.ac): ... and here.
15596
15597 2011-05-21  Bruno Haible  <bruno@clisp.org>
15598
15599         popen: Move AC_LIBOBJ invocations to module description.
15600         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
15601         invocations from here...
15602         * modules/popen (configure.ac): ... to here.
15603
15604 2011-05-21  Bruno Haible  <bruno@clisp.org>
15605
15606         poll: Move AC_LIBOBJ invocations to module description.
15607         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
15608         invocations from here...
15609         * modules/poll (configure.ac): ... to here.
15610
15611 2011-05-21  Bruno Haible  <bruno@clisp.org>
15612
15613         pipe-posix: Move AC_LIBOBJ invocations to module description.
15614         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
15615         * modules/pipe-posix (configure.ac): ... to here.
15616
15617 2011-05-21  Bruno Haible  <bruno@clisp.org>
15618
15619         openat: Respect rules for use of AC_LIBOBJ.
15620         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
15621         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15622         * modules/openat (configure.ac): ... to here.
15623
15624 2011-05-21  Bruno Haible  <bruno@clisp.org>
15625
15626         obstack-printf*: Move AC_LIBOBJ invocations to module description.
15627         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
15628         invocation from here...
15629         * modules/obstack-printf (configure.ac): ... to here.
15630         * modules/obstack-printf-posix (configure.ac): ... and here.
15631
15632 2011-05-21  Bruno Haible  <bruno@clisp.org>
15633
15634         nl_langinfo: Move AC_LIBOBJ invocations to module description.
15635         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
15636         from here...
15637         * modules/nl_langinfo (configure.ac): ... to here.
15638
15639 2011-05-21  Bruno Haible  <bruno@clisp.org>
15640
15641         nanosleep: Move AC_LIBOBJ invocations to module description.
15642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
15643         gl_PREREQ_NANOSLEEP invocations from here...
15644         * modules/nanosleep (configure.ac): ... to here.
15645
15646 2011-05-21  Bruno Haible  <bruno@clisp.org>
15647
15648         mountlist: Move AC_LIBOBJ invocations to module description.
15649         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
15650         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
15651         * modules/mountlist (configure.ac): ... to here.
15652
15653 2011-05-21  Bruno Haible  <bruno@clisp.org>
15654
15655         mktime: Respect rules for use of AC_LIBOBJ.
15656         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
15657         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
15658         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
15659         (gl_FUNC_MKTIME_INTERNAL): ... and here...
15660         * modules/mktime (configure.ac): ... to here.
15661         * modules/mktime-internal (configure.ac): ... and here.
15662         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
15663
15664 2011-05-21  Bruno Haible  <bruno@clisp.org>
15665
15666         mkstemps: Move AC_LIBOBJ invocations to module description.
15667         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
15668         here...
15669         * modules/mkstemps (configure.ac): ... to here.
15670
15671 2011-05-21  Bruno Haible  <bruno@clisp.org>
15672
15673         mkstemp: Move AC_LIBOBJ invocations to module description.
15674         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
15675         gl_PREREQ_MKSTEMP invocations from here...
15676         * modules/mkstemp (configure.ac): ... to here.
15677
15678 2011-05-21  Bruno Haible  <bruno@clisp.org>
15679
15680         mkostemps: Move AC_LIBOBJ invocations to module description.
15681         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
15682         here...
15683         * modules/mkostemps (configure.ac): ... to here.
15684
15685 2011-05-21  Bruno Haible  <bruno@clisp.org>
15686
15687         mkostemp: Move AC_LIBOBJ invocations to module description.
15688         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
15689         gl_PREREQ_MKOSTEMP invocations from here...
15690         * modules/mkostemp (configure.ac): ... to here.
15691
15692 2011-05-21  Bruno Haible  <bruno@clisp.org>
15693
15694         mknod: Move AC_LIBOBJ invocations to module description.
15695         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
15696         * modules/mknod (configure.ac): ... to here.
15697
15698 2011-05-21  Bruno Haible  <bruno@clisp.org>
15699
15700         mkfifoat: Move AC_LIBOBJ invocations to module description.
15701         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
15702         here...
15703         * modules/mkfifoat (configure.ac): ... to here.
15704
15705 2011-05-21  Bruno Haible  <bruno@clisp.org>
15706
15707         mkfifo: Respect rules for use of AC_LIBOBJ.
15708         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
15709         here...
15710         * modules/mkfifo (configure.ac): ... to here.
15711
15712 2011-05-21  Bruno Haible  <bruno@clisp.org>
15713
15714         mkdtemp: Move AC_LIBOBJ invocations to module description.
15715         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
15716         invocations from here...
15717         * modules/mkdtemp (configure.ac): ... to here.
15718
15719 2011-05-21  Bruno Haible  <bruno@clisp.org>
15720
15721         mkdir: Move AC_LIBOBJ invocations to module description.
15722         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
15723         * modules/mkdir (configure.ac): ... to here.
15724
15725 2011-05-21  Bruno Haible  <bruno@clisp.org>
15726
15727         memset: Move AC_LIBOBJ invocations to module description.
15728         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
15729         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
15730         here...
15731         * modules/memset (configure.ac): ... to here.
15732
15733 2011-05-21  Bruno Haible  <bruno@clisp.org>
15734
15735         memrchr: Move AC_LIBOBJ invocations to module description.
15736         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
15737         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
15738         here...
15739         * modules/memrchr (configure.ac): ... to here.
15740
15741 2011-05-21  Bruno Haible  <bruno@clisp.org>
15742
15743         mempcpy: Move AC_LIBOBJ invocations to module description.
15744         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
15745         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
15746         here...
15747         * modules/mempcpy (configure.ac): ... to here.
15748
15749 2011-05-21  Bruno Haible  <bruno@clisp.org>
15750
15751         memmove: Move AC_LIBOBJ invocations to module description.
15752         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
15753         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
15754         here...
15755         * modules/memmove (configure.ac): ... to here.
15756
15757 2011-05-21  Bruno Haible  <bruno@clisp.org>
15758
15759         memmem*: Move AC_LIBOBJ invocations to module description.
15760         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
15761         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
15762         here...
15763         (gl_FUNC_MEMMEM): ... and here...
15764         * modules/memmem-simple (configure.ac): ... to here.
15765         * modules/memmem (configure.ac): ... and here.
15766
15767 2011-05-21  Bruno Haible  <bruno@clisp.org>
15768
15769         memcpy: Move AC_LIBOBJ invocations to module description.
15770         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15771         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15772         here...
15773         * modules/memcpy (configure.ac): ... to here.
15774
15775 2011-05-21  Bruno Haible  <bruno@clisp.org>
15776
15777         memcmp: Simplify autoconf macro.
15778         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15779         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15780         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15781
15782 2011-05-21  Bruno Haible  <bruno@clisp.org>
15783
15784         memcmp: Move AC_LIBOBJ invocations to module description.
15785         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15786         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15787         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15788         * modules/memcmp (configure.ac): ... to here.
15789         (Depends-on): Update conditions.
15790
15791 2011-05-21  Bruno Haible  <bruno@clisp.org>
15792
15793         memchr: Respect rules for use of AC_LIBOBJ.
15794         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15795         invocations from here...
15796         * modules/memchr (configure.ac): ... to here.
15797
15798 2011-05-21  Bruno Haible  <bruno@clisp.org>
15799
15800         mbtowc: Move AC_LIBOBJ invocations to module description.
15801         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15802         invocations from here...
15803         * modules/mbtowc (configure.ac): ... to here.
15804
15805 2011-05-21  Bruno Haible  <bruno@clisp.org>
15806
15807         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15808         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15809         gl_PREREQ_MBSRTOWCS invocations from here...
15810         * modules/mbsrtowcs (configure.ac): ... to here.
15811
15812 2011-05-21  Bruno Haible  <bruno@clisp.org>
15813
15814         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15815         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15816         gl_PREREQ_MBSNRTOWCS invocations from here...
15817         * modules/mbsnrtowcs (configure.ac): ... to here.
15818
15819 2011-05-21  Bruno Haible  <bruno@clisp.org>
15820
15821         mbsinit: Move AC_LIBOBJ invocations to module description.
15822         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15823         invocations from here...
15824         * modules/mbsinit (configure.ac): ... to here.
15825
15826 2011-05-21  Bruno Haible  <bruno@clisp.org>
15827
15828         mbrlen: Move AC_LIBOBJ invocations to module description.
15829         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15830         invocations from here...
15831         * modules/mbrlen (configure.ac): ... to here.
15832
15833 2011-05-21  Bruno Haible  <bruno@clisp.org>
15834
15835         mbrtowc: Respect rules for use of AC_LIBOBJ.
15836         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15837         invocations from here...
15838         * modules/mbrtowc (configure.ac): ... to here.
15839
15840 2011-05-21  Bruno Haible  <bruno@clisp.org>
15841
15842         malloc-*: Move AC_LIBOBJ invocations to module description.
15843         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15844         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15845         AC_LIBOBJ invocations from here...
15846         * modules/malloc-gnu (configure.ac): ... to here.
15847         * modules/malloc-posix (configure.ac): ... and here.
15848
15849 2011-05-21  Bruno Haible  <bruno@clisp.org>
15850
15851         lstat, openat: Respect rules for use of AC_LIBOBJ.
15852         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15853         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15854         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15855         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15856         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15857         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15858         here.
15859         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15860
15861 2011-05-21  Bruno Haible  <bruno@clisp.org>
15862
15863         lseek: Move AC_LIBOBJ invocations to module description.
15864         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15865         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15866         * modules/lseek (configure.ac): ... to here.
15867
15868 2011-05-21  Bruno Haible  <bruno@clisp.org>
15869
15870         linkat: Move AC_LIBOBJ invocations to module description.
15871         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15872         here...
15873         * modules/linkat (configure.ac): ... to here.
15874
15875 2011-05-21  Bruno Haible  <bruno@clisp.org>
15876
15877         link: Respect rules for use of AC_LIBOBJ.
15878         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15879         * modules/link (configure.ac): ... to here.
15880
15881 2011-05-21  Bruno Haible  <bruno@clisp.org>
15882
15883         lchown: Move AC_LIBOBJ invocations to module description.
15884         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15885         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15886         * modules/lchown (configure.ac): ... to here.
15887
15888 2011-05-21  Bruno Haible  <bruno@clisp.org>
15889
15890         iswctype: Move AC_LIBOBJ invocations to module description.
15891         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15892         here...
15893         * modules/iswctype (configure.ac): ... to here.
15894
15895 2011-05-21  Bruno Haible  <bruno@clisp.org>
15896
15897         iswblank: Move AC_LIBOBJ invocations to module description.
15898         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15899         here...
15900         * modules/iswblank (configure.ac): ... to here.
15901
15902 2011-05-21  Bruno Haible  <bruno@clisp.org>
15903
15904         atanl: Move AC_LIBOBJ invocations to module description.
15905         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15906         * modules/atanl (configure.ac): ... to here.
15907
15908 2011-05-21  Bruno Haible  <bruno@clisp.org>
15909
15910         acosl: Move AC_LIBOBJ invocations to module description.
15911         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15912         * modules/acosl (configure.ac): ... to here.
15913
15914 2011-05-21  Bruno Haible  <bruno@clisp.org>
15915
15916         asinl: Respect rules for use of AC_LIBOBJ.
15917         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15918         * modules/asinl (configure.ac): ... to here.
15919
15920 2011-05-21  Bruno Haible  <bruno@clisp.org>
15921
15922         tanl: Move AC_LIBOBJ invocations to module description.
15923         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15924         * modules/tanl (configure.ac): ... to here.
15925
15926 2011-05-21  Bruno Haible  <bruno@clisp.org>
15927
15928         cosl: Move AC_LIBOBJ invocations to module description.
15929         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15930         * modules/cosl (configure.ac): ... to here.
15931
15932 2011-05-21  Bruno Haible  <bruno@clisp.org>
15933
15934         sinl: Move AC_LIBOBJ invocations to module description.
15935         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15936         * modules/sinl (configure.ac): ... to here.
15937
15938 2011-05-21  Bruno Haible  <bruno@clisp.org>
15939
15940         logl: Move AC_LIBOBJ invocations to module description.
15941         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
15942         * modules/logl (configure.ac): ... to here.
15943
15944 2011-05-21  Bruno Haible  <bruno@clisp.org>
15945
15946         expl: Move AC_LIBOBJ invocations to module description.
15947         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
15948         * modules/expl (configure.ac): ... to here.
15949
15950 2011-05-21  Bruno Haible  <bruno@clisp.org>
15951
15952         roundl: Move AC_LIBOBJ invocations to module description.
15953         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
15954         * modules/roundl (configure.ac): ... to here.
15955
15956 2011-05-21  Bruno Haible  <bruno@clisp.org>
15957
15958         round: Move AC_LIBOBJ invocations to module description.
15959         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
15960         * modules/round (configure.ac): ... to here.
15961
15962 2011-05-21  Bruno Haible  <bruno@clisp.org>
15963
15964         roundf: Move AC_LIBOBJ invocations to module description.
15965         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
15966         * modules/roundf (configure.ac): ... to here.
15967
15968 2011-05-21  Bruno Haible  <bruno@clisp.org>
15969
15970         truncl: Move AC_LIBOBJ invocations to module description.
15971         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
15972         * modules/truncl (configure.ac): ... to here.
15973
15974 2011-05-21  Bruno Haible  <bruno@clisp.org>
15975
15976         trunc: Move AC_LIBOBJ invocations to module description.
15977         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
15978         * modules/trunc (configure.ac): ... to here.
15979
15980 2011-05-21  Bruno Haible  <bruno@clisp.org>
15981
15982         truncf: Move AC_LIBOBJ invocations to module description.
15983         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15984         * modules/truncf (configure.ac): ... to here.
15985
15986 2011-05-21  Bruno Haible  <bruno@clisp.org>
15987
15988         ceill: Move AC_LIBOBJ invocations to module description.
15989         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15990         * modules/ceill (configure.ac): ... to here.
15991
15992 2011-05-21  Bruno Haible  <bruno@clisp.org>
15993
15994         ceil: Move AC_LIBOBJ invocations to module description.
15995         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15996         * modules/ceil (configure.ac): ... to here.
15997
15998 2011-05-21  Bruno Haible  <bruno@clisp.org>
15999
16000         ceilf: Move AC_LIBOBJ invocations to module description.
16001         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
16002         * modules/ceilf (configure.ac): ... to here.
16003
16004 2011-05-21  Bruno Haible  <bruno@clisp.org>
16005
16006         floorl: Respect rules for use of AC_LIBOBJ.
16007         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
16008         * modules/floorl (configure.ac): ... to here.
16009
16010 2011-05-21  Bruno Haible  <bruno@clisp.org>
16011
16012         floor: Respect rules for use of AC_LIBOBJ.
16013         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
16014         * modules/floor (configure.ac): ... to here.
16015
16016 2011-05-21  Bruno Haible  <bruno@clisp.org>
16017
16018         floorf: Move AC_LIBOBJ invocations to module description.
16019         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
16020         * modules/floorf (configure.ac): ... to here.
16021
16022 2011-05-20  Bruno Haible  <bruno@clisp.org>
16023
16024         sqrtl: Respect rules for use of AC_LIBOBJ.
16025         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
16026         * modules/sqrtl (configure.ac): ... to here.
16027
16028 2011-05-20  Bruno Haible  <bruno@clisp.org>
16029
16030         ldexpl: Respect rules for use of AC_LIBOBJ.
16031         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
16032         * modules/ldexpl (configure.ac): ... to here.
16033
16034 2011-05-20  Bruno Haible  <bruno@clisp.org>
16035
16036         frexpl*: Respect rules for use of AC_LIBOBJ.
16037         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
16038         invocation from here...
16039         * modules/frexpl (configure.ac): ... to here.
16040         * modules/frexpl-nolibm (configure.ac): ... and here.
16041
16042 2011-05-20  Bruno Haible  <bruno@clisp.org>
16043
16044         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
16045         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
16046         invocation from here...
16047         * modules/frexp (configure.ac): ... to here.
16048         * modules/frexp-nolibm (configure.ac): ... and here.
16049
16050 2011-05-20  Bruno Haible  <bruno@clisp.org>
16051
16052         isnan: Respect rules for use of AC_LIBOBJ.
16053         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
16054         invocations here.
16055         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
16056         REPLACE_ISNAN.
16057         * modules/isnand (configure.ac): Likewise.
16058         * modules/isnanl (configure.ac): Likewise.
16059
16060 2011-05-20  Bruno Haible  <bruno@clisp.org>
16061
16062         isnanl*: Respect rules for use of AC_LIBOBJ.
16063         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
16064         invocation from here...
16065         * modules/isnanl (configure.ac): ... to here.
16066         * modules/isnanl-nolibm (configure.ac): ... and here.
16067
16068 2011-05-20  Bruno Haible  <bruno@clisp.org>
16069
16070         isnand*: Move AC_LIBOBJ invocations to module description.
16071         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
16072         invocation from here...
16073         * modules/isnand (configure.ac): ... to here.
16074         * modules/isnand-nolibm (configure.ac): ... and here.
16075
16076 2011-05-20  Bruno Haible  <bruno@clisp.org>
16077
16078         isnanf*: Move AC_LIBOBJ invocations to module description.
16079         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
16080         invocation from here...
16081         * modules/isnanf (configure.ac): ... to here.
16082         * modules/isnanf-nolibm (configure.ac): ... and here.
16083
16084 2011-05-20  Bruno Haible  <bruno@clisp.org>
16085
16086         isnan*: Separate the AC_LIBOBJ invocations.
16087         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
16088         AC_LIBOBJ invocation.
16089         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
16090         here.
16091         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
16092         AC_LIBOBJ invocation.
16093         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
16094         here.
16095         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
16096         AC_LIBOBJ invocation.
16097         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
16098         here.
16099         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
16100
16101 2011-05-08  Bruno Haible  <bruno@clisp.org>
16102
16103         isinf: Move AC_LIBOBJ invocations to module description.
16104         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
16105         * modules/isinf (configure.ac): ... to here.
16106
16107 2011-05-08  Bruno Haible  <bruno@clisp.org>
16108
16109         isfinite: Move AC_LIBOBJ invocations to module description.
16110         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
16111         * modules/isfinite (configure.ac): ... to here.
16112
16113 2011-05-08  Bruno Haible  <bruno@clisp.org>
16114
16115         isblank: Move AC_LIBOBJ invocations to module description.
16116         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
16117         here...
16118         * modules/isblank (configure.ac): ... to here.
16119
16120 2011-05-08  Bruno Haible  <bruno@clisp.org>
16121
16122         isapipe: Move AC_LIBOBJ invocations to module description.
16123         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
16124         gl_PREREQ_ISAPIPE invocations from here...
16125         * modules/isapipe (configure.ac): ... to here.
16126         (Depends-on): Update condition.
16127
16128 2011-05-08  Bruno Haible  <bruno@clisp.org>
16129
16130         ioctl: Move AC_LIBOBJ invocations to module description.
16131         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
16132         invocations from here...
16133         * modules/ioctl (configure.ac): ... to here.
16134         (Depends-on): Update condition.
16135
16136 2011-05-08  Bruno Haible  <bruno@clisp.org>
16137
16138         imaxdiv: Move AC_LIBOBJ invocations to module description.
16139         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
16140         invocations from here...
16141         * modules/imaxdiv (configure.ac): ... to here.
16142
16143 2011-05-08  Bruno Haible  <bruno@clisp.org>
16144
16145         imaxabs: Move AC_LIBOBJ invocations to module description.
16146         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
16147         invocations from here...
16148         * modules/imaxabs (configure.ac): ... to here.
16149
16150 2011-05-08  Bruno Haible  <bruno@clisp.org>
16151
16152         getaddrinfo: Move AC_LIBOBJ invocations to module description.
16153         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
16154         AC_LIBOBJ invocations from here...
16155         * modules/getaddrinfo (configure.ac): ... to here.
16156         (Depends-on): Add conditions.
16157
16158 2011-05-08  Bruno Haible  <bruno@clisp.org>
16159
16160         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16161         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
16162         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16163         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
16164         (gl_PREREQ_INET_PTON): ... from here.
16165         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
16166         gl_PREREQ_INET_PTON here.
16167         (Depends-on): Update condition.
16168
16169 2011-05-08  Bruno Haible  <bruno@clisp.org>
16170
16171         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16172         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
16173         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16174         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
16175         (gl_PREREQ_INET_NTOP): ... from here.
16176         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
16177         gl_PREREQ_INET_NTOP here.
16178         (Depends-on): Update condition.
16179
16180 2011-05-08  Bruno Haible  <bruno@clisp.org>
16181
16182         iconv_open: Move AC_LIBOBJ invocations to module description.
16183         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
16184         AC_LIBOBJ invocations from here...
16185         * modules/iconv_open (configure.ac): ... to here.
16186
16187 2011-05-08  Bruno Haible  <bruno@clisp.org>
16188
16189         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
16190         If module 'iconv_open' is among the main modules and module
16191         'iconv_open-utf' is among the tests dependencies, then
16192         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
16193         return the special iconv_t values. Therefore iconv() and iconv_close()
16194         must support these special iconv_t values, already in lib, not only in
16195         tests.
16196         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
16197         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
16198         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
16199         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
16200         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
16201         (Depends-on): Add the dependencies of iconv_open-utf.
16202         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
16203         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
16204         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
16205
16206 2011-05-08  Bruno Haible  <bruno@clisp.org>
16207
16208         group-member: Move AC_LIBOBJ invocations to module description.
16209         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
16210         gl_PREREQ_GROUP_MEMBER invocations from here...
16211         * modules/group-member (configure.ac): ... to here.
16212
16213 2011-05-08  Bruno Haible  <bruno@clisp.org>
16214
16215         grantpt: Move AC_LIBOBJ invocations to module description.
16216         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
16217         invocations from here...
16218         * modules/grantpt (configure.ac): ... to here.
16219
16220 2011-05-08  Bruno Haible  <bruno@clisp.org>
16221
16222         glob: Move AC_LIBOBJ invocations to module description.
16223         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
16224         from here...
16225         * modules/glob (configure.ac): ... to here.
16226
16227 2011-05-08  Bruno Haible  <bruno@clisp.org>
16228
16229         getusershell: Move AC_LIBOBJ invocations to module description.
16230         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
16231         Move AC_LIBOBJ invocation from here...
16232         * modules/getusershell (configure.ac): ... to here.
16233         (Depends-on): Update condition.
16234
16235 2011-05-08  Bruno Haible  <bruno@clisp.org>
16236
16237         gettimeofday: Move AC_LIBOBJ invocations to module description.
16238         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
16239         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
16240         gl_PREREQ_GETTIMEOFDAY invocations from here...
16241         * modules/gettimeofday (configure.ac): ... to here.
16242
16243 2011-05-08  Bruno Haible  <bruno@clisp.org>
16244
16245         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
16246         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
16247         just gl_FUNC_TZSET.
16248         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
16249         (gl_FUNC_TZSET_CLOBBER): Remove actions.
16250         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
16251         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
16252
16253 2011-05-08  Bruno Haible  <bruno@clisp.org>
16254
16255         getsubopt: Move AC_LIBOBJ invocations to module description.
16256         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
16257         gl_PREREQ_GETSUBOPT invocations from here...
16258         * modules/getsubopt (configure.ac): ... to here.
16259
16260 2011-05-08  Bruno Haible  <bruno@clisp.org>
16261
16262         getpass-gnu: Move AC_LIBOBJ invocations to module description.
16263         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
16264         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
16265         * modules/getpass-gnu (configure.ac): ... to here.
16266
16267 2011-05-08  Bruno Haible  <bruno@clisp.org>
16268
16269         getpass: Move AC_LIBOBJ invocations to module description.
16270         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
16271         gl_PREREQ_GETPASS invocations from here...
16272         * modules/getpass (configure.ac): ... to here.
16273
16274 2011-05-08  Bruno Haible  <bruno@clisp.org>
16275
16276         getpagesize: Move AC_LIBOBJ invocations to module description.
16277         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
16278         from here...
16279         * modules/getpagesize (configure.ac): ... to here.
16280
16281 2011-05-08  Bruno Haible  <bruno@clisp.org>
16282
16283         getopt: Move AC_LIBOBJ invocations to module description.
16284         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
16285         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
16286         invocations from here...
16287         * modules/getopt-gnu (configure.ac): ... to here.
16288         * modules/getopt-posix (configure.ac): ... and here.
16289         (Depends-on): Update condition.
16290
16291 2011-05-08  Bruno Haible  <bruno@clisp.org>
16292
16293         getopt, argp: Respect rules for use of AC_LIBOBJ.
16294         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
16295         (gl_REPLACE_GETOPT_ALWAYS): New macro.
16296         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
16297         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
16298
16299 2011-05-08  Bruno Haible  <bruno@clisp.org>
16300
16301         getlogin_r: Move AC_LIBOBJ invocations to module description.
16302         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
16303         gl_PREREQ_GETLOGIN_R invocations from here...
16304         * modules/getlogin_r (configure.ac): ... to here.
16305
16306 2011-05-08  Bruno Haible  <bruno@clisp.org>
16307
16308         getlogin: Move AC_LIBOBJ invocations to module description.
16309         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
16310         here...
16311         * modules/getlogin (configure.ac): ... to here.
16312
16313 2011-05-08  Bruno Haible  <bruno@clisp.org>
16314
16315         getloadavg: Move AC_LIBOBJ invocations to module description.
16316         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
16317         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
16318         * modules/getloadavg (configure.ac): ... to here.
16319
16320 2011-05-08  Bruno Haible  <bruno@clisp.org>
16321
16322         gethrxtime: Move AC_LIBOBJ invocations to module description.
16323         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
16324         LIB_GETHRXTIME from here...
16325         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
16326         invocations from here...
16327         * modules/gethrxtime (configure.ac): ... to here.
16328
16329 2011-05-08  Bruno Haible  <bruno@clisp.org>
16330
16331         gethostname: Move AC_LIBOBJ invocations to module description.
16332         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
16333         gl_PREREQ_GETHOSTNAME invocations from here...
16334         * modules/gethostname (configure.ac): ... to here.
16335
16336 2011-05-08  Bruno Haible  <bruno@clisp.org>
16337
16338         getgroups: Move AC_LIBOBJ invocations to module description.
16339         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
16340         here...
16341         * modules/getgroups (configure.ac): ... to here.
16342
16343 2011-05-08  Bruno Haible  <bruno@clisp.org>
16344
16345         getdtablesize: Move AC_LIBOBJ invocations to module description.
16346         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16347         invocation from here...
16348         * modules/getdtablesize (configure.ac): ... to here.
16349
16350 2011-05-08  Bruno Haible  <bruno@clisp.org>
16351
16352         getdomainname: Move AC_LIBOBJ invocations to module description.
16353         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16354         gl_PREREQ_GETDOMAINNAME invocations from here...
16355         * modules/getdomainname (configure.ac): ... to here.
16356
16357 2011-05-08  Bruno Haible  <bruno@clisp.org>
16358
16359         getline: Move AC_LIBOBJ invocations to module description.
16360         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16361         invocations from here...
16362         * modules/getline (configure.ac): ... to here.
16363
16364 2011-05-08  Bruno Haible  <bruno@clisp.org>
16365
16366         getline: Simplify.
16367         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16368         It's already handled through the module dependency.
16369
16370 2011-05-08  Bruno Haible  <bruno@clisp.org>
16371
16372         getdelim: Move AC_LIBOBJ invocations to module description.
16373         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16374         and gl_PREREQ_GETDELIM invocations from here...
16375         * modules/getdelim (configure.ac): ... to here.
16376         (Depends-on): Fix condition.
16377
16378 2011-05-08  Bruno Haible  <bruno@clisp.org>
16379
16380         getcwd: Move AC_LIBOBJ invocations to module description.
16381         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16382         invocations from here...
16383         * modules/getcwd (configure.ac): ... to here.
16384
16385 2011-05-08  Bruno Haible  <bruno@clisp.org>
16386
16387         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16388         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16389         here...
16390         * modules/getcwd-lgpl (configure.ac): ... to here.
16391
16392 2011-05-07  Bruno Haible  <bruno@clisp.org>
16393
16394         crypto/gc: Move AC_LIBOBJ invocations to module description.
16395         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16396         * modules/crypto/gc (configure.ac): ... to here.
16397
16398 2011-05-07  Bruno Haible  <bruno@clisp.org>
16399
16400         fwriting: Move AC_LIBOBJ invocations to module description.
16401         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
16402         here...
16403         * modules/fwriting (configure.ac): ... to here.
16404
16405 2011-05-07  Bruno Haible  <bruno@clisp.org>
16406
16407         fwritable: Move AC_LIBOBJ invocations to module description.
16408         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
16409         here...
16410         * modules/fwritable (configure.ac): ... to here.
16411
16412 2011-05-07  Bruno Haible  <bruno@clisp.org>
16413
16414         futimens: Move AC_LIBOBJ invocations to module description.
16415         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
16416         here...
16417         * modules/futimens (configure.ac): ... to here.
16418
16419 2011-05-07  Bruno Haible  <bruno@clisp.org>
16420
16421         ftruncate: Move AC_LIBOBJ invocations to module description.
16422         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
16423         gl_PREREQ_FTRUNCATE invocations from here...
16424         * modules/ftruncate (configure.ac): ... to here.
16425
16426 2011-05-07  Bruno Haible  <bruno@clisp.org>
16427
16428         fsync: Move AC_LIBOBJ invocations to module description.
16429         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
16430         invocations from here...
16431         * modules/fsync (configure.ac): ... to here.
16432
16433 2011-05-07  Bruno Haible  <bruno@clisp.org>
16434
16435         fsusage: Move AC_LIBOBJ invocations to module description.
16436         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
16437         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
16438         * modules/fsusage (configure.ac): ... to here.
16439
16440 2011-05-07  Bruno Haible  <bruno@clisp.org>
16441
16442         freopen: Move AC_LIBOBJ invocations to module description.
16443         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
16444         invocations from here...
16445         * modules/freopen (configure.ac): ... to here.
16446
16447 2011-05-07  Bruno Haible  <bruno@clisp.org>
16448
16449         free: Move AC_LIBOBJ invocations to module description.
16450         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
16451         invocations from here...
16452         * modules/free (configure.ac): ... to here.
16453
16454 2011-05-07  Bruno Haible  <bruno@clisp.org>
16455
16456         freadable: Move AC_LIBOBJ invocations to module description.
16457         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
16458         here...
16459         * modules/freadable (configure.ac): ... to here.
16460
16461 2011-05-07  Bruno Haible  <bruno@clisp.org>
16462
16463         fpurge: Move AC_LIBOBJ invocations to module description.
16464         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
16465         invocations from here...
16466         * modules/fpurge (configure.ac): ... to here.
16467
16468 2011-05-07  Bruno Haible  <bruno@clisp.org>
16469
16470         fpending: Move AC_LIBOBJ invocations to module description.
16471         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
16472         gl_FUNC_FPENDING.
16473         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
16474         invocations from here...
16475         * modules/fpending (configure.ac): ... to here.
16476
16477 2011-05-07  Bruno Haible  <bruno@clisp.org>
16478
16479         fopen: Move AC_LIBOBJ invocations to module description.
16480         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
16481         invocations from here...
16482         * modules/fopen (configure.ac): ... to here.
16483
16484 2011-05-07  Bruno Haible  <bruno@clisp.org>
16485
16486         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
16487         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
16488         gl_FUNC_FNMATCH_POSIX.
16489         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
16490         invocations from here...
16491         * modules/fnmatch (configure.ac): ... to here.
16492         * modules/fnmatch-gnu (configure.ac): ... and here.
16493
16494 2011-05-07  Bruno Haible  <bruno@clisp.org>
16495
16496         flock: Move AC_LIBOBJ invocations to module description.
16497         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
16498         invocations from here...
16499         * modules/flock (configure.ac): ... to here.
16500
16501 2011-05-07  Bruno Haible  <bruno@clisp.org>
16502
16503         fileblocks: Move AC_LIBOBJ invocations to module description.
16504         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
16505         gl_PREREQ_FILEBLOCKS invocations from here...
16506         * modules/fileblocks (configure.ac): ... to here.
16507
16508 2011-05-06  Bruno Haible  <bruno@clisp.org>
16509
16510         fflush: Move AC_LIBOBJ invocations to module description.
16511         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
16512         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
16513         invocations from here...
16514         * modules/fflush (configure.ac): ... to here.
16515
16516 2011-05-06  Bruno Haible  <bruno@clisp.org>
16517
16518         fdopendir: Move AC_LIBOBJ invocations to module description.
16519         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
16520         here...
16521         * modules/fdopendir (configure.ac): ... to here.
16522         (Depends-on): Improve conditions.
16523
16524 2011-05-06  Bruno Haible  <bruno@clisp.org>
16525
16526         _Exit: Move AC_LIBOBJ invocations to module description.
16527         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
16528         invocations from here...
16529         * modules/_Exit (configure.ac): ... to here.
16530
16531 2011-05-21  Bruno Haible  <bruno@clisp.org>
16532
16533         euidaccess: Respect rules for use of AC_LIBOBJ.
16534         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16535         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
16536         from here...
16537         * modules/euidaccess (configure.ac): ... to here.
16538
16539 2011-05-06  Bruno Haible  <bruno@clisp.org>
16540
16541         error: Move AC_LIBOBJ invocations to module description.
16542         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
16543         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
16544         invocations from here...
16545         * modules/error (configure.ac): ... to here.
16546
16547 2011-05-06  Bruno Haible  <bruno@clisp.org>
16548
16549         duplocale: Move AC_LIBOBJ invocations to module description.
16550         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
16551         gl_PREREQ_DUPLOCALE invocations from here...
16552         * modules/duplocale (configure.ac): ... to here.
16553
16554 2011-05-05  Bruno Haible  <bruno@clisp.org>
16555
16556         dirfd: Move AC_LIBOBJ invocations to module description.
16557         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
16558         gl_FUNC_DIRFD.
16559         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
16560         here...
16561         * modules/dirfd (configure.ac): ... to here.
16562         (Depends-on): Fix condition.
16563
16564 2011-05-05  Bruno Haible  <bruno@clisp.org>
16565
16566         chown: Respect rules for use of AC_LIBOBJ.
16567         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
16568         * modules/chown (configure.ac): ... to here.
16569
16570 2011-05-05  Bruno Haible  <bruno@clisp.org>
16571
16572         chdir-long: Move AC_LIBOBJ invocations to module description.
16573         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
16574         gl_PREREQ_CHDIR_LONG invocations from here...
16575         * modules/chdir-long (configure.ac): ... to here.
16576
16577 2011-05-05  Bruno Haible  <bruno@clisp.org>
16578
16579         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
16580         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
16581         from here...
16582         * modules/canonicalize-lgpl (configure.ac): ... to here.
16583
16584 2011-05-05  Bruno Haible  <bruno@clisp.org>
16585
16586         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
16587         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
16588         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
16589         REPLACE_CALLOC.
16590         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
16591         * modules/calloc-gnu (configure.ac): Likewise.
16592
16593 2011-05-05  Bruno Haible  <bruno@clisp.org>
16594
16595         btowc: Move AC_LIBOBJ invocations to module description.
16596         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
16597         invocations from here...
16598         * modules/btowc (configure.ac): ... to here.
16599
16600 2011-05-21  Bruno Haible  <bruno@clisp.org>
16601
16602         atexit: Move AC_LIBOBJ invocations to module description.
16603         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
16604         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
16605         here...
16606         * modules/atexit (configure.ac): ... to here.
16607
16608 2011-05-05  Bruno Haible  <bruno@clisp.org>
16609
16610         atoll: Move AC_LIBOBJ invocations to module description.
16611         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
16612         invocations from here...
16613         * modules/atoll (configure.ac): ... to here.
16614
16615 2011-05-05  Bruno Haible  <bruno@clisp.org>
16616
16617         argz: Move AC_LIBOBJ invocations to module description.
16618         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
16619         * modules/argz (configure.ac): ... to here.
16620
16621 2011-05-05  Bruno Haible  <bruno@clisp.org>
16622
16623         alphasort: Move AC_LIBOBJ invocations to module description.
16624         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
16625         gl_PREREQ_ALPHASORT invocations from here...
16626         * modules/alphasort (configure.ac): ... to here.
16627
16628 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16629
16630         verify: new macro verify_expr; verify_true deprecated
16631         * NEWS: Mention this.
16632         * doc/verify.texi (Compile-time Assertions): Document this.
16633         * lib/verify.h (verify_true): Deprecate.
16634         (verify_expr): New macro.
16635         * tests/test-verify.c (function): Test verify_expr.
16636
16637 2011-06-14  Jim Meyering  <meyering@redhat.com>
16638
16639         init.sh: give more portable redirection-related advice in a comment
16640         * tests/init.sh (stderr_fileno_): Update the advice in comments.
16641         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
16642         for lots of discussion.  Stefano Lattarini suggested the solution
16643         of putting "9>&2" after the command.  Reported by Bruno Haible.
16644
16645 2011-06-13  Bruno Haible  <bruno@clisp.org>
16646
16647         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
16648         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
16649         'none'.
16650
16651 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16652
16653         ftoastr: use strtof only if HAVE_STRTOF
16654         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
16655         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
16656         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
16657         * modules/ftoastr (configure.ac): Check for strtof.
16658
16659 2011-06-13  Bruno Haible  <bruno@clisp.org>
16660
16661         gnulib-tool: Addendum to 2011-06-08 commit.
16662         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
16663         and --witness-c-macro have been given, augment AM_CPPFLAGS.
16664
16665 2011-06-13  Bruno Haible  <bruno@clisp.org>
16666
16667         fseeko: Provide a non-inline replacement of fseek().
16668         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
16669         * modules/fseeko (Depends-on): Add fseek.
16670         * modules/fseek (License): Change to LGPLv2+.
16671
16672 2011-06-13  Bruno Haible  <bruno@clisp.org>
16673
16674         ftello: Provide a non-inline replacement of ftell().
16675         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
16676         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
16677         not have ftello() (such as on mingw).
16678         * modules/ftello (Depends-on): Add ftell.
16679         * modules/ftell (License): Change to LGPLv2+.
16680
16681 2011-05-07  Bruno Haible  <bruno@clisp.org>
16682
16683         ftell: Move AC_LIBOBJ invocations to module description.
16684         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
16685         * modules/ftell (configure.ac): ... to here.
16686
16687 2011-05-07  Bruno Haible  <bruno@clisp.org>
16688
16689         ftello: Respect rules for use of AC_LIBOBJ.
16690         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
16691         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
16692         here...
16693         * modules/ftello (configure.ac): ... to here.
16694
16695 2011-05-07  Bruno Haible  <bruno@clisp.org>
16696
16697         fseeko: Simplify.
16698         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
16699         (gl_FUNC_FSEEKO): Inline it here.
16700
16701 2011-05-07  Bruno Haible  <bruno@clisp.org>
16702
16703         fseek: Move AC_LIBOBJ invocations to module description.
16704         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
16705         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16706         * modules/fseek (configure.ac): ... to here.
16707
16708 2011-05-07  Bruno Haible  <bruno@clisp.org>
16709
16710         fseek: Respect rules for use of AC_LIBOBJ.
16711         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
16712         here...
16713         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
16714
16715 2011-05-07  Bruno Haible  <bruno@clisp.org>
16716
16717         fseeko: Respect rules for use of AC_LIBOBJ.
16718         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
16719         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
16720         here...
16721         * modules/fseeko (configure.ac): ... to here.
16722
16723 2011-06-13  Bruno Haible  <bruno@clisp.org>
16724
16725         gnulib-tool: Allow comments in the 'Depends-on' section.
16726         * doc/gnulib.texi (Module description): Mention comment syntax in the
16727         Depends-on section.
16728         * gnulib-tool (func_get_dependencies): Filter out comment lines.
16729
16730 2011-06-13  Bruno Haible  <bruno@clisp.org>
16731
16732         file-set.h: guard __attibute__ use, now that it's not always defined
16733         * lib/file-set.h (record_file): Use __attribute__ only with compiler
16734         versions that support it.  This fixes a coreutils build failure with
16735         the vendor cc on HP-UX 11.31.
16736
16737 2011-06-12  Bruno Haible  <bruno@clisp.org>
16738
16739         acl: Add support for HP-UX >= 11.11 JFS ACLs.
16740         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
16741         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
16742         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
16743         (acl, aclsort): New declarations.
16744         (aclv_nontrivial): New declaration.
16745         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
16746         (file_has_acl): Read also the second kind of HP-UX ACLs.
16747         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
16748         kind of HP-UX ACLs if the first kind fails.
16749         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
16750         second kind of HP-UX ACLs.
16751         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
16752         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
16753         agree.
16754         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16755         hpuxjfs.
16756         Handle hpuxjfs.
16757         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16758         hpuxjfs.
16759         Handle hpuxjfs.
16760         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16761         (func_test_same_acls): Use both lsacl and getacl.
16762         Handle hpuxjfs.
16763         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16764         (func_test_same_acls): Use both lsacl and getacl.
16765         Handle hpuxjfs.
16766
16767 2011-06-12  Bruno Haible  <bruno@clisp.org>
16768
16769         acl: Complete the 2010-08-10 fix.
16770         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16771         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16772         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16773         explicitly.
16774         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16775         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16776
16777 2011-06-12  Bruno Haible  <bruno@clisp.org>
16778
16779         spawn-pipe tests: Comments.
16780         * tests/test-spawn-pipe-child.c (main): Update comment.
16781         Reported by James Youngman <jay@gnu.org>.
16782
16783 2011-06-11  James Youngman  <jay@gnu.org>
16784
16785         New module 'stat-size'.
16786         * modules/stat-size: New module.  Provides macros for accessing
16787         file size information in instances of struct stat.  Depends on the
16788         fileblocks module because it calls st_blocks.
16789         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16790         * doc/gnulib.texi: Include stat-size.texi.
16791         * doc/stat-size.texi: Documentation for this module.
16792         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16793         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16794         AC_STRUCT_ST_BLOCKS.
16795
16796 2011-06-09  Bruno Haible  <bruno@clisp.org>
16797
16798         thread: Support pthreads-win32.
16799         * lib/glthread/thread.h (gl_thread_self): Define differently on
16800         pthreads-win32.
16801         (gl_null_thread): New declaration.
16802         (gl_thread_self_pointer): New macro.
16803         * lib/glthread/thread.c (gl_null_thread): New constant.
16804         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16805         gl_thread_self.
16806         * tests/test-tls.c: Likewise.
16807         Suggested by Paul Eggert. Reported by Eric Blake.
16808
16809 2011-06-09  Bruno Haible  <bruno@clisp.org>
16810
16811         thread: Fix confusion between NULL and 0.
16812         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16813         Reported by Paul Eggert.
16814
16815 2011-06-09  Bruno Haible  <bruno@clisp.org>
16816
16817         spawn-pipe tests: Avoid test failure on HP-UX 11.
16818         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16819         is closed.
16820
16821 2011-06-09  Bruno Haible  <bruno@clisp.org>
16822
16823         acl tests: Fix compilation error on HP-UX 11.
16824         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16825
16826 2011-06-09  Bruno Haible  <bruno@clisp.org>
16827
16828         rmdir: Avoid test failure on HP-UX 10.20.
16829         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16830         EEXIST.
16831
16832 2011-06-08  Eric Blake  <eblake@redhat.com>
16833
16834         perror: fix test on mingw
16835         * modules/perror-tests (Depends-on): Add dup2.
16836
16837         strerror_r-posix: fix on MacOS
16838         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16839         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16840         logic bug.
16841         * lib/strerror_r.c (strerror_r): Fix the bug.
16842         * lib/strerror.c (strerror): Likewise.
16843         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16844         problem.
16845         * doc/posix-functions/strerror.texi (strerror): Likewise.
16846         * doc/posix-functions/perror.texi (perror): Likewise.
16847         * tests/test-strerror.c (main): Enhance test.
16848         * tests/test-strerror_r.c (main): Likewise.
16849
16850 2011-06-08  Bruno Haible  <bruno@clisp.org>
16851
16852         gnulib-tool: Better isolation between different gnulib-tool invocations.
16853         * gnulib-tool: New option --witness-c-macro.
16854         (witness_c_macro): New variable.
16855         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16856         AM_CPPFLAGS define it as a C macro.
16857         (func_emit_tests_Makefile_am): Likewise.
16858         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16859         read it from there.
16860         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16861         m4_define, not AC_DEFUN.
16862         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16863         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16864         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16865         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16866         s|...|...|, to substitute the values of the GNULIB_* module indicator
16867         variables.
16868         * modules/dirent (Makefile.am): Likewise.
16869         * modules/fcntl-h (Makefile.am): Likewise.
16870         * modules/iconv-h (Makefile.am): Likewise.
16871         * modules/langinfo (Makefile.am): Likewise.
16872         * modules/locale (Makefile.am): Likewise.
16873         * modules/math (Makefile.am): Likewise.
16874         * modules/netdb (Makefile.am): Likewise.
16875         * modules/poll-h (Makefile.am): Likewise.
16876         * modules/pty (Makefile.am): Likewise.
16877         * modules/search (Makefile.am): Likewise.
16878         * modules/signal (Makefile.am): Likewise.
16879         * modules/spawn (Makefile.am): Likewise.
16880         * modules/stdio (Makefile.am): Likewise.
16881         * modules/stdlib (Makefile.am): Likewise.
16882         * modules/string (Makefile.am): Likewise.
16883         * modules/sys_ioctl (Makefile.am): Likewise.
16884         * modules/sys_select (Makefile.am): Likewise.
16885         * modules/sys_socket (Makefile.am): Likewise.
16886         * modules/sys_stat (Makefile.am): Likewise.
16887         * modules/sys_times (Makefile.am): Likewise.
16888         * modules/sys_utsname (Makefile.am): Likewise.
16889         * modules/sys_wait (Makefile.am): Likewise.
16890         * modules/termios (Makefile.am): Likewise.
16891         * modules/time (Makefile.am): Likewise.
16892         * modules/unistd (Makefile.am): Likewise.
16893         * modules/wchar (Makefile.am): Likewise.
16894
16895 2011-06-08  Eric Blake  <eblake@redhat.com>
16896
16897         strerror: simplify replacement
16898         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16899         * modules/strerror (configure.ac): No prereqs needed here...
16900         * modules/strerror-override (configure.ac): ...but this needs it.
16901         (Files): Add file for needed prereq macro.
16902
16903 2011-06-08  Bruno Haible  <bruno@clisp.org>
16904
16905         strerror_r-posix: Tweaks.
16906         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16907         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16908         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16909         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16910         (gl_FUNC_STRERROR_R): ... to here.
16911         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16912
16913 2011-06-07  Eric Blake  <eblake@redhat.com>
16914
16915         perror: document fixed bugs
16916         * doc/posix-functions/perror.texi (perror): Document recent
16917         patches.
16918
16919 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16920
16921         stat-time: get_stat_birthtime failure is better-defined
16922         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16923         return a timestamp whose tv_sec and tv_nsec values are both -1.
16924         Previously, the spec said only that the tv_nsec value was negative.
16925         This upward-compatible change simplifies GNU tar a bit.
16926
16927 2011-06-07  Eric Blake  <eblake@redhat.com>
16928
16929         strerror_r-posix: work around cygwin 1.7.9
16930         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16931         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16932         bug without replacing strerror_r.
16933         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16934         strerror_r is buggy, but without requiring strerror_r compilation.
16935         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16936
16937         test-perror: relax test to ignore cygwin bug
16938         * tests/test-perror2.c (main): Relax test on requiring detection
16939         of stream errors, and use unbuffered stream.
16940         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
16941         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16942         * doc/posix-functions/fputc.texi (fputc): Likewise.
16943         * doc/posix-functions/fputs.texi (fputs): Likewise.
16944         * doc/posix-functions/fputws.texi (fputws): Likewise.
16945         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16946         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
16947         * doc/posix-functions/getopt.texi (getopt): Likewise.
16948         * doc/posix-functions/perror.texi (perror): Likewise.
16949         * doc/posix-functions/printf.texi (printf): Likewise.
16950         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
16951         * doc/posix-functions/psignal.texi (psignal): Likewise.
16952         * doc/posix-functions/putc.texi (putc): Likewise.
16953         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
16954         Likewise.
16955         * doc/posix-functions/putchar.texi (putchar): Likewise.
16956         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
16957         Likewise.
16958         * doc/posix-functions/puts.texi (puts): Likewise.
16959         * doc/posix-functions/putwc.texi (putwc): Likewise.
16960         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
16961         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16962         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16963         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16964         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16965         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16966         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16967         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16968
16969 2011-05-22  Bruno Haible  <bruno@clisp.org>
16970
16971         strerror: Move AC_LIBOBJ invocations to module description.
16972         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
16973         gl_PREREQ_STRERROR invocations from here...
16974         * modules/strerror (configure.ac): ... to here.
16975
16976 2011-05-21  Bruno Haible  <bruno@clisp.org>
16977
16978         perror: Use common idiom.
16979         * modules/perror (configure.ac): Reorder statements.
16980
16981 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16982
16983         tests: fix usage message in 'mktempd_'
16984         * tests/init.sh (mktempd_): In the usage message, use literal
16985         'mktempd_', not '$ME' (which is even undefined), as the name of
16986         the subroutine.
16987
16988 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16989
16990         tests init: new function 'fatal_', for hard errors
16991         Before this patch, the only way offered by tests/init.sh to
16992         properly signal a hard error was the `framework_failure_'
16993         function.  But the error message issued by that function,
16994         as its name would suggest, refers to a set-up failure in the
16995         testsuite, while hard errors can obviously also be due to
16996         other reasons.  The best way to fix this inconsistency is to
16997         introduce a new function with a more general error message.
16998         * tests/init.sh (fatal_): New function.
16999
17000 2011-06-06  Eric Blake  <eblake@redhat.com>
17001
17002         canonicalize-lgpl: use common idiom
17003         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
17004         over newer POSIX -Rf.
17005         Reported by Bruno Haible.
17006
17007         canonicalize-lgpl: work around AIX realpath bug
17008         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
17009         * doc/posix-functions/realpath.texi (realpath): Document it.
17010         Reported by Bruno Haible.
17011
17012         strerror: work around FreeBSD bug
17013         * lib/strerror.c (strerror): Special case 0.
17014         Reported by Bruno Haible.
17015
17016         strerror-override: avoid bloating errno module
17017         * modules/errno (Files, configure.ac): Move replacement strings...
17018         * modules/strerror-override: ...to new module.
17019         * modules/strerror (Depends-on): Add strerror-override.
17020         * modules/strerror_r-posix (Depends-on): Likewise.
17021         * MODULES.html.sh: Document new module.
17022         Reported by Bruno Haible.
17023
17024 2011-06-06  Bruno Haible  <bruno@clisp.org>
17025
17026         spawn-pipe tests: Rename program.
17027         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
17028         * tests/test-spawn-pipe-child.c: Update comment.
17029         * tests/test-spawn-pipe.sh: Update.
17030         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
17031
17032         spawn-pipe tests: Link the child program only against libc.
17033         * tests/test-spawn-pipe-child.c: New file, extracted from
17034         tests/test-spawn-pipe.c.
17035         (main): Expect only one argument.
17036         (is_open): New function, copied from tests/test-pipe.c.
17037         * tests/test-spawn-pipe.c: Don't include <errno.h>.
17038         (child_main): Remove function.
17039         (test_pipe): Pass only one argument to the child program.
17040         (main): Remove child process code. Expect the child program's name as
17041         first argument.
17042         * tests/test-spawn-pipe.sh: Pass the child program's name as first
17043         argument.
17044         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
17045         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
17046         test-spawn-pipe-child against no libraries.
17047
17048 2011-06-06  Bruno Haible  <bruno@clisp.org>
17049
17050         careadlinkat: Avoid mismatch between ssize_t and int.
17051         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
17052         * lib/careadlinkat.c (careadlinkatcwd): Define always.
17053
17054 2011-06-06  Jim Meyering  <meyering@redhat.com>
17055
17056         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
17057         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
17058         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
17059
17060 2011-06-05  Bruno Haible  <bruno@clisp.org>
17061
17062         ansi-c++-opt: Interoperability with libtool.
17063         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
17064         set the variable to "no", not to ":".
17065         * NEWS: Mention the change.
17066
17067 2011-06-05  Bruno Haible  <bruno@clisp.org>
17068
17069         acl: Fix test failure on AIX 7.
17070         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
17071         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
17072
17073 2011-06-05  Bruno Haible  <bruno@clisp.org>
17074
17075         pipe-filter-ii: Fix test failure on AIX and IRIX.
17076         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
17077         with EAGAIN, retry with a smaller buffer size.
17078
17079 2011-06-05  Bruno Haible  <bruno@clisp.org>
17080
17081         localename: Fix link dependencies.
17082         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
17083         * modules/localename-tests (Makefile.am): Link test-localename with
17084         $(LIBTHREAD).
17085
17086 2011-06-05  Bruno Haible  <bruno@clisp.org>
17087
17088         error: Avoid gcc warning.
17089         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
17090
17091 2011-06-05  Bruno Haible  <bruno@clisp.org>
17092
17093         unsetenv: Avoid gcc warning.
17094         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
17095
17096 2011-06-05  Bruno Haible  <bruno@clisp.org>
17097
17098         setenv: Avoid gcc warning.
17099         * lib/setenv.c (setenv): Provide declaration if system lacks it.
17100
17101 2011-06-05  Bruno Haible  <bruno@clisp.org>
17102
17103         sys_select: Ensure memset is declared also on AIX 7.
17104         * lib/sys_select.in.h: Include <string.h> also on AIX.
17105         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
17106         self-contained also on AIX 7.1.
17107
17108 2011-06-04  Jim Meyering  <meyering@redhat.com>
17109
17110         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
17111         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
17112         function name, "error".
17113         (_gl_translatable_diag_func_re): New configurable variable.
17114
17115 2011-06-04  Bruno Haible  <bruno@clisp.org>
17116
17117         getopt: Avoid gcc warning.
17118         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
17119
17120 2011-06-04  Bruno Haible  <bruno@clisp.org>
17121
17122         strerror_r: Fix comments.
17123         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
17124         commit.
17125
17126 2011-06-04  Bruno Haible  <bruno@clisp.org>
17127
17128         perror: Fix compilation error.
17129         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
17130         Undefine fprintf, not sprintf.
17131         * modules/perror (Depends-on): Remove intprops, verify.
17132
17133 2011-06-04  Bruno Haible  <bruno@clisp.org>
17134
17135         setlocale: Enable replacement on Cygwin 1.5.
17136         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
17137         Cygwin 1.5.x.
17138         * doc/posix-functions/setlocale.texi: Mention that the problem with the
17139         LC_CTYPE category also exists on Cygwin 1.5.x.
17140
17141 2011-06-04  Bruno Haible  <bruno@clisp.org>
17142
17143         strerror-override: Don't disable symbol renamings.
17144         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
17145         * lib/strerror-override.c: Include config.h.
17146         (strerror_override): Don't undefine.
17147
17148 2011-06-03  Bruno Haible  <bruno@clisp.org>
17149
17150         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
17151         * lib/localename.h: Update copyright header.
17152         * lib/localename.c: Likewise.
17153         * lib/relocatable.h: Likewise.
17154         * lib/relocatable.c: Likewise.
17155
17156 2011-06-02  Bruno Haible  <bruno@clisp.org>
17157
17158         doc: Fix a module name.
17159         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
17160
17161 2011-06-02  Bruno Haible  <bruno@clisp.org>
17162
17163         pipe2: Remove dependency on 'nonblocking' module.
17164         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
17165         O_NONBLOCK is defined by gnulib.
17166         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
17167         is zero.
17168         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
17169         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
17170         defined by gnulib.
17171         (get_nonblocking_flag): New function.
17172         (main): Test O_NONBLOCK flag only if it is nonzero.
17173         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
17174
17175 2011-06-03  Jim Meyering  <meyering@redhat.com>
17176
17177         maint: three new prohibit-header-without-use rules
17178         Prohibit use of cloexec.h, posixver.h, same.h without use.
17179         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
17180         (sc_prohibit_posixver_without_use): Likewise.
17181         (sc_prohibit_same_without_use): Likewise.
17182
17183 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17184
17185         allocator: 'die' routine is now given requested size
17186         * lib/allocator.h (struct allocator.die): New size arg.
17187         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
17188         If the actual problem is an ssize_t limitation, not a size_t or
17189         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
17190
17191 2011-06-01  Eric Blake  <eblake@redhat.com>
17192
17193         strerror: drop strerror_r dependency
17194         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
17195         * lib/strerror-override.c (strerror_override): ...to new file.
17196         * lib/strerror-override.h: Add prototype.
17197         * lib/strerror-impl.h: Delete.
17198         * lib/strerror.c (strerror): New implementation.
17199         * modules/errno (Files): Add new files.
17200         (configure.ac): Compile new file as appropriate.
17201         * modules/strerror (Files): Drop unused file.
17202         (Depends-on): Drop strerror_r-posix.
17203         * MODULES.html.sh: Document strerror_r-posix.
17204         Requested by Sam Steingold.
17205
17206         perror: call strerror_r directly
17207         * modules/perror (Files): Drop strerror-impl.h.
17208         * lib/perror.c (perror): Use our own stack buffer, rather than
17209         calling a wrapper that uses static storage.
17210         * doc/posix-functions/perror.texi (perror): Document a limitation
17211         of our replacement.
17212
17213         strerror_r: fix includes for FreeBSD
17214         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
17215         since we use abort on some platforms.
17216         Reported by Matthias Bolte.
17217
17218 2011-05-31  Bruno Haible  <bruno@clisp.org>
17219
17220         Fix link errors in tests: openat-die uses gettext-h.
17221         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
17222         against $(LIBINTL).
17223         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
17224         against $(LIBINTL).
17225         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
17226         $(LIBINTL).
17227         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
17228         against $(LIBINTL).
17229         * modules/linkat-tests (Makefile.am): Link test-linkat against
17230         $(LIBINTL).
17231         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
17232         $(LIBINTL).
17233         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17234         against $(LIBINTL).
17235         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
17236         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
17237         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
17238         $(LIBINTL).
17239         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
17240         $(LIBINTL).
17241         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
17242         $(LIBINTL).
17243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17244
17245 2011-05-31  Bruno Haible  <bruno@clisp.org>
17246
17247         Fix link errors in tests: wait-process uses gettext-h.
17248         * modules/nonblocking-pipe-tests (Makefile.am): Set
17249         test_nonblocking_pipe_main_LDADD.
17250         * modules/nonblocking-socket-tests (Makefile.am): Link
17251         test-nonblocking-socket-main against $(LIBINTL).
17252         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17253
17254 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17255
17256         assert-h: work around 'verify' incompatibility
17257         * lib/verify.h: Use @...@ directives, not ifdef.
17258         * modules/assert-h (assert.h): Implement the directives.
17259         (assert.h): Substitute the symbol-prefix more consistently.
17260
17261 2011-05-29  Jim Meyering  <meyering@redhat.com>
17262
17263         trim: remove three superfluous assignments
17264         * lib/trim.c (trim2): Remove three superfluous assignments
17265         and correct brace positioning.
17266
17267 2011-05-29  Bruno Haible  <bruno@clisp.org>
17268
17269         wctype-h: Avoid namespace pollution on Solaris 2.6.
17270         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
17271         identifiers.
17272         * doc/posix-headers/wctype.texi: Mention the problem.
17273         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17274
17275 2011-05-28  Jim Meyering  <meyering@redhat.com>
17276
17277         parse-datetime.y: accommodate -Wstrict-overflow
17278         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
17279         placate -Wstrict-overflow.
17280
17281         trim: avoid a warning from -O2 -Wstrict-overflow
17282         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
17283
17284 2011-05-29  Bruno Haible  <bruno@clisp.org>
17285
17286         gnulib-tool: Fix bug in yesterday's commit.
17287         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
17288         twice.
17289
17290 2011-05-29  Bruno Haible  <bruno@clisp.org>
17291
17292         Allow multiple gnulib generated include files to be combined.
17293         * gnulib-tool (func_compute_include_guard_prefix): New function.
17294         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
17295         ${gl_include_guard_prefix} references.
17296         (func_import, func_create_testdir): Invoke
17297         func_compute_include_guard_prefix.
17298         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
17299         * lib/ctype.in.h: Likewise.
17300         * lib/dirent.in.h: Likewise.
17301         * lib/errno.in.h: Likewise.
17302         * lib/fcntl.in.h: Likewise.
17303         * lib/float.in.h: Likewise.
17304         * lib/getopt.in.h: Likewise.
17305         * lib/iconv.in.h: Likewise.
17306         * lib/langinfo.in.h: Likewise.
17307         * lib/locale.in.h: Likewise.
17308         * lib/math.in.h: Likewise.
17309         * lib/netdb.in.h: Likewise.
17310         * lib/netinet_in.in.h: Likewise.
17311         * lib/poll.in.h: Likewise.
17312         * lib/pthread.in.h: Likewise.
17313         * lib/pty.in.h: Likewise.
17314         * lib/sched.in.h: Likewise.
17315         * lib/se-selinux.in.h: Likewise.
17316         * lib/search.in.h: Likewise.
17317         * lib/signal.in.h: Likewise.
17318         * lib/spawn.in.h: Likewise.
17319         * lib/stdarg.in.h: Likewise.
17320         * lib/stddef.in.h: Likewise.
17321         * lib/stdint.in.h: Likewise.
17322         * lib/stdio.in.h: Likewise.
17323         * lib/stdlib.in.h: Likewise.
17324         * lib/string.in.h: Likewise.
17325         * lib/strings.in.h: Likewise.
17326         * lib/sys_file.in.h: Likewise.
17327         * lib/sys_ioctl.in.h: Likewise.
17328         * lib/sys_select.in.h: Likewise.
17329         * lib/sys_socket.in.h: Likewise.
17330         * lib/sys_stat.in.h: Likewise.
17331         * lib/sys_time.in.h: Likewise.
17332         * lib/sys_times.in.h: Likewise.
17333         * lib/sys_uio.in.h: Likewise.
17334         * lib/sys_utsname.in.h: Likewise.
17335         * lib/sys_wait.in.h: Likewise.
17336         * lib/sysexits.in.h: Likewise.
17337         * lib/termios.in.h: Likewise.
17338         * lib/time.in.h: Likewise.
17339         * lib/unistd.in.h: Likewise.
17340         * lib/wchar.in.h: Likewise.
17341         * lib/wctype.in.h: Likewise.
17342         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
17343         * modules/ctype (Makefile.am): Likewise.
17344         * modules/dirent (Makefile.am): Likewise.
17345         * modules/errno (Makefile.am): Likewise.
17346         * modules/fcntl-h (Makefile.am): Likewise.
17347         * modules/float (Makefile.am): Likewise.
17348         * modules/getopt-posix (Makefile.am): Likewise.
17349         * modules/iconv-h (Makefile.am): Likewise.
17350         * modules/langinfo (Makefile.am): Likewise.
17351         * modules/locale (Makefile.am): Likewise.
17352         * modules/math (Makefile.am): Likewise.
17353         * modules/netdb (Makefile.am): Likewise.
17354         * modules/netinet_in (Makefile.am): Likewise.
17355         * modules/poll-h (Makefile.am): Likewise.
17356         * modules/pthread (Makefile.am): Likewise.
17357         * modules/pty (Makefile.am): Likewise.
17358         * modules/sched (Makefile.am): Likewise.
17359         * modules/search (Makefile.am): Likewise.
17360         * modules/selinux-h (Makefile.am): Likewise.
17361         * modules/signal (Makefile.am): Likewise.
17362         * modules/spawn (Makefile.am): Likewise.
17363         * modules/stdarg (Makefile.am): Likewise.
17364         * modules/stddef (Makefile.am): Likewise.
17365         * modules/stdint (Makefile.am): Likewise.
17366         * modules/stdio (Makefile.am): Likewise.
17367         * modules/stdlib (Makefile.am): Likewise.
17368         * modules/string (Makefile.am): Likewise.
17369         * modules/strings (Makefile.am): Likewise.
17370         * modules/sys_file (Makefile.am): Likewise.
17371         * modules/sys_ioctl (Makefile.am): Likewise.
17372         * modules/sys_select (Makefile.am): Likewise.
17373         * modules/sys_socket (Makefile.am): Likewise.
17374         * modules/sys_stat (Makefile.am): Likewise.
17375         * modules/sys_time (Makefile.am): Likewise.
17376         * modules/sys_times (Makefile.am): Likewise.
17377         * modules/sys_uio (Makefile.am): Likewise.
17378         * modules/sys_utsname (Makefile.am): Likewise.
17379         * modules/sys_wait (Makefile.am): Likewise.
17380         * modules/sysexits (Makefile.am): Likewise.
17381         * modules/termios (Makefile.am): Likewise.
17382         * modules/time (Makefile.am): Likewise.
17383         * modules/unistd (Makefile.am): Likewise.
17384         * modules/wchar (Makefile.am): Likewise.
17385         * modules/wctype-h (Makefile.am): Likewise.
17386         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17387
17388 2011-05-29  Bruno Haible  <bruno@clisp.org>
17389
17390         assert-h: Allow multiple gnulib generated replacements to coexist.
17391         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17392
17393 2011-05-29  Bruno Haible  <bruno@clisp.org>
17394
17395         argp: Allow coexistence with strerror_r-posix module.
17396         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17397         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17398         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17399         not the glibc signature.
17400
17401 2011-05-28  Bruno Haible  <bruno@clisp.org>
17402
17403         gnulib-tool: Alternative structure of testdirs, similar to --import.
17404         * gnulib-tool: New option --single-configure.
17405         (func_usage): Document it.
17406         (single_configure): New variable.
17407         (func_modules_transitive_closure_separately,
17408         func_modules_transitive_closure_separately,
17409         func_determine_use_libtests, func_modules_add_dummy_separately,
17410         func_modules_to_filelist_separately): New functions, extracted from
17411         func_import.
17412         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
17413         (func_import): Use the new functions.
17414         (func_create_testdir): Set final_modules. Handle $single_configure =
17415         true case.
17416
17417 2011-05-28  Bruno Haible  <bruno@clisp.org>
17418
17419         getloadavg: Remove an unreliable safety check.
17420         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
17421         getloadavg.c is in place.
17422         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
17423         Reported by Sam Steingold <sds@gnu.org>.
17424
17425 2011-05-28  Bruno Haible  <bruno@clisp.org>
17426
17427         doc: Cleanup yet another file produced by texinfo.tex.
17428         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
17429
17430 2011-05-28  Bruno Haible  <bruno@clisp.org>
17431
17432         Finish the conditional dependencies mechanism.
17433         * gnulib-tool: New option --no-conditional-dependencies.
17434         (func_usage): Document it. Don't mark --conditional-dependencies as
17435         experimental.
17436         (cond_dependencies): The possible values can now be true, false, empty.
17437         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
17438         (func_import): Store setting in gnulib-cache.m4 and read it from there.
17439         * doc/gnulib-tool.texi (Conditional dependencies): New section.
17440
17441 2011-05-28  Bruno Haible  <bruno@clisp.org>
17442
17443         doc: Use a recent texinfo.tex.
17444         * doc/Makefile (tex_opts): New variable.
17445         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
17446
17447 2011-05-28  Jim Meyering  <meyering@redhat.com>
17448
17449         intprops.h: adjust comment to match code change
17450         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
17451         only once, it *may* have side effects.  Also fix an unrelated typo.
17452         (_GL_INT_SIGNED): Likewise.
17453
17454 2011-05-26  Simon Josefsson  <simon@josefsson.org>
17455
17456         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
17457
17458 2011-05-26  Bruno Haible  <bruno@clisp.org>
17459
17460         mbsrchr: Avoid collision with system function on Interix.
17461         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
17462         Reported by Markus Duft <mduft@gentoo.org>.
17463
17464 2011-05-15  James Youngman  <jay@gnu.org>
17465
17466         getopt: for ambiguous options, enumerate the possibilities.
17467         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
17468         the ambiguous options when an ambiguous prefix is given. This was
17469         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
17470         glibc change was
17471         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
17472
17473 2011-05-25  Eric Blake  <eblake@redhat.com>
17474
17475         getcwd: work around mingw bug
17476         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
17477         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17478         Reported by Matthias Bolte.
17479
17480 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
17481
17482         test-intprops: disable -Wtype-limits diagnostics
17483         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
17484         diagnostics.  Otherwise, the integer overflow macros generate many
17485         diagnostics.  Reported by Jim Meyering in
17486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17487
17488         intprops: shorten, to pacify gcc -Woverlength-strings
17489         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
17490         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
17491         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
17492         likely to run afoul of C compiler limits for string constant lengths.
17493         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17494
17495 2011-05-24  Eric Blake  <eblake@redhat.com>
17496
17497         docs: document recently fixed glibc printf bug
17498         * doc/posix-functions/fprintf.texi (fprintf): Document it.
17499         * doc/posix-functions/printf.texi (printf): Likewise.
17500         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17501         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17502
17503         closein-tests: convert to init.sh
17504         * modules/closein-tests (Files): Add init.sh
17505         * tests/test-closein.sh Use it.
17506
17507         yesno-tests: convert to init.sh
17508         * modules/yesno-tests (Files): Add init.sh.
17509         * tests/test-yesno.sh: Use it.
17510
17511         atexit-tests: ensure reliable exit status
17512         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
17513         Reported by Bruno Haible.
17514
17515 2011-05-24  Bruno Haible  <bruno@clisp.org>
17516
17517         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
17518         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
17519         gl_PREREQ_STRERROR_R invocations from here...
17520         * modules/strerror_r-posix (configure.ac): ... to here.
17521
17522 2011-05-24  Eric Blake  <eblake@redhat.com>
17523
17524         strerror_r: fix missing header
17525         * lib/strerror_r.c: Avoid compiler warning about snprintf.
17526
17527         strerror_r: fix AIX test failures
17528         * lib/strerror_r.c (strerror_r): Convert silent truncation to
17529         ERANGE failure.
17530
17531         strerror_r: fix Solaris test failures
17532         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
17533         failures.
17534         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17535
17536         strerror_r: enforce POSIX recommendations
17537         * lib/strerror_r.c (safe_copy): New helper method.
17538         (strerror_r): Guarantee a non-empty string.
17539         * tests/test-strerror_r.c (main): Enhance tests to incorporate
17540         recent POSIX rulings and to match our strerror guarantees.
17541         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17542
17543 2011-05-24  Jim Meyering  <meyering@redhat.com>
17544
17545         test-perror2.c: avoid warning about unused variable
17546         * tests/test-perror2.c (main): Remove declaration of unused "fp".
17547
17548 2011-05-24  Eric Blake  <eblake@redhat.com>
17549
17550         perror: avoid spurious test failure on HP-UX
17551         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
17552
17553         tests: fix logic bug in init.sh
17554         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
17555         shell.
17556
17557 2011-05-24  Jim Meyering  <meyering@redhat.com>
17558
17559         utimensat: do not reference an out-of-scope buffer
17560         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
17561         declared in an inner scope, yet "times" would be dereferenced outside
17562         the scope in which "ts" was valid.
17563         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
17564         of ts[2] "out/up", so that the use of aliased "times" (via
17565         "times = ts;") does not end up referencing an out-of-scope "ts"
17566
17567         opendir-safer.c: don't clobber errno; don't close negative FD
17568         * lib/opendir-safer.c (opendir_safer):
17569         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
17570         file descriptor, and more importantly, don't clobber the
17571         offending errno value with EINVAL.  Before, upon failure
17572         of dup_safer, we would pass the negative file descriptor to
17573         fdopendir, which would clobber errno.
17574
17575 2011-05-23  Bruno Haible  <bruno@clisp.org>
17576
17577         idcache: Fix module description.
17578         * modules/idcache (Include): Set to "idcache.h".
17579
17580 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17581
17582         gnulib-tool: fix portability problem with MacOS sed
17583         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
17584         before the "}".  Problem reported by Leo in
17585         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
17586         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
17587         sed_extract_condition1, sed_extract_condition2.
17588
17589 2011-05-23  Bruno Haible  <bruno@clisp.org>
17590
17591         hash: Simplify autoconf macro.
17592         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
17593
17594 2011-05-23  Bruno Haible  <bruno@clisp.org>
17595
17596         getugroups: Fix module description.
17597         * modules/getugroups (Include): Set to "getugroups.h".
17598
17599 2011-05-23  Bruno Haible  <bruno@clisp.org>
17600
17601         linkat: Simplify autoconf macro.
17602         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
17603
17604 2011-05-23  Bruno Haible  <bruno@clisp.org>
17605             Eric Blake  <eblake@redhat.com>
17606
17607         linkat, renameat: Update dependencies.
17608         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
17609         * modules/linkat (Depends-on): Likewise. Remove also readlink,
17610         symlinkat.
17611
17612 2011-05-23  Jim Meyering  <meyering@redhat.com>
17613
17614         maint.mk: more tight_scope improvements
17615         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
17616         (_gl_TS_headers): Define only in if-0'd block.
17617         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
17618         sometimes we must *not* use it.  Adjust uses accordingly.
17619         (sc_tight_scope): Use much simpler grep-based test to determine
17620         whether we skip this rule.
17621
17622         maint.mk: generalize/improve the tight-scope rule
17623         * top/maint.mk: Emit a warning when the test is skipped.
17624         (_gl_TS_dir): Add $(srcdir)/ prefix.
17625         (_gl_TS_function_match): Simplify, rather than trying
17626         to enumerate common types.  Otherwise, it would fail to match an
17627         "extern unsigned char const *" declaration in idutils.
17628         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
17629         a way to support use of that type of macro.
17630         (_gl_TS_var_match): Simplify regexp.
17631         (_gl_TS_obj_files): New configurable variable.
17632         (_gl_TS_headers): Likewise.
17633
17634 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
17635
17636         verify: fix bug when gnulib <assert.h> is also included
17637         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
17638         is defined, not if _GL_STATIC_ASSERT_H is not defined.
17639         Perhaps there's a better way, but this fixes the immediate problem.
17640         Problem reported by Bruno Haible in
17641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
17642
17643 2011-05-22  Bruno Haible  <bruno@clisp.org>
17644
17645         xgetcwd: Simplify autoconf macro.
17646         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
17647
17648 2011-05-22  Bruno Haible  <bruno@clisp.org>
17649
17650         New module 'mktime-internal'.
17651         * modules/mktime-internal: New file.
17652         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
17653         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
17654         mktime_internal as a C macro if libc has __mktime_internal.
17655         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
17656         conditions.
17657         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
17658
17659 2011-05-22  Bruno Haible  <bruno@clisp.org>
17660
17661         timegm: Correct mktime replacement statements.
17662         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
17663         defining mktime as a C macro. This completes a 2009-07-28 commit.
17664
17665 2011-05-22  Bruno Haible  <bruno@clisp.org>
17666
17667         timegm: Simplify autoconf macro.
17668         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
17669
17670 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17671
17672         clock-time: change to LGPLv2+.
17673         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
17674         BSD-like but we have no mark for that; this is good enough for now.
17675
17676 2011-05-21  Bruno Haible  <bruno@clisp.org>
17677
17678         strerror_r: Fix comments.
17679         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
17680
17681 2011-05-21  Bruno Haible  <bruno@clisp.org>
17682
17683         relocatable-prog-wrapper: Fix possible link error.
17684         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
17685         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
17686         (gl_FUNC_SETENV): ... to here.
17687         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
17688         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
17689
17690 2011-05-21  Bruno Haible  <bruno@clisp.org>
17691
17692         relocatable-prog-wrapper: Assume strerror() exists.
17693         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
17694         m4/strerror.m4.
17695         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
17696         * lib/relocwrapper.c: Remove mention of strerror module.
17697         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
17698         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
17699         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
17700         C macro.
17701
17702 2011-05-21  Bruno Haible  <bruno@clisp.org>
17703
17704         select: Simplify replacement idiom.
17705         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
17706         Win32 platforms.
17707         * lib/sys_select.in.h (select): Simplify accordingly.
17708         * modules/select (Depends-on): Likewise.
17709
17710 2011-05-21  Bruno Haible  <bruno@clisp.org>
17711
17712         mkdir-p: Simplify autoconf macro.
17713         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
17714         gl_FUNC_LCHOWN.
17715
17716 2011-05-21  Eric Blake  <eblake@redhat.com>
17717
17718         strerror_r: avoid clobbering strerror on cygwin
17719         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
17720         fall back instead to sys_errlist.
17721         * modules/strerror (configure.ac): Add witness.
17722         * tests/test-strerror_r.c (main): Enhance test.
17723         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17724         * tests/test-perror2.c (main): Free memory before exit.
17725
17726 2011-05-21  Bruno Haible  <bruno@clisp.org>
17727
17728         mkdtemp: Use gnulib naming conventions.
17729         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
17730         * modules/mkdtemp (configure.ac): Update.
17731
17732 2011-05-20  Eric Blake  <eblake@redhat.com>
17733
17734         strerror_r: avoid corrupting errno on Solaris
17735         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
17736         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17737
17738         strerror_r: avoid compiler warning
17739         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
17740
17741         strerror_r: simplify AIX code
17742         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
17743
17744         test-perror: avoid spurious failure on FreeBSD
17745         * modules/perror-tests (Depends-on): Add strerror, now that
17746         strerror_r no longer pulls it in.
17747
17748 2011-05-20  Bruno Haible  <bruno@clisp.org>
17749
17750         strerror_r-posix: Remove unused dependencies.
17751         * modules/strerror_r-posix (Depends-on): Remove strerror.
17752         Reported by Eric Blake.
17753
17754 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17755
17756         intprops: remove assumption about A|B representation
17757         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
17758         is a valid integer if both A and B are.  Although this is true for
17759         all known practical hosts, the C standard doesn't guarantee it,
17760         and the code need not assume it.  Also, this change may work around
17761         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
17762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
17763
17764 2011-05-20  Eric Blake  <eblake@redhat.com>
17765
17766         perror: work around FreeBSD bug
17767         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17768         is broken.  Move AC_LIBOBJ...
17769         * modules/perror (configure.ac): Here.
17770         * doc/posix-functions/perror.texi (perror): Document this.
17771         * tests/test-perror2.c (main): Enhance test.
17772
17773         test-perror: check for strerror interactions
17774         * tests/macros.h (STREQ): Add macro.
17775         * modules/perror-tests (Files): Add second test.
17776         * tests/test-perror2.c (main): New file.
17777         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17778
17779         test-perror: rewrite to use init script
17780         * modules/perror-tests (Files): Add init.sh.
17781         * tests/test-perror.sh: Use temporary directory.
17782
17783 2011-05-20  Jim Meyering  <meyering@redhat.com>
17784
17785         maint: replace misused "a" with "an"
17786         * doc/intprops.texi: "a integer"
17787         * doc/regex.texi: "a explanation"
17788         * lib/alignof.h: "a object"
17789         * lib/argmatch.h: "a explanation"
17790         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17791         * lib/stdint.in.h: "a integer"
17792         * lib/userspec.c: "a owner"
17793         * doc/gnulib.texi: Fix "a idea", and reword.
17794
17795 2011-05-19  Jim Meyering  <meyering@redhat.com>
17796
17797         maint: correct misuse of "a" and "an"
17798         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17799         * lib/argp-help.c: "an docum...": s/an/a/
17800         * lib/argp-parse.c: "An vector": s/An/A/
17801         * lib/execute.c: "an native": s/an/a/
17802         * lib/spawn-pipe.c: Likewise.
17803         * lib/gc.h: "an Gc_rc": s/an/a/
17804         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17805         * lib/fts.c: "an stat.st_dev": s/an/a/
17806
17807 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17808
17809         intprops-tests: work around HP-UX 11.23 cc bug with constants
17810         * tests/test-intprops.c (VERIFY): New macro.
17811         (main): Use it, instead of verify, to work around the compiler bug; see
17812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17813
17814         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17815         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17816         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17817         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17818         (_GL_REMAINDER_OVERFLOW): Use it.
17819
17820         intprops-tests: revert unsigned part of previous change
17821         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17822         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17823         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17825
17826 2011-05-19  Bruno Haible  <bruno@clisp.org>
17827
17828         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17829         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17830         strerror_r() returned without filling the buffer.
17831         Reported by Eric Blake.
17832
17833 2011-05-19  Eric Blake  <eblake@redhat.com>
17834
17835         strerror_r: guarantee unchanged errno
17836         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17837         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17838         failure.
17839         * tests/test-strerror_r.c (main): Enhance test.
17840
17841 2011-05-19  Bruno Haible  <bruno@clisp.org>
17842
17843         strerror_r: Reorder #if blocks.
17844         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17845         for consistency with the previous commit.
17846
17847 2011-05-19  Bruno Haible  <bruno@clisp.org>
17848
17849         perror: Avoid clobbering the strerror buffer when possible.
17850         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17851         * lib/strerror.c: Include it.
17852         * modules/strerror (Files): Add lib/strerror-impl.h.
17853         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17854         (my_strerror): New function, defined through lib/strerror-impl.h.
17855         (perror): Use it instead of strerror.
17856         * modules/perror (Files): Add lib/strerror-impl.h.
17857         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17858
17859 2011-05-19  Eric Blake  <eblake@redhat.com>
17860
17861         strerror_r: fix on newer cygwin
17862         * lib/strerror_r.c (strerror_r): Cygwin now has
17863         __xpg_strerror_r, use it.
17864
17865 2011-05-19  Bruno Haible  <bruno@clisp.org>
17866
17867         strerror_r: Avoid clobbering the strerror buffer when possible.
17868         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17869         (sys_nerr, sys_errlist): New declarations.
17870         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17871         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17872         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17873
17874 2011-05-19  Bruno Haible  <bruno@clisp.org>
17875
17876         strerror_r: Fix test failure on mingw.
17877         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17878         EXTEND_STRERROR_R.
17879         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17880         macros from errno.in.h instead.
17881
17882 2011-05-19  Eric Blake  <eblake@redhat.com>
17883
17884         strerror: relax test for Solaris
17885         * tests/test-strerror.c (main): Permit Solaris behavior.
17886         * tests/test-strerror_r.c (main): Likewise.
17887
17888         strerror: enforce POSIX ruling on strerror(0)
17889         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17890         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17891         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17892         * doc/posix-functions/strerror.texi (strerror): Document it.
17893         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17894         * tests/test-strerror.c (main): Strengthen test.
17895         * tests/test-strerror_r.c (main): Likewise.
17896
17897 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17898
17899         intprop-tests: port to older and more-pedantic compilers
17900         * modules/intprops-tests (Files): Add tests/macros.h.
17901         * tests/test-intprops.c: Include macros.h.
17902         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17903         it's no longer documented to expand to an integer constant expression.
17904         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17905         argument is floating point, as it's no longer documented to expand
17906         to an integer constant expression in that case.
17907         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17908         compiler bugs reported by Bruno Haible.  See
17909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17910         (U0, U1): New constants, to work around the same bugs.  Also,
17911         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17912
17913         intprops: work around C compiler bugs
17914         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17915         bug in Sun C 5.11 2010/08/13 and other compilers; see
17916         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17917
17918         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17919         * doc/intprops.texi (Integer Type Determination): Fix
17920         documentation for TYPE_IS_INTEGER: it returns an constant
17921         expression, not an integer constant expression.  Fix doc for
17922         TYPE_SIGNED: it returns an integer constant expression only if its
17923         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17924         hardly worth documented that way....)
17925
17926 2011-05-18  Bruno Haible  <bruno@clisp.org>
17927
17928         strerror_r: Avoid clobbering the strerror buffer when possible.
17929         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17930         Handle gnulib defined errno values here. When strerror() returns NULL
17931         or an empty string, return EINVAL.
17932         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17933         gnulib defined errno values here.
17934         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17935
17936 2011-05-18  Eric Blake  <eblake@redhat.com>
17937
17938         fnmatch: avoid compiler warning
17939         * lib/fnmatch_loop.c (FCT): Use correct type.
17940         Reported by Matthias Bolte.
17941
17942 2011-05-13  Jim Meyering  <meyering@redhat.com>
17943
17944         maint.mk: three new prohibit_<HDR>_without_use rules
17945         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
17946         (sc_prohibit_stdio-safer_without_use): Likewise.
17947         (sc_prohibit_xfreopen_without_use): Likewise.
17948
17949 2011-05-17  Jim Meyering  <meyering@redhat.com>
17950
17951         announce-gen: fail if the NEWS delta is empty
17952         If there's nothing noteworthy in NEWS, then either you forgot
17953         or you shouldn't be releasing.
17954         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
17955
17956 2011-05-17  Pádraig Brady <P@draigBrady.com>
17957
17958         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
17959         reserved symbols starting with double underscore from the check.
17960
17961 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17962
17963         intprops: add doc
17964         * doc/intprops.texi: New file, documenting intprops.
17965         * doc/gnulib.texi (Particular Modules): Include it.
17966
17967         verify: add doc to gnulib manual and fix example
17968         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
17969         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
17970         (Compile-time Assertions): Fix example so it can't overflow.
17971
17972 2011-05-17  Jim Meyering  <meyering@redhat.com>
17973
17974         warnings.m4: don't usurp save_CPPFLAGS variable name
17975         * m4/warnings.m4: Prefix local temporary variable name with gl_.
17976
17977         doc: fix typo
17978         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17979
17980 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17981             Bruno Haible  <bruno@clisp.org>
17982
17983         doc: Tweak recent change.
17984         * README (Portability guidelines): Tweak new text.
17985         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17986         Interix 6.1.
17987
17988 2011-05-16  Eric Blake  <eblake@redhat.com>
17989
17990         inttypes: avoid autoconf warning
17991         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17992         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17993
17994 2011-05-16  Sam Steingold <sds@gnu.org>
17995         and Eric Blake  <eblake@redhat.com>
17996
17997         vc-list-files: accept multiple directory operands
17998         * build-aux/vc-list-files: Iterate over all remaining operands.
17999
18000 2011-05-16  Bruno Haible  <bruno@clisp.org>
18001
18002         Fix confusion regarding deprecated modules.
18003         * modules/calloc (Status, Notice): Mark module as deprecated, not
18004         obsolete.
18005         * modules/fnmatch-posix (Status, Notice): Likewise.
18006         * modules/getdate (Status, Notice): Likewise.
18007         * modules/getopt (Status, Notice): Likewise.
18008         * modules/malloc (Status, Notice): Likewise.
18009         * modules/pipe (Status, Notice): Likewise.
18010         * modules/realloc (Status, Notice): Likewise.
18011         * modules/rename-dest-slash (Status, Notice): Likewise.
18012         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
18013         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
18014         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
18015         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
18016         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
18017
18018 2011-05-16  Bruno Haible  <bruno@clisp.org>
18019
18020         doc: List the target platforms.
18021         * doc/gnulib-intro.texi (Target Platforms): New section.
18022         * doc/gnulib.texi (Introduction): Update menu.
18023         * README (Portability guidelines): Refer to the new section. Update
18024         statement about oldest supported environment. Remove rationale why
18025         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
18026         unportable C89 function.
18027         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
18028         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
18029
18030 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18031
18032         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
18033
18034 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18035
18036         intprops-tests: new module
18037         * modules/intprops-tests, tests/test-intprops.c: New files.
18038
18039         intprops: add safe, portable integer overflow checking
18040         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
18041         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
18042         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
18043         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
18044         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
18045         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
18046         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
18047         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
18048         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
18049         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
18050         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
18051
18052 2011-05-12  James Youngman  <jay@gnu.org>
18053
18054         Add a test for glibc's Bugzilla bug #12378.
18055         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
18056         doesn't allow the literal matching of a lone "[" (which is
18057         required by POSIX).
18058         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
18059
18060 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
18061
18062         Sync glibc change fixing Bugzilla bug #12378.
18063         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
18064         beginning and fall back to matching as normal character if the
18065         string ends before the matching ']' is found.  This is what POSIX
18066         requires.
18067
18068 2011-05-13  Eric Blake  <eblake@redhat.com>
18069
18070         getcwd-lgpl: relax test for FreeBSD
18071         * doc/posix-functions/getcwd.texi (getcwd): Document portability
18072         issue.
18073         * tests/test-getcwd-lgpl.c (main): Relax test.
18074         Reported by Matthias Bolte.
18075
18076 2011-05-11  Eric Blake  <eblake@redhat.com>
18077
18078         test-fflush: silence compiler warning
18079         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
18080
18081 2011-05-11  Bruno Haible  <bruno@clisp.org>
18082
18083         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
18084         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
18085         * modules/canonicalize (Depends-on): Add 'nocrash'.
18086         * modules/canonicalize-lgpl (Depends-on): Likewise.
18087         * doc/posix-functions/realpath.texi: Update platforms list.
18088         Reported by Ryan Schmidt <ryandesign@macports.org>.
18089
18090 2011-05-11  Bruno Haible  <bruno@clisp.org>
18091
18092         group-member: Declare function in <unistd.h>.
18093         * lib/unistd.in.h (group_member): New declaration.
18094         * lib/group-member.h: Remove file.
18095         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
18096         * tests/test-unistd-c++.cc: Check signature of group_member.
18097         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
18098         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
18099         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
18100         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
18101         HAVE_GROUP_MEMBER.
18102         * modules/group-member (Files): Remove lib/group-member.h.
18103         (Depends-on): Add unistd. Specify conditions.
18104         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18105         (Include): Change to <unistd.h>.
18106         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
18107         HAVE_GROUP_MEMBER.
18108         * NEWS: Mention the change.
18109         * lib/euidaccess.c: Don't include group-member.h.
18110
18111 2011-05-11  Bruno Haible  <bruno@clisp.org>
18112
18113         group-member: Document module.
18114         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
18115         module.
18116
18117 2011-05-11  Bruno Haible  <bruno@clisp.org>
18118
18119         fclose: Fix mistake earlier today.
18120         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
18121
18122 2011-05-11  Eric Blake  <eblake@redhat.com>
18123
18124         fclose: preserve fflush errors
18125         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
18126         Reported by Jim Meyering.
18127
18128         bootstrap: support a prereq of 'rpcgen -' on RHEL5
18129         * build-aux/bootstrap (check_versions): When no specific version
18130         is required, merely check that the app produces an exit status
18131         that indicates its existence.
18132
18133         maint.mk: drop redundant check
18134         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
18135         the same but better.
18136
18137 2011-05-11  Bruno Haible  <bruno@clisp.org>
18138
18139         fclose: Fix possible link error.
18140         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
18141         unregister_shadow_fd. Improve comments.
18142         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
18143         Eric Blake.
18144
18145 2011-05-11  Jim Meyering  <meyering@redhat.com>
18146
18147         maint.mk: improve "can not" detection and generalize rule name
18148         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
18149         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
18150         Use the same technique as in sc_prohibit_doubled_word, so that
18151         we recognize "can not" also when the words are separated by a newline.
18152         Suggested by Eric Blake.
18153         (perl_filename_lineno_text_): Define.  Factored out of...
18154         (prohibit_doubled_word_): ...here.  Use the new definition.
18155         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
18156         (prohibit_undesirable_word_seq_RE_): New overridable variable.
18157         (ignore_undesirable_word_sequence_RE_): New overridable variable.
18158
18159 2011-05-10  Eric Blake  <eblake@redhat.com>
18160
18161         fclose: avoid double close race when possible
18162         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
18163         all but WINDOWS_SOCKETS.
18164
18165 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
18166
18167         openat: correct new comment
18168         * lib/openat-proc.c (openat_proc_name): Correct the comment.
18169
18170 2011-05-10  Jim Meyering  <meyering@redhat.com>
18171
18172         openat: add comments
18173         * lib/openat-proc.c (openat_proc_name): Add comments,
18174         mostly from Eric Blake.
18175
18176 2011-05-09  Eric Blake  <eblake@redhat.com>
18177
18178         openat: reduce syscalls in first probe of /proc
18179         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
18180         be a directory.  Simplify the probe for .. bugs.
18181         * modules/openat (Depends-on): Drop same-inode.
18182         Reported by Bastien ROUCARIES.
18183
18184 2011-05-09  Jim Meyering  <meyering@redhat.com>
18185
18186         maint.mk: change semantics/name of tight_scope variables
18187         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
18188         Rename variables to align with semantics that make them more useful.
18189
18190         maint.mk: tweak new rule's name not to impinge
18191         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
18192         (sc_tight_scope): Use new rule name rather than $@-0.
18193
18194         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
18195         * top/maint.mk (sc_tight_scope): New rule.
18196         (sc_tight_scope-0): New rule, ifdef'd out.
18197         (_gl_TS_dir): Default.
18198         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
18199         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
18200
18201 2011-05-09  Simon Josefsson  <simon@josefsson.org>
18202
18203         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
18204         Haible <bruno@clisp.org>.
18205
18206 2011-05-08  Bruno Haible  <bruno@clisp.org>
18207
18208         Comments.
18209         * m4/isnanf.m4: Add comment.
18210         * m4/isnanl.m4: Likewise.
18211
18212 2011-05-08  Bruno Haible  <bruno@clisp.org>
18213
18214         glob: Remove obsolete macro.
18215         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
18216
18217 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18218
18219         intprops: Sun C 5.11 supports __typeof__
18220         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
18221         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
18222         which is new.
18223         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
18224
18225         intprops: switch to usual gnulib indenting and naming
18226         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
18227         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
18228
18229         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
18230
18231 2011-05-08  Jim Meyering  <meyering@redhat.com>
18232
18233         maint.mk: suppress "Entering/Leaving directory" diag in announcement
18234         * top/maint.mk (release-prep): Use make's --no-print-directory
18235         option when generating the announcement.  This eliminates the
18236         pesky "make[2]: Entering/Leaving directory" diagnostics in the
18237         generated announcement template.
18238
18239 2011-05-08  Bruno Haible  <bruno@clisp.org>
18240
18241         tzset: Fix gettimeofday wrapper on Solaris 2.6.
18242         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
18243         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
18244
18245 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18246
18247         ignore-value, verify: Omit include files from lib_SOURCES.
18248         * modules/ignore-value, modules/verify (Makefile.am):
18249         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
18250         that leads Automake to duplicate use of am__objects_... variables
18251         in Makefile.in.  See
18252         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
18253
18254 2011-05-07  Bruno Haible  <bruno@clisp.org>
18255
18256         fclose: Simplify autoconf macro.
18257         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
18258         defined.
18259
18260 2011-05-07  Bruno Haible  <bruno@clisp.org>
18261
18262         canonicalize-lgpl: Fix autoconf macro ordering bug.
18263         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
18264         gl_STDLIB_H_DEFAULTS.
18265
18266 2011-05-06  Eric Blake  <eblake@redhat.com>
18267
18268         maintainer-makefile: make sc_po_check easier to tune
18269         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
18270         to probe for strings, such as an alternate location for gnulib.
18271
18272         fclose: guarantee behavior on seekable stdin
18273         * modules/fclose (Depends-on): Add fflush.
18274         * doc/posix-functions/fclose.texi (fclose): Document this.
18275         * tests/test-fclose.c (main): Make test for this unconditional.
18276
18277 2011-05-06  Bruno Haible  <bruno@clisp.org>
18278
18279         fflush, fpurge: Relicense under LGPLv2+.
18280         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
18281         * modules/fpurge (License): Likewise.
18282         With permission from Eric Blake and Jim Meyering.
18283         Suggested by Eric Blake.
18284
18285 2011-05-06  Karl Berry  <karl@gnu.org>
18286
18287         * MODULES.html.sh (func_all_modules): remove exit.
18288
18289 2011-05-06  Jim Meyering  <meyering@redhat.com>
18290
18291         maint.mk: use info-gnu@ as the default only for a stable release
18292         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
18293         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
18294         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
18295         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
18296
18297 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18298
18299         assert-h: new module, which supports C1X-style static_assert
18300         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
18301         * lib/verify.h: Revamp so that this can be copied into assert.h,
18302         while retaining the ability to use it standalone as before.
18303         Rename private identifiers so as not to encroach on the
18304         standard C namespace, since this is now used by assert.h.
18305         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
18306         the old verify_true.
18307         (_GL_VERIFY_TRUE): New macro, with much of the contents of
18308         the old verify_true.  Use _GL_VERIFY_TYPE.
18309         (_GL_VERIFY): New macro, with much of the contents of the old verify.
18310         (static_assert): New macro, if _GL_STATIC_ASSERT_H
18311         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
18312         defined when this file is copied into the replacement assert.h.
18313         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
18314         and _Static_assert is not built in.
18315         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
18316         defined, and use the new macros mentioned above.
18317         * doc/posix-headers/assert.texi: Document this.
18318
18319 2011-05-05  Bruno Haible  <bruno@clisp.org>
18320
18321         fclose, fflush: Respect rules for use of AC_LIBOBJ.
18322         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
18323         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
18324         gl_REPLACE_FCLOSE here.
18325         * modules/fflush (Depends-on): Remove fclose.
18326         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
18327         combination with module 'fclose'.
18328
18329 2011-05-05  Bruno Haible  <bruno@clisp.org>
18330
18331         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
18332         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
18333         gl_FUNC_FFLUSH.
18334         (gl_FUNC_FFLUSH): Use it.
18335         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
18336         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
18337         gl_REPLACE_FSEEKO here.
18338
18339 2011-05-05  Bruno Haible  <bruno@clisp.org>
18340
18341         tzset: Relicense under LGPL.
18342         * modules/tzset (License): Change to LGPL.
18343         No agreement needed; it's a no-op.
18344
18345         strtoimax, strtoumax: Relicense under LGPL.
18346         * modules/strtoimax (License): Change to LGPL.
18347         * modules/strtoumax (License): Likewise.
18348         With permission from Jim Meyering, Paul Eggert:
18349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18351
18352         getgroups: Relicense under LGPL.
18353         * modules/getgroups (License): Change to LGPL.
18354         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18357         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18358
18359         nanosleep: Relicense under LGPL.
18360         * modules/nanosleep (License): Change to LGPL.
18361         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18362         Haible:
18363         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18364         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18365         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18367
18368         futimens: Relicense under LGPL.
18369         * modules/futimens (License): Change to LGPL.
18370         With permission from Eric Blake:
18371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18372
18373         fflush: Relicense under LGPL.
18374         * modules/fflush (License): Change to LGPL.
18375         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18377         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18378         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18379
18380         tmpfile: Relicense under LGPL.
18381         * modules/tmpfile (License): Change to LGPL.
18382         With permission from Ben Pfaff:
18383         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18384
18385         isfinite: Relicense under LGPL.
18386         * modules/isfinite (License): Change to LGPL.
18387         With permission from Ben Pfaff, Bruno Haible:
18388         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18390
18391         acosl..tanl: Relicense under LGPL.
18392         * modules/acosl (License): Change to LGPL.
18393         * modules/asinl (License): Likewise.
18394         * modules/atanl (License): Likewise.
18395         * modules/cosl (License): Likewise.
18396         * modules/expl (License): Likewise.
18397         * modules/logl (License): Likewise.
18398         * modules/sinl (License): Likewise.
18399         * modules/sqrtl (License): Likewise.
18400         * modules/tanl (License): Likewise.
18401         Source code originally from glibc and Paolo Bonzini. Agreements:
18402         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
18403         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
18404
18405 2011-05-05  Bruno Haible  <bruno@clisp.org>
18406
18407         signal: Define sighandler_t.
18408         * lib/signal.in.h (sighandler_t): New type.
18409         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
18410         whether sighandler_t is defined.
18411         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
18412         * modules/signal (Depends-on): Add extensions.
18413         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
18414         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
18415         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
18416
18417 2011-05-05  Eric Blake  <eblake@redhat.com>
18418
18419         maint: remove useless REPLACE_*_H macros
18420         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
18421         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18422         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18423         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
18424         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18425         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18426         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
18427         * m4/btowc.m4: Update callers.
18428         * m4/dirfd.m4: Likewise.
18429         * m4/duplocale.m4: Likewise.
18430         * m4/fchdir.m4: Likewise.
18431         * m4/fdopendir.m4: Likewise.
18432         * m4/inet_ntop.m4: Likewise.
18433         * m4/inet_pton.m4: Likewise.
18434         * m4/ioctl.m4: Likewise.
18435         * m4/mbrlen.m4: Likewise.
18436         * m4/mbrtowc.m4: Likewise.
18437         * m4/mbsinit.m4: Likewise.
18438         * m4/mbsnrtowcs.m4: Likewise.
18439         * m4/mbsrtowcs.m4: Likewise.
18440         * m4/poll.m4: Likewise.
18441         * m4/setlocale.m4: Likewise.
18442         * m4/wcrtomb.m4: Likewise.
18443         * m4/wcsnrtombs.m4: Likewise.
18444         * m4/wcsrtombs.m4: Likewise.
18445         * m4/wctob.m4: Likewise.
18446         * m4/wcwidth.m4: Likewise.
18447         * modules/posix_spawn: Likewise.
18448         * modules/posix_spawn_file_actions_addclose: Likewise.
18449         * modules/posix_spawn_file_actions_adddup2: Likewise.
18450         * modules/posix_spawn_file_actions_addopen: Likewise.
18451         * modules/posix_spawn_file_actions_destroy: Likewise.
18452         * modules/posix_spawn_file_actions_init: Likewise.
18453         * modules/posix_spawnattr_destroy: Likewise.
18454         * modules/posix_spawnattr_getflags: Likewise.
18455         * modules/posix_spawnattr_getpgroup: Likewise.
18456         * modules/posix_spawnattr_getschedparam: Likewise.
18457         * modules/posix_spawnattr_getschedpolicy: Likewise.
18458         * modules/posix_spawnattr_getsigdefault: Likewise.
18459         * modules/posix_spawnattr_getsigmask: Likewise.
18460         * modules/posix_spawnattr_init: Likewise.
18461         * modules/posix_spawnattr_setflags: Likewise.
18462         * modules/posix_spawnattr_setpgroup: Likewise.
18463         * modules/posix_spawnattr_setschedparam: Likewise.
18464         * modules/posix_spawnattr_setschedpolicy: Likewise.
18465         * modules/posix_spawnattr_setsigdefault: Likewise.
18466         * modules/posix_spawnattr_setsigmask: Likewise.
18467         * modules/posix_spawnp: Likewise.
18468
18469 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
18470
18471         Add option to do-release-commit-and-tag to specify branch.
18472         * build-aux/do-release-commit-and-tag: Add --branch.
18473
18474 2011-05-03  Bruno Haible  <bruno@clisp.org>
18475
18476         Avoid unnecessary compilation units, through conditional dependencies.
18477         * modules/accept (Depends-on): Add conditions to the dependencies.
18478         * modules/acosl (Depends-on): Likewise.
18479         * modules/argz (Depends-on): Likewise.
18480         * modules/asinl (Depends-on): Likewise.
18481         * modules/atanl (Depends-on): Likewise.
18482         * modules/atoll (Depends-on): Likewise.
18483         * modules/bind (Depends-on): Likewise.
18484         * modules/btowc (Depends-on): Likewise.
18485         * modules/canonicalize-lgpl (Depends-on): Likewise.
18486         * modules/ceil (Depends-on): Likewise.
18487         * modules/ceilf (Depends-on): Likewise.
18488         * modules/ceill (Depends-on): Likewise.
18489         * modules/chdir-long (Depends-on): Likewise.
18490         * modules/chown (Depends-on): Likewise.
18491         * modules/close (Depends-on): Likewise.
18492         * modules/connect (Depends-on): Likewise.
18493         * modules/cosl (Depends-on): Likewise.
18494         * modules/dirfd (Depends-on): Likewise.
18495         * modules/dprintf (Depends-on): Likewise.
18496         * modules/dprintf-posix (Depends-on): Likewise.
18497         * modules/error (Depends-on): Likewise.
18498         * modules/euidaccess (Depends-on): Likewise.
18499         * modules/expl (Depends-on): Likewise.
18500         * modules/faccessat (Depends-on): Likewise.
18501         * modules/fchdir (Depends-on): Likewise.
18502         * modules/fclose (Depends-on): Likewise.
18503         * modules/fcntl (Depends-on): Likewise.
18504         * modules/fdopendir (Depends-on): Likewise.
18505         * modules/fflush (Depends-on): Likewise.
18506         * modules/floor (Depends-on): Likewise.
18507         * modules/floorf (Depends-on): Likewise.
18508         * modules/floorl (Depends-on): Likewise.
18509         * modules/fnmatch (Depends-on): Likewise.
18510         * modules/fopen (Depends-on): Likewise.
18511         * modules/fprintf-posix (Depends-on): Likewise.
18512         * modules/frexp (Depends-on): Likewise.
18513         * modules/frexp-nolibm (Depends-on): Likewise.
18514         * modules/frexpl (Depends-on): Likewise.
18515         * modules/frexpl-nolibm (Depends-on): Likewise.
18516         * modules/fseek (Depends-on): Likewise.
18517         * modules/fsusage (Depends-on): Likewise.
18518         * modules/ftell (Depends-on): Likewise.
18519         * modules/ftello (Depends-on): Likewise.
18520         * modules/futimens (Depends-on): Likewise.
18521         * modules/getcwd (Depends-on): Likewise.
18522         * modules/getcwd-lgpl (Depends-on): Likewise.
18523         * modules/getdelim (Depends-on): Likewise.
18524         * modules/getdomainname (Depends-on): Likewise.
18525         * modules/getgroups (Depends-on): Likewise.
18526         * modules/gethostname (Depends-on): Likewise.
18527         * modules/getline (Depends-on): Likewise.
18528         * modules/getlogin_r (Depends-on): Likewise.
18529         * modules/getopt-posix (Depends-on): Likewise.
18530         * modules/getpeername (Depends-on): Likewise.
18531         * modules/getsockname (Depends-on): Likewise.
18532         * modules/getsockopt (Depends-on): Likewise.
18533         * modules/getsubopt (Depends-on): Likewise.
18534         * modules/getusershell (Depends-on): Likewise.
18535         * modules/glob (Depends-on): Likewise.
18536         * modules/grantpt (Depends-on): Likewise.
18537         * modules/iconv_open (Depends-on): Likewise.
18538         * modules/iconv_open-utf (Depends-on): Likewise.
18539         * modules/inet_ntop (Depends-on): Likewise.
18540         * modules/inet_pton (Depends-on): Likewise.
18541         * modules/ioctl (Depends-on): Likewise.
18542         * modules/isapipe (Depends-on): Likewise.
18543         * modules/isfinite (Depends-on): Likewise.
18544         * modules/isinf (Depends-on): Likewise.
18545         * modules/lchown (Depends-on): Likewise.
18546         * modules/ldexpl (Depends-on): Likewise.
18547         * modules/link (Depends-on): Likewise.
18548         * modules/linkat (Depends-on): Likewise.
18549         * modules/listen (Depends-on): Likewise.
18550         * modules/logl (Depends-on): Likewise.
18551         * modules/lstat (Depends-on): Likewise.
18552         * modules/mbrlen (Depends-on): Likewise.
18553         * modules/mbrtowc (Depends-on): Likewise.
18554         * modules/mbsinit (Depends-on): Likewise.
18555         * modules/mbsnrtowcs (Depends-on): Likewise.
18556         * modules/mbsrtowcs (Depends-on): Likewise.
18557         * modules/mbtowc (Depends-on): Likewise.
18558         * modules/memcmp (Depends-on): Likewise.
18559         * modules/mkdir (Depends-on): Likewise.
18560         * modules/mkdtemp (Depends-on): Likewise.
18561         * modules/mkfifo (Depends-on): Likewise.
18562         * modules/mkfifoat (Depends-on): Likewise.
18563         * modules/mknod (Depends-on): Likewise.
18564         * modules/mkostemp (Depends-on): Likewise.
18565         * modules/mkostemps (Depends-on): Likewise.
18566         * modules/mkstemp (Depends-on): Likewise.
18567         * modules/mkstemps (Depends-on): Likewise.
18568         * modules/mktime (Depends-on): Likewise.
18569         * modules/nanosleep (Depends-on): Likewise.
18570         * modules/open (Depends-on): Likewise.
18571         * modules/openat (Depends-on): Likewise.
18572         * modules/perror (Depends-on): Likewise.
18573         * modules/poll (Depends-on): Likewise.
18574         * modules/popen (Depends-on): Likewise.
18575         * modules/posix_spawn (Depends-on): Likewise.
18576         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
18577         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18578         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18579         * modules/posix_spawnp (Depends-on): Likewise.
18580         * modules/pread (Depends-on): Likewise.
18581         * modules/printf-posix (Depends-on): Likewise.
18582         * modules/ptsname (Depends-on): Likewise.
18583         * modules/putenv (Depends-on): Likewise.
18584         * modules/pwrite (Depends-on): Likewise.
18585         * modules/readline (Depends-on): Likewise.
18586         * modules/readlink (Depends-on): Likewise.
18587         * modules/readlinkat (Depends-on): Likewise.
18588         * modules/recv (Depends-on): Likewise.
18589         * modules/recvfrom (Depends-on): Likewise.
18590         * modules/regex (Depends-on): Likewise.
18591         * modules/remove (Depends-on): Likewise.
18592         * modules/rename (Depends-on): Likewise.
18593         * modules/renameat (Depends-on): Likewise.
18594         * modules/rmdir (Depends-on): Likewise.
18595         * modules/round (Depends-on): Likewise.
18596         * modules/roundf (Depends-on): Likewise.
18597         * modules/roundl (Depends-on): Likewise.
18598         * modules/rpmatch (Depends-on): Likewise.
18599         * modules/select (Depends-on): Likewise.
18600         * modules/send (Depends-on): Likewise.
18601         * modules/sendto (Depends-on): Likewise.
18602         * modules/setenv (Depends-on): Likewise.
18603         * modules/setlocale (Depends-on): Likewise.
18604         * modules/setsockopt (Depends-on): Likewise.
18605         * modules/shutdown (Depends-on): Likewise.
18606         * modules/sigaction (Depends-on): Likewise.
18607         * modules/signbit (Depends-on): Likewise.
18608         * modules/sigprocmask (Depends-on): Likewise.
18609         * modules/sinl (Depends-on): Likewise.
18610         * modules/sleep (Depends-on): Likewise.
18611         * modules/snprintf (Depends-on): Likewise.
18612         * modules/snprintf-posix (Depends-on): Likewise.
18613         * modules/socket (Depends-on): Likewise.
18614         * modules/sprintf-posix (Depends-on): Likewise.
18615         * modules/sqrtl (Depends-on): Likewise.
18616         * modules/stat (Depends-on): Likewise.
18617         * modules/strchrnul (Depends-on): Likewise.
18618         * modules/strdup-posix (Depends-on): Likewise.
18619         * modules/strerror (Depends-on): Likewise.
18620         * modules/strerror_r-posix (Depends-on): Likewise.
18621         * modules/strndup (Depends-on): Likewise.
18622         * modules/strnlen (Depends-on): Likewise.
18623         * modules/strptime (Depends-on): Likewise.
18624         * modules/strsep (Depends-on): Likewise.
18625         * modules/strsignal (Depends-on): Likewise.
18626         * modules/strstr-simple (Depends-on): Likewise.
18627         * modules/strtod (Depends-on): Likewise.
18628         * modules/strtoimax (Depends-on): Likewise.
18629         * modules/strtok_r (Depends-on): Likewise.
18630         * modules/strtoumax (Depends-on): Likewise.
18631         * modules/symlink (Depends-on): Likewise.
18632         * modules/symlinkat (Depends-on): Likewise.
18633         * modules/tanl (Depends-on): Likewise.
18634         * modules/tcgetsid (Depends-on): Likewise.
18635         * modules/tmpfile (Depends-on): Likewise.
18636         * modules/trunc (Depends-on): Likewise.
18637         * modules/truncf (Depends-on): Likewise.
18638         * modules/truncl (Depends-on): Likewise.
18639         * modules/uname (Depends-on): Likewise.
18640         * modules/unlink (Depends-on): Likewise.
18641         * modules/unlockpt (Depends-on): Likewise.
18642         * modules/unsetenv (Depends-on): Likewise.
18643         * modules/usleep (Depends-on): Likewise.
18644         * modules/utimensat (Depends-on): Likewise.
18645         * modules/vasprintf (Depends-on): Likewise.
18646         * modules/vdprintf (Depends-on): Likewise.
18647         * modules/vdprintf-posix (Depends-on): Likewise.
18648         * modules/vfprintf-posix (Depends-on): Likewise.
18649         * modules/vprintf-posix (Depends-on): Likewise.
18650         * modules/vsnprintf (Depends-on): Likewise.
18651         * modules/vsnprintf-posix (Depends-on): Likewise.
18652         * modules/vsprintf-posix (Depends-on): Likewise.
18653         * modules/wcrtomb (Depends-on): Likewise.
18654         * modules/wcscasecmp (Depends-on): Likewise.
18655         * modules/wcscspn (Depends-on): Likewise.
18656         * modules/wcsdup (Depends-on): Likewise.
18657         * modules/wcsncasecmp (Depends-on): Likewise.
18658         * modules/wcsnrtombs (Depends-on): Likewise.
18659         * modules/wcspbrk (Depends-on): Likewise.
18660         * modules/wcsrtombs (Depends-on): Likewise.
18661         * modules/wcsspn (Depends-on): Likewise.
18662         * modules/wcsstr (Depends-on): Likewise.
18663         * modules/wcstok (Depends-on): Likewise.
18664         * modules/wcswidth (Depends-on): Likewise.
18665         * modules/wctob (Depends-on): Likewise.
18666         * modules/wctomb (Depends-on): Likewise.
18667         * modules/wctype (Depends-on): Likewise.
18668         * modules/wcwidth (Depends-on): Likewise.
18669         * modules/write (Depends-on): Likewise.
18670
18671 2011-05-03  Bruno Haible  <bruno@clisp.org>
18672
18673         Support for conditional dependencies.
18674         * doc/gnulib.texi (Module description): Document the syntax of
18675         conditional dependencies.
18676         * gnulib-tool: New option --conditional-dependencies.
18677         (func_usage): Document it.
18678         (cond_dependencies): New variable.
18679         (func_get_automake_snippet_conditional,
18680         func_get_automake_snippet_unconditional): New functions, extracted from
18681         func_get_automake_snippet.
18682         (func_get_automake_snippet): Use them.
18683         (sed_first_32_chars): New variable.
18684         (func_module_shellfunc_name): New function.
18685         (func_module_shellvar_name): New function.
18686         (func_module_conditional_name): New function.
18687         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
18688         func_cond_module_condition): New functions.
18689         (func_modules_transitive_closure): Add support for conditional
18690         dependencies.
18691         (func_emit_lib_Makefile_am): For a conditional module, enclose the
18692         conditional automake snippet in an automake conditional.
18693         (func_emit_autoconf_snippets): Emit shell functions that contain the
18694         code for conditional modules.
18695         (func_import, func_create_testdir): Update specification.
18696
18697 2011-05-03  Eric Blake  <eblake@redhat.com>
18698
18699         test-getaddrinfo: report error information
18700         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
18701
18702 2011-05-03  Jim Meyering  <meyering@redhat.com>
18703
18704         bootstrap: avoid build failure when $GZIP is set
18705         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
18706         program name.  If defined at all, it is supposed to list gzip options.
18707         Reported by Alan Curry in http://debbugs.gnu.org/8609
18708
18709 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
18710
18711         readme-release: new module with release instructions
18712         * modules/readme-release: New module.
18713         * top/README-release: New file, from coreutils, grep, diffutils.
18714         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18715
18716 2011-05-02  Eric Blake  <eblake@redhat.com>
18717
18718         fflush: also replace fclose when fixing fflush
18719         * modules/fflush (Depends-on): Add fclose.
18720         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
18721         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
18722         memstreams with no backing fd.
18723         * doc/posix-functions/fclose.texi (fclose): Document the use of
18724         fflush module to fix the bug.
18725         * tests/test-fclose.c (main): Relax test when fclose is used in
18726         isolation.
18727
18728         fclose: add some tests
18729         * modules/fclose-tests: New test module.
18730         * tests/test-fclose.c: New file.
18731         * doc/posix-functions/fclose.texi (fclose): Document the bug.
18732
18733         fclose: reduced dependencies
18734         * modules/fclose (Depends-on): Switch from fflush/fseeko to
18735         simpler lseek.
18736         * lib/fclose.c (rpl_fclose): Likewise.
18737         Reported by Simon Josefsson.
18738
18739         exit: drop remaining clients
18740         * modules/argmatch (Depends-on): Replace exit with stdlib.
18741         * modules/copy-file (Depends-on): Likewise.
18742         * modules/execute (Depends-on): Likewise.
18743         * modules/exitfail (Depends-on): Likewise.
18744         * modules/obstack (Depends-on): Likewise.
18745         * modules/pagealign_alloc (Depends-on): Likewise.
18746         * modules/pipe-filter-gi (Depends-on): Likewise.
18747         * modules/pipe-filter-ii (Depends-on): Likewise.
18748         * modules/savewd (Depends-on): Likewise.
18749         * modules/spawn-pipe (Depends-on): Likewise.
18750         * modules/wait-process (Depends-on): Likewise.
18751         * modules/xsetenv (Depends-on): Likewise.
18752         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
18753         * modules/git-merge-changelog (Depends-on): Likewise.
18754         * modules/long-options (Depends-on): Likewise.
18755         * modules/pt_chown (Depends-on): Likewise.
18756         * modules/sysexits (Depends-on): Likewise.
18757
18758         freading: relax license from LGPLv3+ to LGPLv2+
18759         * modules/freading (License): Relax LGPL version.
18760
18761 2011-05-02  Bruno Haible  <bruno@clisp.org>
18762
18763         fchdir: Remove unused dependencies.
18764         * modules/fchdir (Depends-on): Remove include_next.
18765
18766 2011-05-02  Bruno Haible  <bruno@clisp.org>
18767
18768         gnulib-tool: Refactor.
18769         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18770         from func_emit_autoconf_snippets.
18771         (func_emit_autoconf_snippets): Use it.
18772
18773 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18774
18775         * NEWS: Document removal of 'exit'.
18776         * modules/exit: Remove file.
18777
18778 2011-05-01  Bruno Haible  <bruno@clisp.org>
18779
18780         Update DEPENDENCIES.
18781         * DEPENDENCIES (gettext): Recommend the newest release.
18782         Reported by Simon Josefsson.
18783
18784 2011-05-01  Bruno Haible  <bruno@clisp.org>
18785
18786         gnulib-tool: Reduce code duplication.
18787         * gnulib-tool (func_emit_autoconf_snippets): New function.
18788         (func_import, func_create_testdir): Use it.
18789
18790 2011-04-30  Eric Blake  <eblake@redhat.com>
18791
18792         fclose: don't fail on non-seekable input stream
18793         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18794         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18795         since fflush is allowed to fail in that case.
18796
18797 2011-04-30  Bruno Haible  <bruno@clisp.org>
18798
18799         dup3: cleanup
18800         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18801
18802 2011-04-30  Bruno Haible  <bruno@clisp.org>
18803
18804         netdb: Make it work in C++ mode.
18805         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18806         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18807         module.
18808         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18809         gl_MODULE_INDICATOR_FOR_TESTS.
18810         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18811         * modules/netdb-c++-tests: New file.
18812         * tests/test-netdb-c++.cc: New file.
18813
18814 2011-04-30  Bruno Haible  <bruno@clisp.org>
18815
18816         New modules 'vfscanf', 'vscanf'.
18817         * modules/vfscanf: New file.
18818         * modules/vscanf: New file.
18819         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18820         here.
18821         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18822         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18823
18824 2011-04-30  Bruno Haible  <bruno@clisp.org>
18825
18826         passfd: Add comments.
18827         * lib/passfd.c: Add comments about platforms.
18828
18829 2011-04-30  Bruno Haible  <bruno@clisp.org>
18830
18831         sys_uio: Make <sys/uio.h> self-contained.
18832         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18833         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18834
18835 2011-04-30  Bruno Haible  <bruno@clisp.org>
18836
18837         sys_socket: Ensure 'struct iovec' definition.
18838         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18839         <sys/socket.h>.
18840         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18841
18842 2011-04-30  Bruno Haible  <bruno@clisp.org>
18843
18844         sys_uio: Protect definition of 'struct iovec'.
18845         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18846         it as a C struct.
18847
18848 2011-04-30  Bruno Haible  <bruno@clisp.org>
18849
18850         manywarnings: fix indentation
18851         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18852
18853 2011-04-30  Pádraig Brady <P@draigBrady.com>
18854
18855         manywarnings: add -Wno-missing-field-initializers if needed.
18856         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18857         option if it's needed to allow initialization with { 0, }
18858
18859 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18860
18861         announce-gen: cosmetic improvement
18862         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18863
18864 2011-04-29  Jim Meyering  <meyering@redhat.com>
18865
18866         vc-list-files: indent with spaces, not TABs
18867         * build-aux/vc-list-files: Convert leading TABs to spaces,
18868         to match the style of most other files in gnulib.
18869
18870         announce-gen: indent with spaces, not TABs
18871         * build-aux/announce-gen: Convert all TABs to spaces, to match
18872         the style of most other files in gnulib.
18873
18874 2011-04-29  Eric Blake  <eblake@redhat.com>
18875
18876         quotearg: avoid uninitialized variable use
18877         * lib/quotearg.c (quoting_options_from_style): Initialize
18878         remaining fields, and ensure that custom styles are only used via
18879         quoting_options rather than quoting_style.
18880
18881 2011-04-29  Jim Meyering  <meyering@redhat.com>
18882
18883         maint.mk: remove unused VC-tag variable
18884         * top/maint.mk (VC-tag): Remove unused variable.
18885
18886 2011-04-29  Bruno Haible  <bruno@clisp.org>
18887
18888         netdb: fix gai_strerror replacements
18889         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18890         * modules/netdb: Substitute it.
18891
18892 2011-04-29  Jim Meyering  <meyering@redhat.com>
18893
18894         test-getcwd.c: avoid new set-but-not-used warning
18895         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18896         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18897         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18898         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18899
18900         test-hash.c: avoid a new shadowing warning
18901         * tests/test-hash.c (main): Don't shadow "dup".
18902
18903 2011-04-28  Eric Blake  <eblake@redhat.com>
18904
18905         getaddrinfo: fix gai_strerror signature
18906         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18907         and work around mingw with UNICODE defined.
18908         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18909         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18910         * modules/netdb (Makefile.am): Substitute it.
18911         * lib/netdb.in.h (gai_strerror): Declare replacement.
18912         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18913         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18914         the fix.
18915
18916         getsockopt: avoid compiler warning
18917         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18918         Reported by Matthias Bolte.
18919
18920         tests: drop unused link dependency
18921         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18922         * modules/dirent-safer-tests (Makefile.am): Likewise.
18923         * modules/fdopendir-tests (Makefile.am): Likewise.
18924         * modules/mkfifoat-tests (Makefile.am): Likewise.
18925         * modules/openat-safer-tests (Makefile.am): Likewise.
18926         * modules/openat-tests (Makefile.am): Likewise.
18927         * modules/readlinkat-tests (Makefile.am): Likewise.
18928         * modules/symlinkat-tests (Makefile.am): Likewise.
18929         * modules/linkat-tests (Makefile.am): Likewise.
18930         (Depends-on): Switch to filenamecat-lgpl.
18931         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18932         LIBINTL.
18933         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18934         * tests/test-linkat.c (main): Don't require xalloc.
18935
18936         hash, mgetgroups: drop xalloc dependency
18937         * lib/hash.c (includes): Adjust includes.
18938         * lib/mgetgroups.c (includes): Likewise.
18939         (xgetgroups): Move...
18940         * lib/xgetgroups.c: ...to new file.
18941         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
18942         * modules/xgetgroups: New file, split from...
18943         * modules/mgetgroups: ...here.
18944         (Depends-on): Add xalloc-oversized.
18945         * modules/hash (Depends-on): Likewise.
18946         * modules/hash-tests (Depends-on): Drop xalloc.
18947         (test_hash_LDADD): Drop unused library.
18948         * tests/test-hash.c (main): Break xalloc dependency.
18949         (includes): Drop unused include.
18950
18951         xalloc-oversized: new module
18952         * modules/xalloc-oversized: New module.
18953         * modules/xalloc (Depends-on): Add it.
18954         * lib/xalloc.h (xalloc_oversized): Move...
18955         * lib/xalloc-oversized.h: ...into new file.
18956
18957         utimecmp: drop dependency on xmalloc
18958         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
18959         due to memory pressure.
18960         * modules/utimecmp (Depends-on): Drop xalloc.
18961
18962 2011-04-27  Eric Blake  <eblake@redhat.com>
18963
18964         getcwd: fix mingw bugs
18965         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
18966         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
18967         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
18968
18969 2011-04-27  Bruno Haible  <bruno@clisp.org>
18970
18971         mkstemps: Ensure declaration on MacOS X 10.5.
18972         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
18973         * doc/glibc-functions/mkstemps.texi: Document header file problem on
18974         MacOS X.
18975
18976 2011-04-27  Bruno Haible  <bruno@clisp.org>
18977
18978         mkstemp: More documentation.
18979         * doc/posix-functions/mkstemp.texi: Document header file problem on
18980         MacOS X.
18981
18982 2011-04-27  Bruno Haible  <bruno@clisp.org>
18983
18984         mkstemp: Tweak configure message when cross-compiling.
18985         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18986         result as a guess.
18987
18988 2011-04-27  Bruno Haible  <bruno@clisp.org>
18989
18990         clean-temp: Clarify what it does.
18991         * lib/clean-temp.h: Add more comments.
18992         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18993         module.
18994         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18995         * doc/glibc-functions/mkstemps.texi: Likewise.
18996         * doc/glibc-functions/mkostemps.texi: Likewise.
18997
18998 2011-04-27  Eric Blake  <eblake@redhat.com>
18999
19000         fchdir: avoid extra chdir and fix test
19001         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
19002         getcwd-lgpl.
19003         * lib/fchdir.c (get_name): Any absolute name will do; it does not
19004         have to be canonical.
19005         (canonicalize_file_name): Drop unused macro.
19006         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
19007
19008         filenamecat-lgpl: fix licence
19009         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
19010         when it was first created.
19011
19012         linkat, renameat: add missing dependency
19013         * modules/linkat (Depends-on): Require getcwd-lgpl.
19014         * modules/renameat (Depends-on): Likewise.
19015
19016         tests: reduce dependencies
19017         * tests/test-linkat.c (main): Use lighter-weight getcwd.
19018         * tests/test-renameat.c (main): Likewise.
19019         * modules/linkat-tests (Depends-on): Relax dependency.
19020         * modules/renameat-tests (Depends-on): Likewise.
19021         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
19022         dependency explicit.
19023
19024         save-cwd: reduce default dependency
19025         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
19026         * lib/save-cwd.c: Update comments.
19027         * NEWS: Document the semantic change.
19028
19029         getcwd: enhance tests
19030         * tests/test-getcwd-lgpl.c: New file, taken from...
19031         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
19032         repeat long path stress tests from m4 probe.
19033         * modules/getcwd-lgpl-tests: New module.
19034         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
19035         * m4/getcwd-abort-bug.m4: Update comment.
19036         * m4/getcwd-path-max.m4: Likewise.
19037
19038         getcwd-lgpl: new module
19039         * modules/getcwd-lgpl: New module.
19040         * lib/getcwd-lgpl.c: New file.
19041         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19042         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19043         * modules/getcwd (configure.ac): Set C witness.
19044         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
19045
19046         getcwd: tweak comments
19047         * m4/getcwd-abort-bug.m4: Fix comments.
19048         * m4/getcwd-path-max.m4: Likewise.
19049         * m4/getcwd.m4: Likewise.
19050
19051 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19052         and Eric Blake  <eblake@redhat.com>
19053
19054         mkstemp: replace if system version uses wrong permissions
19055         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
19056         read/write mode bits set in file created by mkstemp.
19057         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
19058
19059 2011-04-27  Eric Blake  <eblake@redhat.com>
19060
19061         passfd: avoid compiler warning
19062         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
19063         Reported by Laine Stump.
19064
19065 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
19066
19067         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
19068         required by the NetBSD (and perhaps other 4.4BSD derived) join.
19069
19070 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19071         and Eric Blake  <eblake@redhat.com>
19072
19073         mkstemp: mention clean-temp module
19074         * lib/mkstemp.c: Add comment.
19075         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
19076
19077 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
19078
19079         inttypes: also provide default values for 32-bit tests
19080         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
19081         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
19082
19083 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19084
19085         strtoumax: remove dependency on strtoimax
19086         This is like the strtoull change of yesterday.
19087         * modules/strtoumax (Files): Add lib/strtoimax.c.
19088         (Depends-on): Remove strtoimax and add verify.
19089
19090         inttypes-incomplete: new module
19091         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
19092         all but the PRI* and SCN* parts of gl_INTTYPES_H.
19093         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
19094         of gl_INTTYPES_H.
19095         (gl_INTTYPES_H): Rewrite in terms of these new macros.
19096         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
19097         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
19098         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
19099         * modules/strtoumax, modules/xstrtol (Depends-on):
19100         Depend on inttypes-incomplete, not inttypes.
19101         * modules/inttypes-incomplete: New module, containing the contents
19102         of the old modules/inttypes module, except that the Files: section
19103         omits m4/inttypes-pri.m4, and the configure.ac section invokes
19104         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
19105         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
19106         (Depends-on): Depend only on inttypes-incomplete.
19107         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
19108
19109         inttypes: omit now-redundant strtoimax and strtoumax work
19110         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
19111         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
19112
19113         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
19114         This supports apps that need pointers to strtoimax and strtoumax,
19115         and ports to HP-UX 11.00 64.bit, which has macros that expand to
19116         nonexistent functions.  See
19117         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
19118         et seq.
19119         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
19120         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
19121         a macro.
19122         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19123
19124 2011-04-25  Simon Josefsson  <simon@josefsson.org>
19125
19126         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
19127
19128 2011-04-25  Bruno Haible  <bruno@clisp.org>
19129
19130         strtol, strtoul: Mark modules as obsolete.
19131         * modules/strtol (Status, Notice): New sections.
19132         * modules/strtoul (Status, Notice): New sections.
19133
19134 2011-04-25  Bruno Haible  <bruno@clisp.org>
19135
19136         strtod: Remove check for strtod, unless supporting old platforms.
19137         * modules/strtod-obsolete: New file.
19138         * m4/strtod-obsolete.m4: New file.
19139         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
19140         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
19141         * modules/strtod (Depends-on): Add strtod-obsolete.
19142         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
19143
19144 2011-04-25  Bruno Haible  <bruno@clisp.org>
19145
19146         strcase: Make module obsolete.
19147         * modules/strcase (Status, Notice): New sections.
19148
19149 2011-04-25  Bruno Haible  <bruno@clisp.org>
19150
19151         dup2: Remove check for dup2, unless supporting old obsolete platforms.
19152         * modules/dup2-obsolete: New file.
19153         * m4/dup2-obsolete.m4: New file.
19154         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
19155         gl_FUNC_DUP2_OBSOLETE is not also defined.
19156         * modules/dup2 (Depends-on): Add dup2-obsolete.
19157         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
19158
19159 2011-04-25  Bruno Haible  <bruno@clisp.org>
19160
19161         strnlen: Avoid memchr related link error on old obsolete platforms.
19162         * modules/memchr-obsolete: New file.
19163         * m4/memchr-obsolete.m4: New file.
19164         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
19165         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
19166         * modules/memchr (Depends-on): Add memchr-obsolete.
19167         * modules/strnlen (Depends-on): Likewise.
19168         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
19169
19170 2011-04-25  Jim Meyering  <meyering@redhat.com>
19171
19172         maint.mk: makefile_at_at_check extend and clean up
19173         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
19174         in addition to */Makefile.am.
19175         Exempt legitimate uses of @VAR@ notation, e.g.,
19176         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
19177         Remove obsolete coreutils-specific comment.
19178         Prompted by discussion here:
19179         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
19180
19181 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19182
19183         strtoul: remove dependency on strtol
19184         This is so that 'configure' need not check for strtol merely because
19185         the application needs strtoul.
19186         * modules/strtoul (Files): Add lib/strtol.c.
19187         (Depends-on): Remove strtol.
19188
19189         strtoull: remove dependency on strtoul
19190         This is like the strtoll change.
19191         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
19192         (Depends-on): Remove strtoul.
19193
19194         strtoll: remove dependency on strtol
19195         This is so that 'configure' need not check for strtol merely because
19196         the application needs strtoll.
19197         * modules/strtoll (Files): Add lib/strtol.c.
19198         (Depends-on): Remove strtol.
19199
19200 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19201
19202         inttypes: Move some configure check to module 'imaxdiv'.
19203         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
19204         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
19205         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
19206
19207 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19208
19209         inttypes: Move some configure check to module 'imaxabs'.
19210         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
19211         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
19212         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
19213
19214 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19215
19216         inttypes: Remove configure tests that are not needed since 2009-12-31.
19217         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
19218         gl_cv_header_working_inttypes_h.
19219
19220 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19221
19222         * modules/strnlen (Depends-on): Remove memchr.
19223         The strnlen implementation doesn't need the memchr module's fixes; see
19224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
19225
19226         strtol: remove dependency on wchar
19227         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
19228         * modules/strtol (Depends-on): Remove wchar.
19229
19230 2011-04-21  Eric Blake  <eblake@redhat.com>
19231
19232         passfd: fix test regression on Linux
19233         * modules/passfd-tests (configure.ac): Correct socketpair check.
19234
19235         passfd: speed up configure and drop unused code
19236         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
19237         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
19238         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
19239         Instead of probing at configure for unix_scm_rights_bsd44_way,
19240         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
19241         check to a struct member probe.
19242         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
19243         (sendfd, recvfd): Update preprocessor checks.
19244         * modules/passfd (Files): Reflect rename, and drop unused file.
19245         (Depends-on): Drop unused dependency.
19246
19247         passfd: allow compilation on mingw
19248         * modules/sys_socket (Depends-on): Add sys_uio.
19249         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
19250         iovec and a minimal struct msghdr.
19251         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
19252         * tests/test-sys_socket.c (main): Enhance test.
19253         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
19254         guaranteed to provide what we need.
19255         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
19256         * modules/passfd-tests (Depends-on): Add sys_wait.
19257         * tests/test-passfd.c (main): Skip test on mingw, for now.
19258         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
19259         partial 'struct msghdr' implementation.
19260
19261         sys_uio: new module
19262         * modules/sys_uio: New module.
19263         * modules/sys_uio-tests: Likewise.
19264         * lib/sys_uio.in.h: New file.
19265         * m4/sys_uio_h.m4: Likewise.
19266         * tests/test-sys_uio.c: Likewise.
19267         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
19268         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
19269
19270 2011-04-20  Jim Meyering  <meyering@redhat.com>
19271
19272         useless-if-before-free: avoid false-positive
19273         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
19274         disjunct so that it too requires a terminating ";".  Without that,
19275         this script would identify as useless one statement from gcc that
19276         was not:
19277           if (aligned_ptr)
19278             free (((void **) aligned_ptr) [-1]);
19279
19280 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
19281
19282         doc: update users.txt.
19283         * users.txt: Add barcode.
19284
19285 2011-04-19  Bruno Haible  <bruno@clisp.org>
19286
19287         ioctl: Remove link dependency on native Windows.
19288         * lib/fd-hook.h: Renamed from lib/close-hook.h.
19289         (gl_close_fn, gl_ioctl_fn): New types.
19290         (struct fd_hook): Renamed from struct close_hook. Change type of
19291         private_close_fn field. Add private_ioctl_fn field.
19292         (close_hook_fn): Add parameter for primary close method.
19293         (execute_close_hooks, execute_all_close_hooks): Likewise.
19294         (ioctl_hook_fn): New type.
19295         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
19296         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19297         argument.
19298         (unregister_fd_hook): Renamed from unregister_close_hook.
19299         * lib/fd-hook.c: Renamed from lib/close-hook.c.
19300         Don't include <unistd.h>.
19301         (close): Remove undef.
19302         (anchor): Update.
19303         (execute_close_hooks): Add argument for primary close method.
19304         (execute_all_close_hooks): Likewise.
19305         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
19306         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19307         argument. Allow each argument to be NULL.
19308         (unregister_fd_hook): Renamed from unregister_close_hook.
19309         * lib/close.c (rpl_close): Pass 'close' function pointer to
19310         execute_all_close_hooks.
19311         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
19312         (primary_ioctl): New function.
19313         (ioctl): Don't call ioctlsocket here. Instead, call
19314         execute_all_ioctl_hooks.
19315         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
19316         close method.
19317         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
19318         (fd_sockets_hook): Renamed from close_sockets_hook.
19319         (gl_sockets_startup, gl_sockets_cleanup): Update.
19320         * modules/fd-hook: Renamed from modules/close-hook. Update.
19321         * modules/close (Depends-on): Add fd-hook, remove close-hook.
19322         * modules/sockets (Depends-on): Likewise.
19323         * modules/ioctl (Depends-on): Add fd-hook.
19324         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
19325         GNULIB_SOCKET.
19326
19327 2011-04-19  Bruno Haible  <bruno@clisp.org>
19328
19329         Move the support of O_NONBLOCK in open() to the 'open' module.
19330         * modules/nonblocking (Depends-on): Remove 'open'.
19331         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
19332         gl_cv_have_open_O_NONBLOCK.
19333         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
19334         O_NONBLOCK support.
19335         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
19336
19337 2011-04-17  Bruno Haible  <bruno@clisp.org>
19338
19339         pipe2: Simplify code.
19340         * lib/pipe2.c (pipe2): Reduce code duplication.
19341
19342 2011-04-17  Bruno Haible  <bruno@clisp.org>
19343
19344         nonblocking: Add comment.
19345         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19346
19347 2011-04-17  Bruno Haible  <bruno@clisp.org>
19348
19349         nonblocking: Add tests for sockets.
19350         * tests/test-nonblocking-socket.sh: New file.
19351         * tests/test-nonblocking-socket-main.c: New file.
19352         * tests/test-nonblocking-socket-child.c: New file.
19353         * tests/test-nonblocking-socket.h: New file.
19354         * tests/socket-server.h: New file.
19355         * tests/socket-client.h: New file.
19356         * modules/nonblocking-socket-tests: New file.
19357         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19358
19359 2011-04-17  Bruno Haible  <bruno@clisp.org>
19360
19361         nonblocking: Add tests for pipes.
19362         * tests/test-nonblocking-pipe.sh: New file.
19363         * tests/test-nonblocking-pipe-main.c: New file.
19364         * tests/test-nonblocking-pipe-child.c: New file.
19365         * tests/test-nonblocking-pipe.h: New file.
19366         * tests/test-nonblocking-writer.h: New file.
19367         * tests/test-nonblocking-reader.h: New file.
19368         * tests/test-nonblocking-misc.h: New file.
19369         * modules/nonblocking-pipe-tests: New file.
19370         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19371
19372 2011-04-16  Bruno Haible  <bruno@clisp.org>
19373
19374         gettext: Clarify the needed programmer actions.
19375         * modules/gettext (Notice): New field.
19376         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19377
19378 2011-04-16  Bruno Haible  <bruno@clisp.org>
19379
19380         strchrnul: Tweak last commit.
19381         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19382         bug.
19383         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19384         as in _GL_FUNCDECL_SYS.
19385         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19386         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19387
19388 2011-04-15  Eric Blake  <eblake@redhat.com>
19389
19390         strchrnul: work around cygwin bug
19391         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19392         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19394         * modules/string (Makefile.am): Substitute it.
19395         * lib/string.in.h (strchrnul): Use it.
19396
19397 2011-04-15  Bruno Haible  <bruno@clisp.org>
19398
19399         Don't require lib/stdio-write.c when only module 'stdio' is used.
19400         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
19401         invocation.
19402         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
19403
19404 2011-04-14  Bruno Haible  <bruno@clisp.org>
19405
19406         Support non-blocking pipe I/O in read() on native Windows.
19407         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
19408         (read): New declaration.
19409         * lib/read.c: New file.
19410         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
19411         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
19412         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
19413         vscanf): New declarations.
19414         * lib/stdio-read.c: New file.
19415         * m4/read.m4: New file.
19416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
19417         REPLACE_READ.
19418         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
19419         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19420         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
19421         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
19422         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
19423         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19424         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19425         * modules/read: New file.
19426         * modules/nonblocking (Files): Add lib/stdio-read.c.
19427         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
19428         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
19429         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19430         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19431         * modules/pread (Depends-on): Add read.
19432         * modules/safe-read (Depends-on): Likewise.
19433         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
19434         gets, scanf, vfscanf, vscanf): Verify signatures.
19435         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
19436         problem with non-blocking pipes.
19437         * doc/posix-functions/fgetc.texi: Likewise.
19438         * doc/posix-functions/fgets.texi: Likewise.
19439         * doc/posix-functions/fread.texi: Likewise.
19440         * doc/posix-functions/fscanf.texi: Likewise.
19441         * doc/posix-functions/getc.texi: Likewise.
19442         * doc/posix-functions/getchar.texi: Likewise.
19443         * doc/posix-functions/gets.texi: Likewise.
19444         * doc/posix-functions/scanf.texi: Likewise.
19445         * doc/posix-functions/vfscanf.texi: Likewise.
19446         * doc/posix-functions/vscanf.texi: Likewise.
19447
19448 2011-04-14  Bruno Haible  <bruno@clisp.org>
19449
19450         Support non-blocking pipe I/O in write() on native Windows.
19451         * lib/write.c (rpl_write): Split a write request that failed merely
19452         because the byte count was larger than the pipe buffer's size.
19453         * doc/posix-functions/write.texi: Mention the problem with large byte
19454         counts.
19455
19456 2011-04-14  Bruno Haible  <bruno@clisp.org>
19457
19458         wchar: Ensure that wchar_t gets defined on uClibc.
19459         * lib/wchar.in.h: On uClibc, include <stddef.h>.
19460         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
19461
19462 2011-04-13  Bruno Haible  <bruno@clisp.org>
19463
19464         safe-write, full-read: Avoid unnecessary compilation units.
19465         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
19466         (Depends-on): Remove safe-read. Add ssize_t.
19467         * modules/full-read (Files): Add lib/full-write.c.
19468         (Depends-on): Add full-write.
19469
19470 2011-04-13  Bruno Haible  <bruno@clisp.org>
19471
19472         Support non-blocking pipe I/O and SIGPIPE in pwrite().
19473         * modules/pwrite (Depends-on): Add 'write'.
19474
19475 2011-04-13  Bruno Haible  <bruno@clisp.org>
19476
19477         Support non-blocking pipe I/O in write() on native Windows.
19478         * lib/unistd.in.h (write): Enable replacement also if
19479         GNULIB_UNISTD_H_NONBLOCKING is 1.
19480         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
19481         (rpl_write): When failing to write on a non-blocking pipe, change
19482         errno from ENOSPC to EAGAIN.
19483         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
19484         putchar, puts, vfprintf, vprintf): Enable replacement also if
19485         GNULIB_STDIO_H_NONBLOCKING is 1.
19486         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
19487         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
19488         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
19489         CALL_WITH_SIGPIPE_EMULATION.
19490         (CALL_WITH_SIGPIPE_EMULATION): Use them.
19491         * m4/nonblocking.m4: New file.
19492         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
19493         for non-blocking I/O support.
19494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19495         GNULIB_UNISTD_H_NONBLOCKING.
19496         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
19497         required for non-blocking I/O support.
19498         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
19499         * modules/nonblocking (Files): Add m4/nonblocking.m4,
19500         lib/stdio-write.c, m4/asm-underscore.m4.
19501         (Depends-on): Add stdio, unistd.
19502         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
19503         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
19504         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
19505         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
19506         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
19507         problem with non-blocking pipes.
19508         * doc/posix-functions/fputc.texi: Likewise.
19509         * doc/posix-functions/fputs.texi: Likewise.
19510         * doc/posix-functions/fwrite.texi: Likewise.
19511         * doc/posix-functions/printf.texi: Likewise.
19512         * doc/posix-functions/putc.texi: Likewise.
19513         * doc/posix-functions/putchar.texi: Likewise.
19514         * doc/posix-functions/puts.texi: Likewise.
19515         * doc/posix-functions/vfprintf.texi: Likewise.
19516         * doc/posix-functions/vprintf.texi: Likewise.
19517         * doc/posix-functions/write.texi: Likewise.
19518
19519 2011-04-10  Jim Meyering  <meyering@redhat.com>
19520
19521         maint.mk: prohibit doubled words
19522         Detect them also when they're separated by a newline.
19523         There are 3 ways to customize it:
19524           - disable the test on a per file basis, as usual with rules using
19525             $(VC_LIST_EXCEPT)
19526           - replace the default doubled-word-selecting regexp (affects all files)
19527           - ignore a particular file-vs-doubled-word match
19528         I nearly used that last one to ignore the "is is" match in
19529         coreutils' NEWS file, since the text was "ls -is is ..."
19530         To do that, I would have added this line to cfg.mk:
19531           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
19532         but it would have ignored any "is is" match in NEWS.
19533         Low probability, but still...
19534         Instead, I changed the text, slightly:
19535           -  ls -is is now consistent with ls -lis in ignoring values returned
19536           +  "ls -is" is now consistent with ls -lis in ignoring values returned
19537         * top/maint.mk (prohibit_double_word_RE_): Provide default.
19538         (prohibit_doubled_word_): Define.
19539         (sc_prohibit_doubled_word): New rule.
19540         (sc_prohibit_the_the): Remove.  Subsumed by the above.
19541
19542 2011-04-10  Jim Meyering  <meyering@redhat.com>
19543
19544         maint: fix doubled-word typo in comment
19545         * m4/gethostname.m4: s/is is/it is/
19546         * m4/getdomainname.m4: Likewise.
19547
19548 2011-04-10  Jim Meyering  <meyering@redhat.com>
19549
19550         maint: remove doubled word: s/it it/it/
19551         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
19552
19553 2011-04-10  Jim Meyering  <meyering@redhat.com>
19554
19555         maint.mk: remove useless semicolon and backslash
19556         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
19557         semicolon and backslash.
19558
19559 2011-04-10  Bruno Haible  <bruno@clisp.org>
19560
19561         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
19562         * modules/stdint-tests (Depends-on): Add wchar.
19563
19564 2011-04-10  Jim Meyering  <meyering@redhat.com>
19565
19566         maint: remove doubled words in comments, e.g., s/a a/a/
19567         * lib/strptime.c (day_of_the_week): s/the the/the/
19568         * tests/test-chown.h (test_chown): s/a a/a/
19569
19570         test-chown.h: correct a cast
19571         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
19572         when the destination is a stat.st_gid.
19573
19574 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
19575
19576         getaddrinfo: Fix test for sa_len member.
19577         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
19578         include <sys/types.h> before <sys/socket.h>.
19579
19580 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19581
19582         maint: change "can not" to "cannot"
19583         * doc/posix-functions/iconv.texi (iconv): This one crossed line
19584         boundaries.
19585
19586 2011-04-09  Jim Meyering  <meyering@redhat.com>
19587
19588         maint: change "a a" to "a"
19589         * tests/test-lchown.h (test_lchown): s/a a/a/
19590
19591         maint.mk: prohibit \<the the\>
19592         * top/maint.mk (sc_prohibit_the_the): New rule.
19593
19594         maint: fix "the the" in comment
19595         * lib/count-one-bits.h: s/the the/the/
19596
19597         maint: change "can not" to "cannot"
19598         But do not change the occurrences in maintain.texi or in
19599         build-aux/po/Makefile.in.in, which I presume comes from gettext.
19600         * doc/gnulib-tool.texi: s/can not/cannot/
19601         * doc/posix-functions/accept.texi (accept): Likewise.
19602         * doc/posix-functions/socket.texi (socket): Likewise.
19603         * lib/mbrtowc.c: Likewise.
19604
19605         maint.mk: prohibit use of "can not"
19606         * top/maint.mk (sc_prohibit_can_not): New rule.
19607         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
19608
19609 2011-04-09  Bruno Haible  <bruno@clisp.org>
19610
19611         careadlinkat: Guard against misuse of careadlinkatcwd.
19612         * lib/careadlinkat.c: Include <stdlib.h>.
19613         (careadlinkatcwd): Check that the fd argument is as expected.
19614
19615 2011-04-09  Bruno Haible  <bruno@clisp.org>
19616
19617         careadlinkat: Use common coding style.
19618         * lib/careadlinkat.c: Move gnulib includes after system includes.
19619
19620 2011-04-09  Bruno Haible  <bruno@clisp.org>
19621
19622         careadlinkat: Clarify specification.
19623         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
19624         (careadlinkatcwd): Add comment.
19625         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
19626
19627 2011-04-09  Bruno Haible  <bruno@clisp.org>
19628
19629         areadlinkat: Avoid link error on many platforms.
19630         * modules/areadlinkat (Depends-on): Add areadlink.
19631
19632 2011-04-09  Bruno Haible  <bruno@clisp.org>
19633
19634         allocator, careadlinkat: Fix double-inclusion guard.
19635         * lib/allocator.h: Fix double-inclusion guard.
19636         * lib/careadlinkat.h: Likewise.
19637
19638 2011-04-09  Bruno Haible  <bruno@clisp.org>
19639
19640         relocatable-prog-wrapper: Update after module 'areadlink' changed.
19641         * lib/relocwrapper.c: Update dependencies hierarchy.
19642         * build-aux/install-reloc: Update list of files to be compiled.
19643         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
19644         lib/allocator.[hc].
19645
19646 2011-04-08  Eric Blake  <eblake@redhat.com>
19647
19648         strftime: silence gnulib-tool warning
19649         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19650
19651 2011-04-08  Bruno Haible  <bruno@clisp.org>
19652
19653         verify: Fix syntax error with GCC 4.6 in C++ mode.
19654         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
19655         (HAVE_STATIC_ASSERT): New macro.
19656         (verify_true, verify): Use 'static_assert' if it is supported and
19657         '_Static_assert' is not supported.
19658
19659 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
19660
19661         allocator: New module.
19662         * modules/allocator, lib/allocator.c: New files.
19663         * lib/allocator.h (stdlib_allocator): New decl.
19664         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
19665         Remove.  Do not include <stdlib.h>.
19666         (careadlinkat): Use stdlib_allocator instead of rolling our own.
19667         * modules/careadlinkat (Files): Remove lib/allocator.h.
19668         (Depends-on): Add allocator.
19669
19670         stdlib: let modules use system malloc, realloc
19671         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
19672         if !_GL_USE_STDLIB_ALLOC.
19673         (malloc, realloc): Limit this change to a smaller scope.
19674
19675         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
19676         (malloc, realloc): Don't #undef; no longer needed.
19677         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19678         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19679         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19680         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19681         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19682         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19683         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19684         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19685
19686         careadlinkat: rename members to avoid problem
19687         * lib/allocator.h (struct allocator): Rename members from
19688         malloc/realloc to allocate/reallocate, to avoid problems if malloc
19689         and realloc are #define'd.  Reported by Eric Blake in
19690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
19691         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
19692
19693 2011-04-08  Eric Blake  <eblake@redhat.com>
19694
19695         nonblocking: reduce dependency
19696         * tests/test-nonblocking.c: Only test sockets when in use.
19697         * modules/nonblocking-tests (Depends-on): Drop socket.
19698         (Makefile.am): Link even if sockets are not present.
19699         * modules/pipe2-tests (Makefile.am): Likewise.
19700         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
19701
19702         pipe2: fix O_NONBLOCK support on mingw
19703         * modules/pipe2 (Depends-on): Add nonblocking.
19704         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
19705         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
19706         * tests/test-nonblocking.c (main): Likewise.
19707         * modules/pipe2-tests (Makefile.am): Avoid link failure.
19708
19709         fcntl-h: fix O_ACCMODE on cygwin
19710         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
19711         * lib/fcntl.in.h (O_ACCMODE): Fix it.
19712
19713         pipe-filter: drop O_NONBLOCK workarounds
19714         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
19715         * modules/pipe-filter-ii (Depends-on): Likewise.
19716         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
19717
19718         nonblocking: provide O_NONBLOCK for mingw
19719         * modules/nonblocking (Depends-on): Add open.
19720         (configure.ac): Set new witness macro.
19721         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
19722         * modules/fcntl-h (Makefile.am): Substitute it.
19723         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
19724         nonblocking module is in use.
19725         * lib/nonblocking.c: Adjust portability test.
19726         * lib/open.c (open): Don't let native open see gnulib flag.
19727         * tests/test-fcntl-h.c (main): Enhance test.
19728         * tests/test-open.h (test_open): Likewise.
19729         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
19730
19731         careadlinkat: fix compilation error on mingw
19732         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
19733         within struct allocator.
19734
19735 2011-04-06  Eric Blake  <eblake@redhat.com>
19736
19737         binary-io: relicense under LGPLv2+
19738         * modules/binary-io (License): Relax to LGPLv2+.
19739         Requested for libvirt, and required by pipe2.
19740
19741 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
19742
19743         verify: use _Static_assert if available
19744         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
19745         (verify_true, verify): Use it if available.  This generates better
19746         diagnostics with GCC 4.6.0 and later.
19747
19748 2011-04-05  Bruno Haible  <bruno@clisp.org>
19749
19750         Remove leftover generated .h files after config.status changed.
19751
19752         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
19753         GL_GENERATE_ALLOCA_H.
19754         * modules/alloca-opt (Makefile.am): Remove alloca.h if
19755         GL_GENERATE_ALLOCA_H evaluates to false.
19756
19757         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
19758         GL_GENERATE_ARGZ_H.
19759         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
19760         evaluates to false.
19761
19762         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
19763         GL_GENERATE_BYTESWAP_H.
19764         * modules/byteswap (Makefile.am): Remove byteswap.h if
19765         GL_GENERATE_BYTESWAP_H evaluates to false.
19766
19767         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19768         GL_GENERATE_ERRNO_H.
19769         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19770         evaluates to false.
19771
19772         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19773         GL_GENERATE_FLOAT_H.
19774         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19775         evaluates to false.
19776
19777         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19778         GL_GENERATE_FNMATCH_H.
19779         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19780         GL_GENERATE_FNMATCH_H evaluates to false.
19781
19782         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19783         GL_GENERATE_GLOB_H.
19784         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19785         evaluates to false.
19786
19787         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19788         automake conditional GL_GENERATE_ICONV_H.
19789         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19790         evaluates to false.
19791
19792         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19793         GL_GENERATE_NETINET_IN_H.
19794         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19795         GL_GENERATE_NETINET_IN_H evaluates to false.
19796
19797         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19798         conditional GL_GENERATE_PTHREAD_H.
19799         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19800         * modules/pthread (Makefile.am): Remove pthread.h if
19801         GL_GENERATE_PTHREAD_H evaluates to false.
19802
19803         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19804         GL_GENERATE_SCHED_H.
19805         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19806         evaluates to false.
19807
19808         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19809         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19810         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19811         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19812
19813         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19814         GL_GENERATE_STDARG_H.
19815         * modules/stdarg (Makefile.am): Remove stdarg.h if
19816         GL_GENERATE_STDARG_H evaluates to false.
19817
19818         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19819         GL_GENERATE_STDBOOL_H.
19820         * modules/stdbool (Makefile.am): Remove stdbool.h if
19821         GL_GENERATE_STDBOOL_H evaluates to false.
19822
19823         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19824         conditional GL_GENERATE_STDDEF_H.
19825         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19826         * modules/stddef (Makefile.am): Remove stddef.h if
19827         GL_GENERATE_STDDEF_H evaluates to false.
19828
19829         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19830         GL_GENERATE_STDINT_H.
19831         * modules/stdint (Makefile.am): Remove stdint.h if
19832         GL_GENERATE_STDINT_H evaluates to false.
19833
19834         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19835         GL_GENERATE_SYSEXITS_H.
19836         * modules/sysexits (Makefile.am): Remove sysexits.h if
19837         GL_GENERATE_SYSEXITS_H evaluates to false.
19838
19839         Reported by Karl Berry and Ralf Wildenhues.
19840
19841 2011-04-05  Bruno Haible  <bruno@clisp.org>
19842
19843         Ensure to rebuild generated .h files when config.status has changed.
19844         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19845         config.status.
19846         * modules/ctype (Makefile.am): Likewise.
19847         * modules/dirent (Makefile.am): Likewise.
19848         * modules/errno (Makefile.am): Likewise.
19849         * modules/fcntl-h (Makefile.am): Likewise.
19850         * modules/float (Makefile.am): Likewise.
19851         * modules/getopt-posix (Makefile.am): Likewise.
19852         * modules/glob (Makefile.am): Likewise.
19853         * modules/iconv-h (Makefile.am): Likewise.
19854         * modules/inttypes (Makefile.am): Likewise.
19855         * modules/langinfo (Makefile.am): Likewise.
19856         * modules/locale (Makefile.am): Likewise.
19857         * modules/math (Makefile.am): Likewise.
19858         * modules/netdb (Makefile.am): Likewise.
19859         * modules/netinet_in (Makefile.am): Likewise.
19860         * modules/poll-h (Makefile.am): Likewise.
19861         * modules/pthread (Makefile.am): Likewise.
19862         * modules/pty (Makefile.am): Likewise.
19863         * modules/sched (Makefile.am): Likewise.
19864         * modules/search (Makefile.am): Likewise.
19865         * modules/selinux-h (Makefile.am): Likewise.
19866         * modules/signal (Makefile.am): Likewise.
19867         * modules/spawn (Makefile.am): Likewise.
19868         * modules/stdarg (Makefile.am): Likewise.
19869         * modules/stdbool (Makefile.am): Likewise.
19870         * modules/stddef (Makefile.am): Likewise.
19871         * modules/stdint (Makefile.am): Likewise.
19872         * modules/stdio (Makefile.am): Likewise.
19873         * modules/stdlib (Makefile.am): Likewise.
19874         * modules/string (Makefile.am): Likewise.
19875         * modules/strings (Makefile.am): Likewise.
19876         * modules/sys_file (Makefile.am): Likewise.
19877         * modules/sys_ioctl (Makefile.am): Likewise.
19878         * modules/sys_select (Makefile.am): Likewise.
19879         * modules/sys_socket (Makefile.am): Likewise.
19880         * modules/sys_stat (Makefile.am): Likewise.
19881         * modules/sys_time (Makefile.am): Likewise.
19882         * modules/sys_times (Makefile.am): Likewise.
19883         * modules/sys_utsname (Makefile.am): Likewise.
19884         * modules/sys_wait (Makefile.am): Likewise.
19885         * modules/sysexits (Makefile.am): Likewise.
19886         * modules/termios (Makefile.am): Likewise.
19887         * modules/time (Makefile.am): Likewise.
19888         * modules/unistd (Makefile.am): Likewise.
19889         * modules/wchar (Makefile.am): Likewise.
19890         * modules/wctype-h (Makefile.am): Likewise.
19891         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19892
19893 2011-04-05  Bruno Haible  <bruno@clisp.org>
19894
19895         pipe2: Relicense under LGPLv2+.
19896         * modules/pipe2 (License): Change to LGPLv2+.
19897         Requested by Eric Blake, for libvirt.
19898
19899 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19900
19901         bootstrap: compute gnulib_extra_files after updating build_aux
19902         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19903         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19904
19905 2011-04-05  Eric Blake  <eblake@redhat.com>
19906
19907         bootstrap: preserve git whitelist item sorting
19908         * build-aux/bootstrap (sort_patterns): New function.
19909         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19910
19911 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19912
19913         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19914         sc_space_tab check.
19915
19916 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19917
19918         areadlink, areadlinkat: rewrite in terms of careadlinkat
19919         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19920         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19921         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19922         (malloc, realloc): Remove #undefs.
19923         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19924         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19925         readlink, ssize_t, stdint, unistd.
19926         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19927         areadlink, stdint.
19928
19929         careadlinkat: new module
19930         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19931         * modules/careadlinkat: New files, written by me with
19932         a review and feedback from Ben Pfaff in
19933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19934
19935 2011-04-01  Bruno Haible  <bruno@clisp.org>
19936
19937         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
19938         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
19939         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
19940         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
19941         Reported by Bruce Korb <bruce.korb@gmail.com>.
19942
19943 2011-04-01  Bruno Haible  <bruno@clisp.org>
19944
19945         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
19946         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
19947         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
19948         * modules/wcpcpy (Depends-on): Add extensions.
19949         * modules/wcpncpy (Depends-on): Likewise.
19950         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
19951         systems.
19952         * doc/posix-functions/wcpncpy.texi: Likewise.
19953         * doc/posix-functions/wcwidth.texi: Likewise.
19954
19955 2011-03-31  Eric Blake  <eblake@redhat.com>
19956
19957         nonblocking: fix mingw test failures
19958         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
19959         non-blocking flag on regular file.
19960         (get_nonblocking_flag): Set errno on invalid fd.
19961         * tests/test-nonblocking.c (main): Avoid test failure on
19962         directories if fchdir is not active.
19963         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
19964
19965 2011-03-31  Bruno Haible  <bruno@clisp.org>
19966
19967         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
19968         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
19969         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
19970         Reported by Simon Josefsson <simon@josefsson.org>.
19971
19972 2011-03-31  Bruno Haible  <bruno@clisp.org>
19973         and Eric Blake  <eblake@redhat.com>
19974
19975         nonblocking: new module
19976         * modules/nonblocking: New module.
19977         * modules/nonblocking-tests: Likewise.
19978         * lib/nonblocking.h: New file.
19979         * lib/nonblocking.c: Likewise.
19980         * tests/test-nonblocking.c: New test.
19981         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19982
19983 2011-03-30  Bruno Haible  <bruno@clisp.org>
19984
19985         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19986         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19987         instead of 'printf' format for GCC >= 4.4.
19988         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19989         (fprintf, printf, vfprintf, vprintf): Declare with
19990         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19991         the system's vfprintf() function.
19992         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19993
19994 2011-03-30  Eric Blake  <eblake@redhat.com>
19995
19996         passfd: fix scoping bug
19997         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19998         before sendmsg/recvmsg.
19999
20000         passfd: standardize coding conventions
20001         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
20002         can be learned at compile time.
20003         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
20004         ifdefs.
20005         (sendfd, recvfd): Follow gnulib code conventions.
20006
20007         passfd: fix incorrect sendmsg arguments
20008         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
20009         incorrect msg_controllen value.
20010         * modules/passfd-tests (Depends-on): Check for alarm.
20011         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
20012         Reported by Bastien ROUCARIES.
20013
20014 2011-03-30  Bruno Haible  <bruno@clisp.org>
20015
20016         c-strcasestr: Relicense under LGPLv2+.
20017         * modules/c-strcasestr (License): Change to LGPLv2+.
20018         Requested by Eric Blake, for libvirt.
20019
20020 2011-03-30  Simon Josefsson  <simon@josefsson.org>
20021
20022         * users.txt: Add libidn2.  Fix libtasn1 link.
20023
20024 2011-03-30  Jim Meyering  <meyering@redhat.com>
20025
20026         tests: readlink* ("",... fails with EINVAL on newer kernels
20027         readlink and readlinkat have typically failed with ENOENT for
20028         the invalid, empty file name,  "".  However, with the advent
20029         of linux-2.6.39, they fail with EINVAL.
20030         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
20031         when operating on the empty file name.
20032         * tests/test-readlink.h (test_readlink): Likewise.
20033
20034 2011-03-29  Bruno Haible  <bruno@clisp.org>
20035
20036         Relicense some modules under LGPLv2+, for libidn2.
20037         * modules/array-mergesort (License): Change to LGPLv2+.
20038         * modules/c-strcaseeq (License): Likewise.
20039         * modules/striconveh (License): Likewise.
20040         * modules/striconveha (License): Likewise.
20041         * modules/uniconv/base (License): Likewise.
20042         * modules/uniconv/u8-conv-from-enc (License): Likewise.
20043         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
20044         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
20045         * modules/unictype/base (License): Likewise.
20046         * modules/unictype/bidiclass-of (License): Likewise.
20047         * modules/unictype/category-M (License): Likewise.
20048         * modules/unictype/category-none (License): Likewise.
20049         * modules/unictype/category-of (License): Likewise.
20050         * modules/unictype/category-test (License): Likewise.
20051         * modules/unictype/category-test-withtable (License): Likewise.
20052         * modules/unictype/combining-class (License): Likewise.
20053         * modules/unictype/joiningtype-of (License): Likewise.
20054         * modules/unictype/scripts (License): Likewise.
20055         * modules/uninorm/base (License): Likewise.
20056         * modules/uninorm/canonical-decomposition (License): Likewise.
20057         * modules/uninorm/composition (License): Likewise.
20058         * modules/uninorm/decompose-internal (License): Likewise.
20059         * modules/uninorm/decomposition-table (License): Likewise.
20060         * modules/uninorm/nfc (License): Likewise.
20061         * modules/uninorm/nfd (License): Likewise.
20062         * modules/uninorm/u32-normalize (License): Likewise.
20063         * modules/unistr/base (License): Likewise.
20064         * modules/unistr/u32-cpy (License): Likewise.
20065         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
20066         * modules/unistr/u32-to-u8 (License): Likewise.
20067         * modules/unistr/u32-uctomb (License): Likewise.
20068         * modules/unistr/u8-check (License): Likewise.
20069         * modules/unistr/u8-mblen (License): Likewise.
20070         * modules/unistr/u8-mbtouc (License): Likewise.
20071         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
20072         * modules/unistr/u8-mbtoucr (License): Likewise.
20073         * modules/unistr/u8-prev (License): Likewise.
20074         * modules/unistr/u8-strlen (License): Likewise.
20075         * modules/unistr/u8-to-u32 (License): Likewise.
20076         * modules/unistr/u8-uctomb (License): Likewise.
20077         * modules/unitypes (License): Likewise.
20078         Requested by Simon Josefsson.
20079
20080 2011-03-29  Simon Josefsson  <simon@josefsson.org>
20081
20082         lib-symbol-visibility: Add a notice.
20083         * modules/lib-symbol-visibility (Notice): New field.
20084
20085 2011-03-29  Bruno Haible  <bruno@clisp.org>
20086
20087         getaddrinfo: Doc fix.
20088         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
20089         section "fixed in Gnulib".
20090
20091 2011-03-28  Simon Josefsson  <simon@josefsson.org>
20092
20093         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
20094         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
20095
20096 2011-03-26  Bruno Haible  <bruno@clisp.org>
20097
20098         unictype/property-byname: Reduce the number of load-time relocations.
20099         * lib/unictype/pr_byname.c: Include <stdlib.h>.
20100         (UC_PROPERTY_INDEX_*): New enumeration values.
20101         (uc_property_byname): Convert an index from the lookup table to an
20102         uc_property_t.
20103         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
20104         values.
20105
20106 2011-03-26  Bruno Haible  <bruno@clisp.org>
20107
20108         unictype/property-byname: Allow omitted word separators and aliases.
20109         * lib/unictype/pr_byname.gperf: Add property names without word
20110         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
20111         for 'space'.
20112
20113 2011-03-26  Bruno Haible  <bruno@clisp.org>
20114
20115         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
20116         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
20117         also hyphens to space.
20118         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
20119         without spaces.
20120         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
20121
20122 2011-03-26  Bruno Haible  <bruno@clisp.org>
20123
20124         unictype/joiningtype-byname: Recognize long names as well.
20125         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
20126         a long name.
20127         * lib/unictype/joiningtype_byname.c: Include <string.h>,
20128         unictype/joiningtype_byname.h.
20129         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
20130         * lib/unictype/joiningtype_byname.gperf: New file.
20131         * modules/unictype/joiningtype-byname (Files): Add
20132         lib/unictype/joiningtype_byname.gperf.
20133         (Depends-on): Add gperf.
20134         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
20135         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
20136         long names.
20137
20138         Tests for module 'unictype/joiningtype-longname'.
20139         * modules/unictype/joiningtype-longname-tests: New file.
20140         * tests/unictype/test-joiningtype_longname.c: New file.
20141
20142         New module 'unictype/joiningtype-longname'.
20143         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
20144         * lib/unictype/joiningtype_longname.c: New file.
20145         * modules/unictype/joiningtype-longname: New file.
20146         * modules/unictype/joiningtype-all (Depends-on): Add
20147         unictype/joiningtype-longname.
20148
20149 2011-03-26  Bruno Haible  <bruno@clisp.org>
20150
20151         unictype/bidiclass-byname: Recognize long names as well.
20152         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
20153         name.
20154         * lib/unictype/bidi_byname.c: Include <string.h>,
20155         unictype/bidi_byname.h.
20156         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
20157         * lib/unictype/bidi_byname.gperf: New file.
20158         * modules/unictype/bidiclass-byname (Files): Add
20159         lib/unictype/bidi_byname.gperf.
20160         (Depends-on): Add gperf.
20161         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
20162         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
20163         long names.
20164
20165         Tests for module 'unictype/bidiclass-longname'.
20166         * modules/unictype/bidiclass-longname-tests: New file.
20167         * tests/unictype/test-bidi_longname.c: New file.
20168
20169         New module 'unictype/bidiclass-longname'.
20170         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
20171         * lib/unictype/bidi_longname.c: New file.
20172         * modules/unictype/bidiclass-longname: New file.
20173         * modules/unictype/bidiclass-all (Depends-on): Add
20174         unictype/bidiclass-longname.
20175
20176 2011-03-26  Bruno Haible  <bruno@clisp.org>
20177
20178         unictype/bidi*: Rename modules.
20179         * modules/unictype/bidiclass-all: Renamed from
20180         modules/unictype/bidicategory-all.
20181         * modules/unictype/bidiclass-name: Renamed from
20182         modules/unictype/bidiclass-name.
20183         (Description): Update.
20184         * modules/unictype/bidiclass-name-tests: Renamed from
20185         modules/unictype/bidicategory-name-tests.
20186         * modules/unictype/bidiclass-byname: Renamed from
20187         modules/unictype/bidicategory-byname.
20188         (Description): Update.
20189         * modules/unictype/bidiclass-byname-tests: Renamed from
20190         modules/unictype/bidicategory-byname-tests.
20191         * modules/unictype/bidiclass-of: Renamed from
20192         modules/unictype/bidicategory-of.
20193         (Description): Update.
20194         * modules/unictype/bidiclass-of-tests: Renamed from
20195         modules/unictype/bidicategory-of-tests.
20196         * modules/unictype/bidiclass-test: Renamed from
20197         modules/unictype/bidicategory-test.
20198         (Description): Update.
20199         * modules/unictype/bidiclass-test-tests: Renamed from
20200         modules/unictype/bidicategory-test-tests.
20201         * modules/unictype/bidicategory-all: New file, a simple redirection.
20202         * modules/unictype/bidicategory-name: Likewise.
20203         * modules/unictype/bidicategory-byname: Likewise.
20204         * modules/unictype/bidicategory-of: Likewise.
20205         * modules/unictype/bidicategory-test: Likewise.
20206         * modules/unictype/property-bidi-* (Dependencies): Update.
20207         * lib/unictype/bidi_*.c: Update comment.
20208
20209 2011-03-26  Bruno Haible  <bruno@clisp.org>
20210
20211         unictype/bidi*: Rename functions, part 2.
20212         * modules/unictype/bidicategory-name (configure.ac): Update required
20213         libunistring version.
20214         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
20215
20216 2011-03-25  Bruno Haible  <bruno@clisp.org>
20217
20218         New module 'unictype/combining-class-all'.
20219         * modules/unictype/combining-class-all: New file.
20220
20221         Tests for module 'unictype/combining-class-byname'.
20222         * modules/unictype/combining-class-byname-tests: New file.
20223         * tests/unictype/test-combiningclass_byname.c: New file.
20224
20225         New module 'unictype/combining-class-byname'.
20226         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
20227         * lib/unictype/combiningclass_byname.c: New file.
20228         * lib/unictype/combiningclass_byname.gperf: New file.
20229         * modules/unictype/combining-class-byname: New file.
20230
20231         Tests for module 'unictype/combining-class-longname'.
20232         * modules/unictype/combining-class-longname-tests: New file.
20233         * tests/unictype/test-combiningclass_longname.c: New file.
20234
20235         New module 'unictype/combining-class-longname'.
20236         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
20237         * lib/unictype/combiningclass_longname.c: New file.
20238         * modules/unictype/combining-class-longname: New file.
20239
20240         Tests for module 'unictype/combining-class-name'.
20241         * modules/unictype/combining-class-name-tests: New file.
20242         * tests/unictype/test-combiningclass_name.c: New file.
20243
20244         New module 'unictype/combining-class-name'.
20245         * lib/unictype.in.h (uc_combining_class_name): New declaration.
20246         * lib/unictype/combiningclass_name.c: New file.
20247         * modules/unictype/combining-class-name: New file.
20248
20249 2011-03-25  Bruno Haible  <bruno@clisp.org>
20250
20251         unictype/combining-class: Rename source files.
20252         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
20253         of unictype/combining.h.
20254         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
20255         Update.
20256         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
20257         * modules/unictype/combining-class (Description): Fix.
20258         (Files, Makefile.am): Update.
20259         * tests/unictype/test-combiningclass.c: Renamed from
20260         tests/unictype/test-combining.c.
20261         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
20262
20263 2011-03-25  Bruno Haible  <bruno@clisp.org>
20264
20265         unictype: Update list of canonical combining classes.
20266         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
20267
20268 2011-03-25  Bruno Haible  <bruno@clisp.org>
20269
20270         unictype/category-byname: Recognize long names as well.
20271         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
20272         a long name.
20273         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
20274         unictype/categ_byname.h.
20275         (UC_CATEGORY_INDEX_*): New enumeration values.
20276         (uc_general_category_byname): Use uc_general_category_lookup and
20277         convert from index to value.
20278         * lib/unictype/categ_byname.gperf: New file.
20279         * modules/unictype/category-byname (Files): Add
20280         lib/unictype/categ_byname.gperf.
20281         (Depends-on): Add gperf.
20282         (Makefile.am): Add rule for generating unictype/categ_byname.h.
20283         * tests/unictype/test-categ_byname.c (main): Test the recognition of
20284         long names.
20285
20286         Tests for module 'unictype/category-longname'.
20287         * modules/unictype/category-longname-tests: New file.
20288         * tests/unictype/test-categ_longname.c: New file.
20289
20290         New module 'unictype/category-longname'.
20291         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
20292         * lib/unictype/categ_longname.c: New file.
20293         * modules/unictype/category-longname: New file.
20294         * modules/unictype/category-all (Depends-on): Add it.
20295
20296 2011-03-25  Bruno Haible  <bruno@clisp.org>
20297
20298         Tests for module 'unictype/category-LC'.
20299         * modules/unictype/category-LC-tests: New file.
20300         * tests/unictype/test-categ_LC.c: New file, automatically generated.
20301
20302         New module 'unictype/category-LC'.
20303         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
20304         (UC_CATEGORY_LC): New declaration.
20305         (UC_CASED_LETTER): New macro.
20306         * lib/gen-uni-tables.c (is_category_LC): New function.
20307         (output_categories): Also handle category LC.
20308         (UC_CATEGORY_MASK_LC): New enumeration value.
20309         (general_category_byname): Also handle category LC.
20310         * lib/unictype/categ_LC.c: New file.
20311         * lib/unictype/categ_LC.h: New file, automatically generated.
20312         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
20313         category LC.
20314         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
20315         * modules/unictype/category-LC: New file.
20316         * modules/unictype/category-byname (Depends-on): Add
20317         unictype/category-LC.
20318         * modules/unictype/category-all (Depends-on): Likewise.
20319
20320 2011-03-25  Eric Blake  <eblake@redhat.com>
20321
20322         xmalloc: revert yesterday's regression
20323         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
20324         realloc's underlying behavior (allowing allocation of zero-size
20325         objects, especially if malloc-gnu is also in use).
20326
20327 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
20328
20329         maint.mk: add missing version to VC-tag
20330         * top/maint.mk: git tag was missing actual tag name; add it.
20331
20332         valgrind: do leak checking, and exit with code 1 on error (not 0)
20333         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
20334         to VALGRIND.
20335
20336 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
20337
20338         posix-modules: say what it does.
20339         * posix-modules: Add a line to the --help output saying what it does.
20340
20341 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
20342
20343         xmalloc: Do not leak if underlying realloc is C99 compatible.
20344         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20345         This avoids a leak on C99-based systems.  See
20346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20347
20348 2011-03-24  Eric Blake  <eblake@redhat.com>
20349
20350         realloc: document portability problem
20351         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20352         passing 0 size to realloc.
20353
20354 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20355
20356         doc: update users.txt
20357         * users.txt: Add cvsps, tmpwatch
20358
20359 2011-03-23  Matt Rice  <ratmice@gmail.com>
20360
20361         doc: update users.txt
20362         * users.txt: Add gdb.
20363
20364 2011-03-23  Jim Meyering  <meyering@redhat.com>
20365
20366         doc: update users.txt
20367         Looking through matches up to the following URL (there are still
20368         several more pages), I found several projects that use gnulib:
20369         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20370         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20371         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20372
20373 2011-03-22  Bruno Haible  <bruno@clisp.org>
20374
20375         unictype/bidi*: Rename functions.
20376         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20377         uc_bidi_class, uc_is_bidi_class): New declarations.
20378         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20379         uc_bidi_category_byname.
20380         (uc_bidi_category_byname): New function.
20381         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20382         u_bidi_category_name.
20383         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20384         (uc_bidi_category_name): New function.
20385         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20386         uc_bidi_category.
20387         (uc_bidi_category): New function.
20388         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20389         uc_is_bidi_category. Invoke uc_bidi_class.
20390         (uc_is_bidi_category): New function.
20391         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20392         instead of uc_bidi_category_byname.
20393         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20394         instead of uc_bidi_category_name.
20395         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20396         uc_bidi_category.
20397         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20398         instead of uc_is_bidi_category.
20399
20400 2011-03-21  Bruno Haible  <bruno@clisp.org>
20401
20402         New module 'unictype/joininggroup-all'.
20403         * modules/unictype/joininggroup-all: New file.
20404
20405         Tests for module 'unictype/joininggroup-of'.
20406         * modules/unictype/joininggroup-of-tests: New file.
20407         * tests/unictype/test-joininggroup_of.c: New file.
20408         * tests/unictype/test-joininggroup_of.h: New file, automatically
20409         generated by gen-uni-tables.
20410
20411         New module 'unictype/joininggroup-of'.
20412         * modules/unictype/joininggroup-of: New file.
20413         * lib/unictype/joininggroup_of.c: New file.
20414         * lib/unictype/joininggroup_of.h: New file, automatically generated by
20415         gen-uni-tables.
20416
20417         Tests for module 'unictype/joininggroup-byname'.
20418         * modules/unictype/joininggroup-byname-tests: New file.
20419         * tests/unictype/test-joininggroup_byname.c: New file.
20420
20421         New module 'unictype/joininggroup-byname'.
20422         * modules/unictype/joininggroup-byname: New file.
20423         * lib/unictype/joininggroup_byname.c: New file.
20424         * lib/unictype/joininggroup_byname.gperf: New file.
20425
20426         Tests for module 'unictype/joininggroup-name'.
20427         * modules/unictype/joininggroup-name-tests: New file.
20428         * tests/unictype/test-joininggroup_name.c: New file.
20429
20430         New module 'unictype/joininggroup-name'.
20431         * modules/unictype/joininggroup-name: New file.
20432         * lib/unictype/joininggroup_name.c: New file.
20433         * lib/unictype/joininggroup_name.h: New file.
20434
20435         New module 'unictype/joiningtype-all'.
20436         * modules/unictype/joiningtype-all: New file.
20437
20438         Tests for module 'unictype/joiningtype-of'.
20439         * modules/unictype/joiningtype-of-tests: New file.
20440         * tests/unictype/test-joiningtype_of.c: New file.
20441         * tests/unictype/test-joiningtype_of.h: New file, automatically
20442         generated by gen-uni-tables.
20443
20444         New module 'unictype/joiningtype-of'.
20445         * modules/unictype/joiningtype-of: New file.
20446         * lib/unictype/joiningtype_of.c: New file.
20447         * lib/unictype/joiningtype_of.h: New file, automatically generated by
20448         gen-uni-tables.
20449
20450         Tests for module 'unictype/joiningtype-byname'.
20451         * modules/unictype/joiningtype-byname-tests: New file.
20452         * tests/unictype/test-joiningtype_byname.c: New file.
20453
20454         New module 'unictype/joiningtype-byname'.
20455         * modules/unictype/joiningtype-byname: New file.
20456         * lib/unictype/joiningtype_byname.c: New file.
20457
20458         Tests for module 'unictype/joiningtype-name'.
20459         * modules/unictype/joiningtype-name-tests: New file.
20460         * tests/unictype/test-joiningtype_name.c: New file.
20461
20462         New module 'unictype/joiningtype-name'.
20463         * modules/unictype/joiningtype-name: New file.
20464         * lib/unictype/joiningtype_name.c: New file.
20465
20466         unictype: Add support for Arabic shaping properties.
20467         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
20468         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
20469         declarations.
20470         (UC_JOINING_GROUP_*): New enumeration values.
20471         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
20472         declarations.
20473         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
20474         (unicode_joining_type): New variable.
20475         (UC_JOINING_GROUP_*): New enumeration values.
20476         (unicode_joining_group): New variable.
20477         (fill_arabicshaping, joining_type_as_c_identifier,
20478         output_joining_type_test, output_joining_type,
20479         joining_group_as_c_identifier, output_joining_group_test,
20480         output_joining_group): New functions.
20481         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
20482         fill_arabicshaping and output_joining_type_test, output_joining_type,
20483         output_joining_group_test, output_joining_group.
20484         Reported by Simon Josefsson.
20485
20486 2011-03-21  Jim Meyering  <meyering@redhat.com>
20487
20488         strftime: fix a bug in yesterday's change
20489         * lib/strftime.c (add): Accommodate width's initial value of -1.
20490         Otherwise, nstrftime would copy uninitialized data into
20491         the result buffer.
20492
20493 2011-03-21  Jim Meyering  <meyering@redhat.com>
20494
20495         tests: add strftime-tests module
20496         * tests/test-strftime.c: New file.
20497         * modules/strftime-tests: New module.
20498
20499 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20500
20501         strftime: don't assume a byte count fits in 'int'
20502         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
20503         found this problem by static analysis, using gcc -Wstrict-overflow
20504         (GCC 4.5.2, x86-64).  This reported an optimization that depended
20505         on an integer overflow having undefined behavior, but it turns out
20506         that the argument is a size, which might not fit in 'int' anyway,
20507
20508 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20509
20510         stdio: don't require ignore_value around fwrite
20511
20512         This patch works around libc bug 11959
20513         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
20514         Without this patch, applications must often write
20515         ignore_value (fwrite (...)) even though the ignore_value is
20516         not helpful here.  It's common to write many objects, using
20517         fwrite/printf/etc., and then use ferror to detect output error.
20518
20519         I considered making this patch optional, but decided against it,
20520         because libc is obviously being inconsistent here: there is no
20521         reason libc should insist that user code must inspect fwrite
20522         return's value without also insisting that it inspect printf's,
20523         putchar's, etc.  If user code wants to have a strict style where
20524         all these functions' values are checked (so that ferror need not
20525         be checked), we could add support for that style in a new gnulib
20526         module, but in the meantime it's better to be consistent and to
20527         support common usage.
20528
20529         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
20530         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
20531         that we are compiling in checking mode, and if not C++, and
20532         if not already wrapping fwrite for some other reason.
20533         (fwrite): #define to rpl_fwrite if the latter is defined.
20534
20535 2011-03-20  Bruno Haible  <bruno@clisp.org>
20536
20537         verror: Fix compilation error introduced on 2011-02-13.
20538         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
20539         instead of __attribute__.
20540         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20541
20542 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20543             Bruno Haible  <bruno@clisp.org>
20544
20545         socklen: do not depend on sys_socket
20546         While trying to modify Emacs to use gnulib's socklen module,
20547         I discovered a circular dependency: socklen depends on sys_socket
20548         and vice versa.  Emacs can use socklen, but it does not need
20549         sys_socket because it has its own substitute for sys/socket.h.
20550         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
20551         gl_TYPE_SOCKLEN_T.
20552         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
20553         gl_PREREQ_SYS_H_SOCKET.
20554         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
20555         gl_PREREQ_SYS_H_SOCKET.
20556         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
20557         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
20558         * modules/socklen (Depends-on): Do not depend on sys_socket.
20559         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
20560
20561 2011-03-20  Jim Meyering  <meyering@redhat.com>
20562
20563         maint.mk: sort file names *after* new transformation
20564         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
20565         prefix would have led to an unwarranted failure in GNU parted.
20566         Sort after that transformation.
20567
20568 2011-03-19  Jim Meyering  <meyering@redhat.com>
20569
20570         maint.mk: fix po-file syntax-check rule
20571         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
20572         Patch by Bruno Haible.
20573
20574 2011-03-19  Bruno Haible  <bruno@clisp.org>
20575
20576         socklen: Update comment.
20577         * m4/socklen.m4: Update comment about platforms.
20578
20579 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20580             Bruno Haible  <bruno@clisp.org>
20581
20582         inet_ntop, inet_pton: Simplify.
20583         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
20584         documented to provide socklen_t and we already depend on sys_socket.
20585         * modules/inet_pton (Depends-on): Likewise.
20586         * lib/arpa_inet.in.h: Adjust comment.
20587
20588 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20589             Bruno Haible  <bruno@clisp.org>
20590
20591         netdb: Simplify.
20592         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
20593         documented to provide socklen_t and we already depend on sys_socket.
20594         * lib/netdb.in.h: Adjust comment.
20595
20596 2011-03-19  Bruno Haible  <bruno@clisp.org>
20597
20598         sys_socket, netdb: Document problem with socklen_t.
20599         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
20600         platforms.
20601         * doc/posix-headers/netdb.texi: Likewise.
20602
20603 2011-03-18  Eric Blake  <eblake@redhat.com>
20604
20605         maint.mk: let po check work in VPATH build
20606         * top/maint.mk (po_file): Allow cfg.mk override.
20607         (sc_po_check): Allow VPATH use.
20608         Reported by Jiri Denemark.
20609
20610 2011-03-16  Jim Meyering  <meyering@redhat.com>
20611
20612         maint.mk: allow fine-grained syntax-check exclusion via Make variables
20613         Before, you would have had to create one .x-sc_ file per rule in order
20614         to exempt offending files.  Now, you may instead use a Make variable --
20615         usually defined in cfg.mk -- whose name identifies the affected rule.
20616         * top/maint.mk (_sc_excl): Define.
20617         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
20618         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
20619
20620 2011-03-13  Bruno Haible  <bruno@clisp.org>
20621
20622         ignore-value tests: Avoid warnings.
20623         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
20624         empty for gcc < 3.4.
20625
20626 2011-03-13  Bruno Haible  <bruno@clisp.org>
20627
20628         passfd: Fix link error on Solaris.
20629         * modules/passfd (Description): Correct.
20630         (Depends-on): Add socketlib.
20631         (Link): New section.
20632         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
20633
20634 2011-03-13  Bruno Haible  <bruno@clisp.org>
20635
20636         passfd: Fix link error on AIX 5.2.
20637         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
20638
20639 2011-03-13  Bruno Haible  <bruno@clisp.org>
20640
20641         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
20642         * lib/sys_socket.in.h: Include <stddef.h>.
20643         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
20644         CMSG_FIRSTHDR. Remove unused variable.
20645
20646 2011-03-13  Bruno Haible  <bruno@clisp.org>
20647
20648         passfd: Fix compilation error on OpenBSD.
20649         * lib/passfd.c: Include <sys/uio.h>.
20650
20651 2011-03-13  Bruno Haible  <bruno@clisp.org>
20652
20653         passfd test: Fix warnings.
20654         * tests/test-passfd.c: Include <sys/wait.h>.
20655         (main): Fix typo.
20656
20657 2011-03-13  Bruno Haible  <bruno@clisp.org>
20658
20659         passfd module, part 4, tweaks.
20660         * tests/test-passfd.c: Reorder includes.
20661         (main): Fix perror and printf calls.
20662
20663 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20664
20665         passfd module, part 4.
20666         * modules/passfd-tests: New file.
20667         * tests/test-passfd.c: New file.
20668
20669 2011-03-13  Jim Meyering  <meyering@redhat.com>
20670
20671         Makefile: rely on GNU make; derive syntax-check rule names
20672         Rather than requiring that each sc_ rule be listed as a dependent
20673         of "check", use features of GNU make to derive the list.
20674         * Makefile (syntax-check-rules): Define.
20675         (check): Depend on the new variable, not the hard-coded list.
20676
20677 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
20678             Bruno Haible  <bruno@clisp.org>
20679
20680         passfd module, part 3.
20681         * lib/passfd.h (recvfd): Add a flags argument.
20682         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
20683         (recvfd): Add a flags argument.
20684         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
20685         exists.
20686         * modules/passfd (Depends-on): Add cloexec.
20687         Suggested by Eric Blake.
20688
20689 2011-03-13  Bruno Haible  <bruno@clisp.org>
20690
20691         passfd module, part 2, tweaks.
20692         * modules/passfd (Files): Reorder.
20693         (Depends-on): Remove errno.
20694         (Include): Remove <sys/socket.h>, <sys/un.h>.
20695         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
20696         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
20697         specification header. Include <sys/socket.h> always. Don't include
20698         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
20699         (sendfd): Clarify that it sets errno when it fails.
20700         (recvfd): Fix specification.
20701
20702 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20703
20704         passfd module, part 2.
20705         * modules/passfd: New file.
20706         * lib/passfd.h: New file.
20707         * lib/passfd.c: New file.
20708
20709 2011-03-12  Bruno Haible  <bruno@clisp.org>
20710
20711         wcswidth, mbswidth: Avoid integer overflow.
20712         * lib/wcswidth.c: Include <limits.h>.
20713         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
20714         * lib/mbswidth.c: Include <limits.h>.
20715         (mbsnwidth): Avoid 'int' overflow.
20716         Reported by Jim Meyering.
20717
20718 2011-03-12  Bruno Haible  <bruno@clisp.org>
20719
20720         futimens, utimensat: Avoid endless recursion on Solaris 10.
20721         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
20722         Solaris.
20723         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
20724         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
20725
20726 2011-03-11  Jim Meyering  <meyering@redhat.com>
20727
20728         maint.mk: relax a regexp to accommodate other formatting styles
20729         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
20730         between "ngettext" and the following "(".
20731
20732 2011-03-11  Pádraig Brady <P@draigBrady.com>
20733
20734         maint.mk: suppress a false positive warning
20735         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
20736         diagnostics are marked with ngettext.
20737
20738 2011-03-10  Eric Blake  <eblake@redhat.com>
20739
20740         wchar: add explicit dependencies, for Tru64
20741         * modules/mbmemcasecoll (Depends-on): Add wchar.
20742         * modules/mbtowc (Depends-on): Likewise.
20743         * modules/vasnprintf (Depends-on): Likewise.
20744         * modules/unistdio/u-printf-args (Depends-on): Likewise.
20745         * modules/wctomb (Depends-on): Likewise.
20746         Reported by Peter O'Gorman.
20747
20748 2011-03-08  Bruno Haible  <bruno@clisp.org>
20749
20750         passfd module, part 1, tweaks.
20751         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
20752         Improve indentation. Improve AC_MSG_CHECKING messages.
20753         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
20754         gl_SOCKET_FAMILIES.
20755
20756 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20757
20758         passfd module, part 1.
20759         * m4/afunix.m4: New file.
20760         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
20761         sockets.
20762
20763 2011-03-08  Bruno Haible  <bruno@clisp.org>
20764
20765         regex-quote: New API.
20766         * lib/regex-quote.h: Include <stdbool.h>.
20767         (struct regex_quote_spec): New type.
20768         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20769         New declarations.
20770         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20771         'const struct regex_quote_spec *' argument.
20772         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20773         (pcre_special): New constant.
20774         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20775         New functions.
20776         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20777         'const struct regex_quote_spec *' argument.
20778         * modules/regex-quote (Depends-on): Add stdbool.
20779         * tests/test-regex-quote.c (check): Update for new API. Add test for
20780         anchored results.
20781         * NEWS: Mention the API change.
20782         Reported by Reuben Thomas and Eric Blake.
20783
20784 2011-03-06  Bruno Haible  <bruno@clisp.org>
20785
20786         regex-quote: Fix creation of POSIX extended regular expressions.
20787         * lib/regex-quote.c (ere_special): Add grouping and alternation
20788         operators.
20789
20790 2011-03-05  Bruno Haible  <bruno@clisp.org>
20791
20792         doc: Improve doc regarding autopoint vs. gnulib.
20793         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20794         disable autopoint while running autoreconf.
20795         Suggested by Ralf Wildenhues.
20796
20797 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20798
20799         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20800         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20801
20802 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20803
20804         parse-duration: remove xalloc.h dependency
20805         * lib/parse-duration.c (parse_period): handle NULL return from
20806         strdup instead of calling xstrdup().
20807         * modules/parse-duration: remove "xalloc" dependency
20808
20809 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20810
20811         bootstrap: honor m4_base when running aclocal
20812         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20813
20814 2011-03-02  Jim Meyering  <meyering@redhat.com>
20815
20816         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20817         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20818         on request from Matt Booth.
20819
20820 2011-03-01  Eric Blake  <eblake@redhat.com>
20821
20822         test-link: work on Hurd
20823         * tests/test-link.h (test_link): Hurd rejects linking directories
20824         with EISDIR instead of the POSIX-mandated EPERM.
20825
20826 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20827
20828         stdio: simplify by moving files to printf-posix, sigpipe
20829         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20830         since this symbol is needed only if printf is replaced.
20831         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20832         Require gl_ASM_SYMBOL_PREFIX.
20833         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20834         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20835         (Depends-on): Add 'raise'.
20836         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20837         * modules/stdio (Files): Remove lib/stdio-write.c,
20838         m4/asm-underscore.m4.
20839         (Depends-on): Remove 'raise'.
20840
20841         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20842         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20843         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20844         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20845
20846 2011-02-28  Bruno Haible  <bruno@clisp.org>
20847
20848         localcharset: Assume ANSI C behaviour of free().
20849         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20850         calling free().
20851         Suggested by Simon Josefsson <simon@josefsson.org>.
20852
20853 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20854             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20855             Bruno Haible  <bruno@clisp.org>  (tiny change)
20856
20857         On Cygwin, use /proc file system instead of win32 API.
20858         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20859         Win32 file names.
20860         (DllMain): Simplify by removing Cygwin specific code.
20861         (find_shared_library_fullname): Use Linux specific implementation also
20862         for Cygwin.
20863         (get_shared_library_fullname): Update accordingly.
20864         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20865         Win32 file names.
20866         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20867         Cygwin specific code.
20868
20869 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20870             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20871
20872         Fix OpenMP flag detection for various Fortran compilers.
20873         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20874         OpenMP-conditional compilation construct, to force compile
20875         failure with missing OpenMP flag.
20876         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20877
20878 2011-02-25  Eric Blake  <eblake@redhat.com>
20879
20880         strstr: expand test coverage
20881         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20882         compilation.
20883         * tests/test-memmem.c (main): Duplicate tests.
20884         * tests/test-strcasestr.c (main): Likewise.
20885         * tests/test-c-strcasestr.c (main): Likewise.
20886
20887 2011-02-25  Jim Meyering  <meyering@redhat.com>
20888
20889         maint.mk: detect missing-NL-at-EOF, too
20890         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20891         it also detects when a file lacks a newline at EOF.
20892         (require_exactly_one_NL_at_EOF_): Renamed from
20893         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20894         since people may well have .x-sc_... file names tied to the
20895         existing name.  Suggested by Eric Blake.
20896
20897 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20898
20899         dirname: move m4/dos.m4 functionality into lib/dosname.h
20900
20901         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20902         extracts symbols from it, puts them into config.h; but it's much
20903         easier to use the symbols directly.  filename.h already does this,
20904         but it disagrees with dos.m4 in some respects.  This patch
20905         introduces a different include file dosname.h that packages up
20906         dos.m4, and then later we can work on merging filename.h and
20907         dosname.h.  Applications that need only the easy-to-configure
20908         symbols should consider including dosname.h rather than dirname.h.
20909         * NEWS: Mention incompatible changes.
20910         * m4/dos.m4: Remove.
20911         * lib/dosname.h, modules/dosname: New files.
20912         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20913         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20914         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20915         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20916         Include dosname.h, not dirname.h.
20917         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20918         Include dosname.h, for definitions of symbols like ISSLASH
20919         that used to be in config.h.
20920         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20921         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20922         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20923         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20924         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20925         * modules/rmdir (Files): Likewise.
20926         * modules/stat (Files): Likewise.
20927         * modules/unlink (Files): Likewise.
20928         * modules/dirname-lgpl (Depends-on): Add dosname.
20929         * modules/lstat (Depends-on): Likewise.
20930         * modules/openat (Depends-on): Likewise.
20931         * modules/rmdir (Depends-on): Likewise.
20932         * modules/savewd (Depends-on): Likewise.
20933         * modules/stat (Depends-on): Likewise.
20934         * modules/unlink (Depends-on): Likewise.
20935         * modules/openat (Depends-on): Remove dirname-lgpl.
20936         * modules/savewd (Depends-on): Likewise.
20937         * tests/test-dirname.c: Do not use removed symbols like
20938         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
20939         the remaining symbols, e.g., ISSLASH ('\\').
20940
20941 2011-02-25  Eric Blake  <eblake@redhat.com>
20942
20943         strstr: revert patches that introduced bug and pessimization
20944         * lib/str-two-way.h: Add another reference.
20945         (two_way_short_needle, two_way_long_needle): Revert changes from
20946         2011-02-24; they pessimize search speed.
20947         (critical_factorization): Partially revert changes from
20948         2010-06-22; they violate the requirement that the left half of the
20949         needle be smaller than the period of the needle.
20950
20951 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20952
20953         filenamecat: remove unnecessary dependency on dirname-lgpl
20954         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
20955         is no direct dependency, just an indirect one via filenamecat-lgpl.
20956
20957         remove: remove unnecessary use of m4/dos.m4
20958         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
20959         * modules/remove (FILES): Remove m4/dos.m4.
20960
20961         * lib/openat-proc.c: Don't include dirname.h; not needed.
20962
20963         backupfile: remove unnecessary use of m4/dos.m4
20964         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
20965         of its symbols are used by the backupfile code.  backupfile.c does
20966         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
20967         for the rare case of programs that want all their backup file
20968         names to live within 8+3 limits, and dos.m4 doesn't address that.
20969         * modules/backupfile (Files): Remove m4/dos.m4.
20970
20971 2011-02-24  Jim Meyering  <meyering@redhat.com>
20972
20973         strstr: fix a bug whereby strstr would mistakenly return NULL
20974         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
20975         in period calculation.
20976         (two_way_long_needle): Likewise.
20977         The original problem was reported by Mike Stump in
20978         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20979         Ralf Wildenhues provided the short needle and haystack.
20980         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20981         Add a more involved test to trigger the bug in two_way_long_needle.
20982
20983 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20984
20985         gnulib-tool: remove use of bold display in help screen
20986         * gnulib-tool (func_usage): Do not use bold display anymore in the
20987         help screen.  That was just meant to be a temporary emphasis for a
20988         backward-incompatible change.
20989
20990 2011-02-23  Bruno Haible  <bruno@clisp.org>
20991
20992         Fix misindentation of preprocessor directives.
20993         * lib/argp-namefrob.h: Reindent preprocessor directives.
20994         * lib/getopt_int.h (struct _getopt_data): Likewise.
20995         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20996         * lib/vasnprintf.c (decode_long_double): Likewise.
20997         * tests/test-argmatch.c: Insert blank lines, for clarity.
20998         * tests/test-exclude.c: Likewise.
20999
21000 2011-02-22  Bruno Haible  <bruno@clisp.org>
21001
21002         ioctl: Fix for MacOS X in 64-bit mode.
21003         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
21004         value.
21005         Suggested by Eric Blake.
21006         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
21007
21008 2011-02-22  Jim Meyering  <meyering@redhat.com>
21009
21010         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
21011         * Makefile (sc_cpp_indent_check): Don't limit the check to files
21012         in lib/.
21013
21014 2011-02-22  Eric Blake  <eblake@redhat.com>
21015
21016         maint: avoid any CDPATH issue
21017         * Makefile (sc_cpp_indent_check): Anchor cd argument.
21018
21019         maint: adjust cpp indentation for my modules, as well
21020         * Makefile (sc_cpp_indent_check): Add my name.
21021         * lib/fbufmode.c: Filter through cppi.
21022         * lib/fpurge.c: Likewise.
21023         * lib/freadable.c: Likewise.
21024         * lib/freading.c: Likewise.
21025         * lib/fwritable.c: Likewise.
21026         * lib/fwriting.c: Likewise.
21027         * lib/sigaction.c: Likewise.
21028
21029 2011-02-22  Jim Meyering  <meyering@redhat.com>
21030
21031         maint: adjust cpp indentation to reflect nesting depth
21032         I.e., in a block of code that begins with an unnested "#if",
21033         put one space between the "#" in column 1 and following token.
21034         For example,
21035         -#include <sys/vfs.h>
21036         +# include <sys/vfs.h>
21037         Do this only in .c files that are part of a module I maintain.
21038         * lib/linkat.c: Filter through cppi.
21039         * lib/nanosleep.c: Likewise.
21040         * lib/openat.c: Likewise.
21041         * lib/openat-die.c: Likewise.
21042         * lib/dup3.c: Likewise.
21043         * lib/fchownat.c: Likewise.
21044         * lib/flock.c: Likewise.
21045         * lib/fsync.c: Likewise.
21046         * lib/fts.c: Likewise.
21047         * lib/getpass.c: Likewise.
21048         * lib/gettimeofday.c: Likewise.
21049         * lib/userspec.c: Likewise.
21050         * Makefile (sc_cpp_indent_check): New rule, to check this.
21051
21052 2011-02-22  Bruno Haible  <bruno@clisp.org>
21053
21054         New module 'wctomb'.
21055         * lib/stdlib.in.h (wctomb): New declaration.
21056         * lib/wctomb.c: New file.
21057         * lib/wctomb-impl.h: New file.
21058         * m4/wctomb.m4: New file.
21059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
21060         REPLACE_WCTOMB.
21061         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
21062         REPLACE_WCTOMB.
21063         * modules/wctomb: New file.
21064         * tests/test-stdlib-c++.cc: Test signature of wctomb.
21065         * doc/posix-functions/wctomb.texi: Mention the new module.
21066         * modules/wctob (Depends-on): Add wctomb.
21067
21068 2011-02-22  Bruno Haible  <bruno@clisp.org>
21069
21070         New module 'mbtowc'.
21071         * lib/stdlib.in.h (mbtowc): New declaration.
21072         * lib/mbtowc.c: New file.
21073         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
21074         * m4/mbtowc.m4: New file.
21075         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
21076         REPLACE_MBTOWC.
21077         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
21078         REPLACE_MBTOWC.
21079         * modules/mbtowc: New file.
21080         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
21081         * doc/posix-functions/mbtowc.texi: Mention the new module.
21082         * modules/btowc (Depends-on): Add mbtowc.
21083
21084 2011-02-22  Bruno Haible  <bruno@clisp.org>
21085
21086         wcrtomb: Add more tests for native Windows platforms.
21087         * tests/test-wcrtomb-w32-1.sh: New file.
21088         * tests/test-wcrtomb-w32-2.sh: New file.
21089         * tests/test-wcrtomb-w32-3.sh: New file.
21090         * tests/test-wcrtomb-w32-4.sh: New file.
21091         * tests/test-wcrtomb-w32-5.sh: New file.
21092         * tests/test-wcrtomb-w32.c: New file.
21093         * modules/wcrtomb-tests (Files): Add them.
21094         (Makefile.am): Arrange to run these tests.
21095         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
21096         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
21097
21098 2011-02-20  Bruno Haible  <bruno@clisp.org>
21099
21100         wcrtomb: Enhance test.
21101         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
21102
21103 2011-02-20  Bruno Haible  <bruno@clisp.org>
21104
21105         mbrtowc: Tiny optimization.
21106         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
21107
21108 2011-02-20  Jim Meyering  <meyering@redhat.com>
21109
21110         test-exclude.c: remove unmatched #endif
21111         * tests/test-exclude.c: Remove stray #endif, left over from
21112         the change of a week ago.
21113
21114 2011-02-19  Jim Meyering  <meyering@redhat.com>
21115
21116         git-version-gen: skip "-dirty" check when appropriate
21117         * build-aux/git-version-gen: Don't run any git commands when the
21118         version string comes from .tarball-version.  Prior to this, we
21119         would run git update-index --refresh even from a just-unpacked
21120         tarball directory, and that could affect a .git/ directory in a
21121         parent of the build directory.  Reported by Mike Frysinger.
21122
21123 2011-02-19  Bruno Haible  <bruno@clisp.org>
21124
21125         unictype/property-byname: Reduce the size of the 'data' segment.
21126         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
21127
21128 2011-02-19  Bruno Haible  <bruno@clisp.org>
21129
21130         unictype/scripts: Reduce the size of the 'data' segment.
21131         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
21132         '%pic'.
21133         * lib/unictype/scripts_byname.gperf: Regenerated.
21134
21135 2011-02-19  Bruno Haible  <bruno@clisp.org>
21136
21137         stdint: Update documentation.
21138         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
21139
21140 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21141
21142         stdint: omit redundant check for wchar.h
21143         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
21144         always tests whether wchar.h exists, so remove the now-redundant test.
21145
21146 2011-02-18  Bruno Haible  <bruno@clisp.org>
21147
21148         stdint: Cut dependency to module 'wchar'.
21149         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
21150         include the necessary prerequisites.
21151         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
21152         * modules/stdint (Depends-on): Remove wchar.
21153         (Makefile.am): Substitute HAVE_WCHAR_H.
21154         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
21155
21156 2011-02-18  Eric Blake  <eblake@redhat.com>
21157
21158         longlong: skip, rather than fail, on cross-compilation
21159         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
21160         when cross-compiling; regression from 2011-02-16.
21161
21162 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21163
21164         * NEWS: Mention 2011-02-08 change to stdlib.
21165
21166 2011-02-17  Bruno Haible  <bruno@clisp.org>
21167
21168         getloadavg: Add comments about platforms.
21169         * m4/getloadavg.m4: Add comment.
21170         * lib/getloadavg.c: Likewise.
21171
21172 2011-02-17  Bruno Haible  <bruno@clisp.org>
21173
21174         getloadavg: Fix link error on Solaris 2.6.
21175         * modules/getloadavg (Link): New section.
21176         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
21177         linking test-getloadavg.
21178         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
21179         getloadavg.
21180
21181 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21182
21183         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
21184         It was 'int', but this doesn't match the IRIX 6.5 manual.
21185         Suggested by Bruno Haible in
21186         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
21187
21188 2011-02-17  Bruno Haible  <bruno@clisp.org>
21189
21190         havelib: Fix comments.
21191         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
21192         change.
21193
21194 2011-02-17  Bruno Haible  <bruno@clisp.org>
21195
21196         havelib: Update config.rpath.
21197         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
21198
21199 2011-02-17  Bruno Haible  <bruno@clisp.org>
21200
21201         getloadavg test: Add some plausibility checks.
21202         * tests/test-getloadavg.c (check_avg): Print a warning when the value
21203         is improbable.
21204
21205 2011-02-16  Eric Blake  <eblake@redhat.com>
21206
21207         maintainer-makefile: make syntax-check a no-op from tarballs
21208         * top/maint.mk (no-vc-detected): New rule.
21209         (local-checks-available): Use it to avoid hanging if someone tries
21210         'make syntax-check' from a tarball.  Also append to any non-syntax
21211         checks already defined in cfg.mk.
21212
21213 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21214
21215         longlong: tune, particularly for common case of c99
21216
21217         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
21218         or running anything if c99, or if unsigned long long int does not
21219         work.  In either case, we know the answer without further tests.
21220         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
21221         it at most once, and use its results for both long long int and
21222         unsigned long long int.  This is more likely to be efficient in
21223         the common case where the program wants to check for both long
21224         long int and unsigned long long int.
21225         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
21226         since the answer is already known.
21227
21228 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21229
21230         getloadavg: set errno
21231         * lib/getloadavg.c: Set errno when returning -1.  If no other
21232         error number looks appropriate, set it to ENOSYS if the getloadavg
21233         looks like it can't possibly ever work, ENOTSUP otherwise.
21234         Suggested by Bruno Haible in
21235         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
21236
21237         getloadavg: trim unused parts and speed up 'configure'
21238         * NEWS: Document this.
21239         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
21240         always compiled if getloadavg is absent.
21241         Move test code to ...
21242         * tests/test-getloadavg.c: New file, containing previous
21243         contents of test from lib/getloadavg.c.  It also contains
21244         suggestions by Bruno Haible in
21245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
21246         * modules/getloadavg-tests: New file.
21247         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
21248         Do tests in the same order as they're needed for getloadavg.c.
21249         Omit setgid-related tests that generate symbols KMEM_GROUP,
21250         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
21251         Do only the tests that are needed to see whether the system has
21252         getloadavg, moving the other tests into ...
21253         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
21254         NLIST_NAME_UNION; nobody should be using it.  Do not define
21255         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
21256         relevant, as the user of this module shouldn't care how getloadavg
21257         is implemented.
21258
21259         getloadavg: omit unused var
21260         * lib/getloadavg.c (getloadavg): Omit unused local variable.
21261
21262 2011-02-15  Jim Meyering  <meyering@redhat.com>
21263
21264         doc: update users.txt
21265         * users.txt: Update iwhd's URL.
21266
21267 2011-02-13  Bruno Haible  <bruno@clisp.org>
21268
21269         Consistent macro naming for macros that use GCC __attribute__.
21270         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
21271         _ATTRIBUTE_NONNULL_.
21272         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
21273         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
21274         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
21275         ATTRIBUTE_DEPRECATED.
21276         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
21277         ATTRIBUTE_NORETURN.
21278         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21279         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21280         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21281         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21282         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
21283         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
21284         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
21285         ATTRIBUTE_SENTINEL.
21286         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
21287         ATTRIBUTE_RETURN_CHECK.
21288         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
21289         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
21290         ATTRIBUTE_NORETURN.
21291         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
21292         Reported by Paul Eggert.
21293
21294 2011-02-13  Bruno Haible  <bruno@clisp.org>
21295
21296         Don't interfere with a program's definition of __attribute__.
21297         * lib/argp.h (__attribute__): Remove definition.
21298         (_GL_ATTRIBUTE_FORMAT): New macro.
21299         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
21300         * lib/argp-fmtstream.h (__attribute__): Remove definition.
21301         (_GL_ATTRIBUTE_FORMAT): New macro.
21302         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
21303         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
21304         GCC 3 or newer.
21305         * lib/error.h (__attribute__): Remove definition.
21306         (_GL_ATTRIBUTE_FORMAT): New macro.
21307         (error, error_at_line): Use it.
21308         * lib/hash.h (__attribute__): Remove definition.
21309         (ATTRIBUTE_WUR): Update definition. Define always.
21310         * lib/openat.h (__attribute__): Remove definition.
21311         (ATTRIBUTE_NORETURN): Update definition. Define always.
21312         * lib/sigpipe-die.h (__attribute__): Remove definition.
21313         (ATTRIBUTE_NORETURN): Update definition. Define always.
21314         * lib/vasnprintf.h (__attribute__): Remove definition.
21315         (_GL_ATTRIBUTE_FORMAT): New macro.
21316         (asnprintf, vasnprintf): Use it.
21317         * lib/xalloc.h (__attribute__): Remove definition.
21318         (ATTRIBUTE_NORETURN): Update definition. Define always.
21319         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
21320         * lib/xmemdup0.h (__attribute__): Remove definition.
21321         (ATTRIBUTE_NORETURN): Update definition. Define always.
21322         * lib/xprintf.h (__attribute__): Remove definition.
21323         (_GL_ATTRIBUTE_FORMAT): New macro.
21324         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
21325         * lib/xstrtol.h (__attribute__): Remove definition.
21326         (ATTRIBUTE_NORETURN): Update definition. Define always.
21327         * lib/xvasprintf.h (__attribute__): Remove definition.
21328         (_GL_ATTRIBUTE_FORMAT): New macro.
21329         (xasprintf, xvasprintf): Use it.
21330         * tests/test-argmatch.c (__attribute__): Remove definition.
21331         (ATTRIBUTE_NORETURN): Update definition. Define always.
21332         * tests/test-exclude.c (__attribute__): Remove definition.
21333         (ATTRIBUTE_NORETURN): Update definition. Define always.
21334         Reported by Paul Eggert.
21335
21336 2011-02-13  Bruno Haible  <bruno@clisp.org>
21337
21338         mbrtowc: Add more tests for native Windows platforms.
21339         * tests/test-mbrtowc-w32-1.sh: New file.
21340         * tests/test-mbrtowc-w32-2.sh: New file.
21341         * tests/test-mbrtowc-w32-3.sh: New file.
21342         * tests/test-mbrtowc-w32-4.sh: New file.
21343         * tests/test-mbrtowc-w32-5.sh: New file.
21344         * tests/test-mbrtowc-w32.c: New file.
21345         * modules/mbrtowc-tests (Files): Add them.
21346         (Makefile.am): Arrange to run these tests.
21347         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21348         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21349
21350 2011-02-13  Bruno Haible  <bruno@clisp.org>
21351
21352         mbrtowc: Work around native Windows bug.
21353         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21354         guess when no suitable locale for testing was found.
21355         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21356
21357 2011-02-13  Bruno Haible  <bruno@clisp.org>
21358
21359         mbsinit: Work around mingw bug.
21360         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21361         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21362         Windows.
21363         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21364
21365 2011-02-13  Bruno Haible  <bruno@clisp.org>
21366
21367         mbsinit: Don't crash for a NULL argument.
21368         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21369         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21370
21371 2011-02-13  Bruno Haible  <bruno@clisp.org>
21372
21373         Don't interfere with a program's definition of __attribute__.
21374         * lib/stdio.in.h (__attribute__): Remove definition.
21375         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21376         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21377         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21378         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21379         * lib/string.in.h (__attribute__): Remove definition.
21380         Reported by Paul Eggert.
21381
21382 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21383
21384         stdlib: don't get in the way of non-GCC __attribute__
21385         See thread starting at
21386         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21387         Revert previous stdlib change, installing the following instead:
21388         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21389         to get in the way of a non-GCC compiler that supports __attribute__.
21390         (_GL_ATTRIBUTE_RETURN): New macro.
21391         (_Exit): Use it instead of __attribute__.
21392
21393 2011-02-12  Bruno Haible  <bruno@clisp.org>
21394
21395         quotearg test: Avoid test failure on mingw.
21396         * tests/test-quotearg.sh: Convert the locale identifier from native
21397         Windows syntax to Unix syntax.
21398
21399 2011-02-12  Bruno Haible  <bruno@clisp.org>
21400
21401         setlocale: Prefer gnulib's override over libintl's override.
21402         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
21403         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
21404         GNULIB_defined_setlocale is set.
21405
21406 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21407
21408         stdlib: support non-GCC __attribute__
21409
21410         Fix a serious and tricky problem encountered when attempting to
21411         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
21412         5.5, but it crashed due to memory corruption on Solaris 10 with
21413         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
21414         bits that are otherwise zero.  This tagging is optional inside
21415         Emacs but is preferred and is used when __attribute__ ((__aligned
21416         (8))) works, as it does with both recent-enough GCC and with Sun C
21417         5.11.  However, Sun C 5.11 is not GCC and does not #define
21418         __GNUC__ and __GNUC_MINOR__.
21419
21420         When I added the getloadavg module to Emacs, it brought in
21421         stdlib.in.h, which contained this fragment:
21422
21423            #ifndef __attribute__
21424            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
21425            #  define __attribute__(Spec)   /* empty */
21426            # endif
21427            #endif
21428
21429         When files that include <stdlib.h> were compiled with Sun C 5.11,
21430         the above code disabled __attribute__ ((__aligned (8))), which
21431         caused variables to not be properly aligned, which eventually led
21432         to the pointer corruption mentioned above.  (This was a bit hard
21433         to diagnose, unfortunately.)
21434
21435         Several "#define __attribute__(X) /* empty */" code snippets need
21436         to be eradicated from Gnulib to work with non-GCC compilers that
21437         support __attribute__.  The Autoconf way to do this is to test for
21438         each kind of attribute that we want support for, and selectively
21439         enable that in source code.
21440
21441         Fix this problem just for stdlib.h, by adding a test for the
21442         __noreturn__ attribute, and change stdlib.in.h to use that test
21443         when needed.  This technique can be easily generalized to the
21444         other *.in.h files and attributes, and a similar technique can be
21445         used for *.h and *.c files.  This patch is enough to solve the
21446         problem for Emacs + getloadavg, and I thought I'd publish it for
21447         feedback before undertaking further, similar fixes in other
21448         modules.
21449
21450         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
21451         because it's not needed for stdlib.h.  It merely substitutes the
21452         value directly into stdlib.h.  We may well need to #define it, or
21453         similar symbols, for other modules, but it's nice to also have an
21454         option to not #define it for applications like Emacs that do not
21455         need it.
21456
21457         * lib/stdlib.in.h (__attribute__): Do not #define.
21458         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
21459         be defined only if the _Exit module is also used.
21460         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
21461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
21462         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
21463         platforms.
21464         * modules/_Exit (Files): Add m4/attribute.m4.
21465         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
21466         * m4/attribute.m4: New file.
21467
21468 2011-02-12  Bruno Haible  <bruno@clisp.org>
21469
21470         wcsrtombs: Work around bug on native Windows.
21471         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
21472         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
21473         instead of len.
21474         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
21475
21476 2011-02-12  Bruno Haible  <bruno@clisp.org>
21477
21478         mbsrtowcs: Work around bug on native Windows.
21479         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
21480         against mingw bug.
21481         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
21482
21483 2011-02-12  Bruno Haible  <bruno@clisp.org>
21484
21485         Avoid setlocale bugs in tests.
21486         * modules/btowc (Dependencies): Add setlocale.
21487         * modules/c-strcase (Dependencies): Likewise.
21488         * modules/mbmemcasecmp (Dependencies): Likewise.
21489         * modules/mbmemcasecoll (Dependencies): Likewise.
21490         * modules/mbrtowc (Dependencies): Likewise.
21491         * modules/mbscasecmp (Dependencies): Likewise.
21492         * modules/mbscasestr (Dependencies): Likewise.
21493         * modules/mbschr (Dependencies): Likewise.
21494         * modules/mbscspn (Dependencies): Likewise.
21495         * modules/mbsinit (Dependencies): Likewise.
21496         * modules/mbsncasecmp (Dependencies): Likewise.
21497         * modules/mbsnrtowcs (Dependencies): Likewise.
21498         * modules/mbspbrk (Dependencies): Likewise.
21499         * modules/mbspcasecmp (Dependencies): Likewise.
21500         * modules/mbsrchr (Dependencies): Likewise.
21501         * modules/mbsrtowcs (Dependencies): Likewise.
21502         * modules/mbsspn (Dependencies): Likewise.
21503         * modules/mbsstr (Dependencies): Likewise.
21504         * modules/nl_langinfo (Dependencies): Likewise.
21505         * modules/quotearg (Dependencies): Likewise.
21506         * modules/unicase/locale-language (Dependencies): Likewise.
21507         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
21508         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
21509         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
21510         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
21511         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
21512         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
21513         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
21514         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
21515         * modules/vasnprintf-posix (Dependencies): Likewise.
21516         * modules/wcrtomb (Dependencies): Likewise.
21517         * modules/wcsnrtombs (Dependencies): Likewise.
21518         * modules/wcsrtombs (Dependencies): Likewise.
21519
21520 2011-02-12  Bruno Haible  <bruno@clisp.org>
21521
21522         setlocale: Workaround native Windows bug.
21523         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
21524         succeeds but sets LC_CTYPE to "C", report a failure.
21525         * tests/test-setlocale2.sh: New file.
21526         * tests/test-setlocale2.c: New file.
21527         * modules/setlocale-tests (Files): Add the new files.
21528         (Makefile.am): Enable test-setlocale2.sh test.
21529         * doc/posix-functions/setlocale.texi: Mention workaround.
21530
21531 2011-02-11  Bruno Haible  <bruno@clisp.org>
21532
21533         Tests for module 'setlocale'.
21534         * modules/setlocale-tests: New file.
21535         * tests/test-setlocale1.sh: New file.
21536         * tests/test-setlocale1.c: New file.
21537
21538         New module 'setlocale'.
21539         * lib/locale.in.h (setlocale): New declaration.
21540         * lib/setlocale.c: New file, based on
21541         gettext/gettext-runtime/intl/setlocale.c.
21542         * m4/setlocale.m4: New file.
21543         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
21544         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
21545         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
21546         REPLACE_SETLOCALE.
21547         * modules/setlocale: New file.
21548         * tests/test-locale-c++.cc: Test the declaration of setlocale.
21549         * doc/posix-functions/setlocale.texi: Mention the new module.
21550
21551 2011-02-11  Bruno Haible  <bruno@clisp.org>
21552
21553         Prepare for locale dependent tests on mingw.
21554         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
21555         because it has the wrong locale encoding.
21556         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
21557         French_France.1252 instead of "fr".
21558         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
21559         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
21560         because it has the wrong locale encoding.
21561         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
21562         native Windows, try Turkish_Turkey.65001.
21563         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
21564         Chinese_China.54936.
21565
21566         Prepare for locale dependent tests on mingw.
21567         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
21568         differently.
21569         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
21570         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
21571         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
21572         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21573
21574 2011-02-11  Eric Blake  <eblake@redhat.com>
21575
21576         strptime: avoid compiler warnings
21577         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
21578         compiler warnings about dead code.
21579         Reported by Daniel P. Berrange.
21580
21581 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
21582
21583         doc: update users.txt
21584         * users.txt: Add rcs.
21585
21586 2011-02-10  John W. Eaton  <jwe@gnu.org>
21587
21588         doc: update users.txt
21589         * users.txt: Add octave.
21590
21591 2011-02-10  Jim Meyering  <meyering@redhat.com>
21592
21593         doc: update users.txt
21594         * users.txt: Add iwhd.
21595
21596 2011-02-09  Bruno Haible  <bruno@clisp.org>
21597
21598         gnulib-tool: Make copyright notice adjustment more robust.
21599         * gnulib-tool (func_import): In sed_transform_main_lib_file,
21600         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
21601         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
21602         License".
21603         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
21604
21605 2011-02-06  Bruno Haible  <bruno@clisp.org>
21606
21607         New module 'towctrans'.
21608         * modules/towctrans: New file.
21609         * lib/wctype.in.h (towctrans): New declaration.
21610         * lib/towctrans.c: New file.
21611         * lib/towctrans-impl.h: New file.
21612         * m4/towctrans.m4: New file.
21613         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
21614         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
21615         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
21616         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
21617         * doc/posix-functions/towctrans.texi: Mention the new module.
21618
21619 2011-02-06  Bruno Haible  <bruno@clisp.org>
21620
21621         New module 'wctrans'.
21622         * modules/wctrans: New file.
21623         * lib/wctype.in.h (wctrans): New declaration.
21624         * lib/wctrans.c: New file.
21625         * lib/wctrans-impl.h: New file.
21626         * m4/wctrans.m4: New file.
21627         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
21628         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
21629         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
21630         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
21631         * doc/posix-functions/wctrans.texi: Mention the new module.
21632
21633 2011-02-06  Bruno Haible  <bruno@clisp.org>
21634
21635         New module 'iswctype'.
21636         * modules/iswctype: New file.
21637         * lib/wctype.in.h (iswctype): New declaration.
21638         * lib/iswctype.c: New file.
21639         * lib/iswctype-impl.h: New file.
21640         * m4/iswctype.m4: New file.
21641         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
21642         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
21643         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
21644         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
21645         * doc/posix-functions/iswctype.texi: Mention the new module and the
21646         HP-UX 11.00 problem.
21647
21648 2011-02-06  Bruno Haible  <bruno@clisp.org>
21649
21650         New module 'wctype'.
21651         * modules/wctype: Change to represent the wctype() substitute.
21652         * lib/wctype.in.h (wctype): New declaration.
21653         * lib/wctype.c: New file.
21654         * lib/wctype-impl.h: New file.
21655         * m4/wctype.m4: New file.
21656         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
21657         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
21658         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
21659         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
21660         * doc/posix-functions/wctype.texi: Mention the new module and the
21661         HP-UX 11.00 problem.
21662
21663 2011-02-06  Bruno Haible  <bruno@clisp.org>
21664
21665         wctype-h: Ensure wctype_t and wctrans_t are defined.
21666         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
21667         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21668         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21669         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
21670         HAVE_WCTRANS_T.
21671         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
21672
21673 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21674
21675         flock: fix license typo
21676
21677         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
21678         omitted.
21679
21680 2011-02-08  Bruno Haible  <bruno@clisp.org>
21681
21682         Split large sed scripts, for HP-UX sed.
21683         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
21684         to avoid HP-UX limit of 99 commands, in the near future.
21685         * modules/stdlib (Makefile.am): Likewise.
21686         * modules/unistd (Makefile.am): Likewise.
21687         * modules/wchar (Makefile.am): Likewise.
21688         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21689         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
21690         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
21691
21692 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21693             Bruno Haible  <bruno@clisp.org>
21694
21695         stdlib: improve random_r modularization
21696         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
21697         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
21698         you also need the random_r module to get this material right.
21699         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
21700         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
21701         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
21702
21703 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21704
21705         stdlib: don't depend on stdint
21706         * lib/stdlib.in.h: Don't include <stdint.h> merely because
21707         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
21708         be independent of whether stdint.h is needed.
21709         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
21710         here, instead of ...
21711         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
21712         struct random_data should be using the random_r module, not just
21713         the stdlib module (which wouldn't make sense: what package needs
21714         just struct random_data without also needing random_r?).
21715         * modules/stdlib (Depends-on): Remove stdint.
21716
21717         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
21718         See the thread rooted at
21719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
21720         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
21721         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
21722         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
21723         __VMS)); previously it was always included (via fcntl--.h).
21724         (getloadavg): Do not use c_strtod.  Instead, approximate it by
21725         hand; this is good enough for load averages.  Also, do not use
21726         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
21727         flags directly if available and don't bother otherwise.  (Packages
21728         that need the extra reliability should use the modules that define
21729         these flags on older platforms that lack them.)
21730         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
21731         fcntl-safer.
21732
21733 2011-02-08  Jim Meyering  <meyering@redhat.com>
21734
21735         di-set.h, ino-map.h: add multiple-inclusion guard
21736         Technically, the guard is required only for ino-map.h, due to its
21737         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
21738         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
21739         * lib/ino-map.h: Likewise.
21740
21741 2011-02-06  Bruno Haible  <bruno@clisp.org>
21742
21743         iswblank: Ensure declaration on glibc systems.
21744         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
21745         * modules/iswblank (Dependencies): Add 'extensions'.
21746         * doc/posix-functions/iswblank.texi: Document the glibc problem.
21747
21748 2011-02-06  Bruno Haible  <bruno@clisp.org>
21749
21750         New module 'iswblank'.
21751         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
21752         * modules/iswblank: New file.
21753         * modules/wctype-h (Files): Remove lib/iswblank.c.
21754         (Makefile.am): Substitute GNULIB_ISWBLANK.
21755         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
21756         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
21757         (gl_WCTYPE_H_DEFAULTS): New macro.
21758         (gl_WCTYPE_H): Require it. Remove iswblank related code.
21759         * modules/iswblank-tests: New file.
21760         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
21761         * tests/test-wctype-h.c (main): Remove iswblank tests.
21762         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
21763         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
21764         of 'wctype-h'.
21765         * NEWS: Mention the change.
21766         * modules/mbchar (Depends-on): Add iswblank.
21767
21768 2011-02-08  Bruno Haible  <bruno@clisp.org>
21769
21770         di-set tests: Refactor.
21771         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21772         unnecessary includes.
21773         (ASSERT): Remove macro.
21774         (main): Make C90 compliant by avoiding variable declaration after
21775         statement.
21776         * modules/di-set-tests (Files): Add tests/macros.h.
21777
21778 2011-02-08  Bruno Haible  <bruno@clisp.org>
21779
21780         ino-map tests: Refactor.
21781         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21782         unnecessary includes.
21783         (ASSERT): Remove macro.
21784         (main): Make C90 compliant by avoiding variable declaration after
21785         statement.
21786         * modules/ino-map-tests (Files): Add tests/macros.h.
21787
21788 2011-02-08  Jim Meyering  <meyering@redhat.com>
21789
21790         di-set: add "const" to a cast
21791         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21792         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21793
21794 2011-02-06  Bruno Haible  <bruno@clisp.org>
21795
21796         Rename module 'wctype' to 'wctype-h'.
21797         * modules/wctype-h: Renamed from modules/wctype.
21798         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21799         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21800         (Files, Depends-on, Makefile.am): Update.
21801         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21802         (Files, Makefile.am): Update.
21803         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21804         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21805         * doc/posix-headers/wctype.texi: Update.
21806         * doc/posix-functions/iswalnum.texi: Update.
21807         * doc/posix-functions/iswalpha.texi: Update.
21808         * doc/posix-functions/iswblank.texi: Update.
21809         * doc/posix-functions/iswcntrl.texi: Update.
21810         * doc/posix-functions/iswdigit.texi: Update.
21811         * doc/posix-functions/iswgraph.texi: Update.
21812         * doc/posix-functions/iswlower.texi: Update.
21813         * doc/posix-functions/iswprint.texi: Update.
21814         * doc/posix-functions/iswpunct.texi: Update.
21815         * doc/posix-functions/iswspace.texi: Update.
21816         * doc/posix-functions/iswupper.texi: Update.
21817         * doc/posix-functions/iswxdigit.texi: Update.
21818         * doc/posix-functions/towlower.texi: Update.
21819         * doc/posix-functions/towupper.texi: Update.
21820         * NEWS: Mention the change.
21821         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21822         * modules/mbchar (Dependencies): Likewise.
21823         * modules/mbswidth (Dependencies): Likewise.
21824         * modules/quotearg (Dependencies): Likewise.
21825         * modules/regex (Dependencies): Likewise.
21826         * modules/wcscasecmp (Dependencies): Likewise.
21827         * modules/wcsncasecmp (Dependencies): Likewise.
21828         * modules/wcwidth (Dependencies): Likewise.
21829
21830 2011-02-06  Bruno Haible  <bruno@clisp.org>
21831
21832         New module 'wcswidth'.
21833         * modules/wcswidth: New file.
21834         * lib/wchar.in.h (wcswidth): New declaration.
21835         * lib/wcswidth.c: New file.
21836         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21837         * m4/wcswidth.m4: New file.
21838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21840         REPLACE_WCSWIDTH.
21841         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21842         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21843         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21844         * doc/posix-functions/wcswidth.texi: Mention the new module.
21845
21846 2011-02-06  Bruno Haible  <bruno@clisp.org>
21847
21848         New module 'wcstok'.
21849         * modules/wcstok: New file.
21850         * lib/wchar.in.h (wcstok): New declaration.
21851         * lib/wcstok.c: New file.
21852         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21853         * m4/wcstok.m4: New file.
21854         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21855         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21856         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21857         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21858         * doc/posix-functions/wcstok.texi: Mention the new module.
21859
21860 2011-02-06  Bruno Haible  <bruno@clisp.org>
21861
21862         New module 'wcsstr'.
21863         * modules/wcsstr: New file.
21864         * lib/wchar.in.h (wcsstr): New declaration.
21865         * lib/wcsstr.c: New file.
21866         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21867         * m4/wcsstr.m4: New file.
21868         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21869         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21870         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21871         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21872         * doc/posix-functions/wcsstr.texi: Mention the new module.
21873
21874 2011-02-06  Bruno Haible  <bruno@clisp.org>
21875
21876         New module 'wcspbrk'.
21877         * modules/wcspbrk: New file.
21878         * lib/wchar.in.h (wcspbrk): New declaration.
21879         * lib/wcspbrk.c: New file.
21880         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21881         * m4/wcspbrk.m4: New file.
21882         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21883         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21884         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21885         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21886         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21887
21888 2011-02-06  Bruno Haible  <bruno@clisp.org>
21889
21890         New module 'wcsspn'.
21891         * modules/wcsspn: New file.
21892         * lib/wchar.in.h (wcsspn): New declaration.
21893         * lib/wcsspn.c: New file.
21894         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21895         * m4/wcsspn.m4: New file.
21896         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21897         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21898         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21899         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21900         * doc/posix-functions/wcsspn.texi: Mention the new module.
21901
21902 2011-02-06  Bruno Haible  <bruno@clisp.org>
21903
21904         New module 'wcscspn'.
21905         * modules/wcscspn: New file.
21906         * lib/wchar.in.h (wcscspn): New declaration.
21907         * lib/wcscspn.c: New file.
21908         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21909         * m4/wcscspn.m4: New file.
21910         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21911         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21912         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21913         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21914         * doc/posix-functions/wcscspn.texi: Mention the new module.
21915
21916 2011-02-06  Bruno Haible  <bruno@clisp.org>
21917
21918         New module 'wcsrchr'.
21919         * modules/wcsrchr: New file.
21920         * lib/wchar.in.h (wcsrchr): New declaration.
21921         * lib/wcsrchr.c: New file.
21922         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21923         * m4/wcsrchr.m4: New file.
21924         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21925         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21926         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21927         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21928         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21929
21930 2011-02-06  Bruno Haible  <bruno@clisp.org>
21931
21932         New module 'wcschr'.
21933         * modules/wcschr: New file.
21934         * lib/wchar.in.h (wcschr): New declaration.
21935         * lib/wcschr.c: New file.
21936         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21937         * m4/wcschr.m4: New file.
21938         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
21939         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
21940         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
21941         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
21942         * doc/posix-functions/wcschr.texi: Mention the new module.
21943
21944 2011-02-06  Bruno Haible  <bruno@clisp.org>
21945
21946         New module 'wcsdup'.
21947         * modules/wcsdup: New file.
21948         * lib/wchar.in.h (wcsdup): New declaration.
21949         * lib/wcsdup.c: New file.
21950         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
21951         * m4/wcsdup.m4: New file.
21952         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
21953         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
21954         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
21955         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
21956         * doc/posix-functions/wcsdup.texi: Mention the new module.
21957
21958 2011-02-06  Bruno Haible  <bruno@clisp.org>
21959
21960         New module 'wcsxfrm'.
21961         * modules/wcsxfrm: New file.
21962         * lib/wchar.in.h (wcsxfrm): New declaration.
21963         * lib/wcsxfrm.c: New file.
21964         * lib/wcsxfrm-impl.h: New file.
21965         * m4/wcsxfrm.m4: New file.
21966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
21967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
21968         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
21969         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
21970         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
21971
21972 2011-02-06  Bruno Haible  <bruno@clisp.org>
21973
21974         New module 'wcscoll'.
21975         * modules/wcscoll: New file.
21976         * lib/wchar.in.h (wcscoll): New declaration.
21977         * lib/wcscoll.c: New file.
21978         * lib/wcscoll-impl.h: New file.
21979         * m4/wcscoll.m4: New file.
21980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21982         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21983         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21984         * doc/posix-functions/wcscoll.texi: Mention the new module.
21985
21986 2011-02-06  Bruno Haible  <bruno@clisp.org>
21987
21988         New module 'wcsncasecmp'.
21989         * modules/wcsncasecmp: New file.
21990         * lib/wchar.in.h (wcsncasecmp): New declaration.
21991         * lib/wcsncasecmp.c: New file.
21992         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21993         * m4/wcsncasecmp.m4: New file.
21994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21996         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21997         HAVE_WCSNCASECMP.
21998         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21999         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
22000
22001 2011-02-06  Bruno Haible  <bruno@clisp.org>
22002
22003         New module 'wcscasecmp'.
22004         * modules/wcscasecmp: New file.
22005         * lib/wchar.in.h (wcscasecmp): New declaration.
22006         * lib/wcscasecmp.c: New file.
22007         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
22008         * m4/wcscasecmp.m4: New file.
22009         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
22010         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
22011         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
22012         HAVE_WCSCASECMP.
22013         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
22014         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
22015
22016 2011-02-05  Bruno Haible  <bruno@clisp.org>
22017
22018         New module 'wcsncmp'.
22019         * modules/wcsncmp: New file.
22020         * lib/wchar.in.h (wcsncmp): New declaration.
22021         * lib/wcsncmp.c: New file.
22022         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
22023         * m4/wcsncmp.m4: New file.
22024         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
22025         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
22026         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
22027         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
22028         * doc/posix-functions/wcsncmp.texi: Mention the new module.
22029
22030 2011-02-05  Bruno Haible  <bruno@clisp.org>
22031
22032         New module 'wcscmp'.
22033         * modules/wcscmp: New file.
22034         * lib/wchar.in.h (wcscmp): New declaration.
22035         * lib/wcscmp.c: New file.
22036         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
22037         * m4/wcscmp.m4: New file.
22038         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
22039         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
22040         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
22041         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
22042         * doc/posix-functions/wcscmp.texi: Mention the new module.
22043
22044 2011-02-05  Bruno Haible  <bruno@clisp.org>
22045
22046         New module 'wcsncat'.
22047         * modules/wcsncat: New file.
22048         * lib/wchar.in.h (wcsncat): New declaration.
22049         * lib/wcsncat.c: New file.
22050         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
22051         * m4/wcsncat.m4: New file.
22052         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
22053         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
22054         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
22055         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
22056         * doc/posix-functions/wcsncat.texi: Mention the new module.
22057
22058 2011-02-05  Bruno Haible  <bruno@clisp.org>
22059
22060         New module 'wcscat'.
22061         * modules/wcscat: New file.
22062         * lib/wchar.in.h (wcscat): New declaration.
22063         * lib/wcscat.c: New file.
22064         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
22065         * m4/wcscat.m4: New file.
22066         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
22067         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
22068         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
22069         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
22070         * doc/posix-functions/wcscat.texi: Mention the new module.
22071
22072 2011-02-05  Bruno Haible  <bruno@clisp.org>
22073
22074         New module 'wcpncpy'.
22075         * modules/wcpncpy: New file.
22076         * lib/wchar.in.h (wcpncpy): New declaration.
22077         * lib/wcpncpy.c: New file.
22078         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
22079         * m4/wcpncpy.m4: New file.
22080         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
22081         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
22082         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
22083         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
22084         * doc/posix-functions/wcpncpy.texi: Mention the new module.
22085
22086 2011-02-05  Bruno Haible  <bruno@clisp.org>
22087
22088         New module 'wcsncpy'.
22089         * modules/wcsncpy: New file.
22090         * lib/wchar.in.h (wcsncpy): New declaration.
22091         * lib/wcsncpy.c: New file.
22092         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
22093         * m4/wcsncpy.m4: New file.
22094         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
22095         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
22096         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
22097         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
22098         * doc/posix-functions/wcsncpy.texi: Mention the new module.
22099
22100 2011-02-05  Bruno Haible  <bruno@clisp.org>
22101
22102         New module 'wcpcpy'.
22103         * modules/wcpcpy: New file.
22104         * lib/wchar.in.h (wcpcpy): New declaration.
22105         * lib/wcpcpy.c: New file.
22106         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
22107         * m4/wcpcpy.m4: New file.
22108         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
22109         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
22110         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
22111         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
22112         * doc/posix-functions/wcpcpy.texi: Mention the new module.
22113
22114 2011-02-05  Bruno Haible  <bruno@clisp.org>
22115
22116         New module 'wcscpy'.
22117         * modules/wcscpy: New file.
22118         * lib/wchar.in.h (wcscpy): New declaration.
22119         * lib/wcscpy.c: New file.
22120         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
22121         * m4/wcscpy.m4: New file.
22122         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
22123         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
22124         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
22125         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
22126         * doc/posix-functions/wcscpy.texi: Mention the new module.
22127
22128 2011-02-05  Bruno Haible  <bruno@clisp.org>
22129
22130         New module 'wcsnlen'.
22131         * modules/wcsnlen: New file.
22132         * lib/wchar.in.h (wcsnlen): New declaration.
22133         * lib/wcsnlen.c: New file.
22134         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
22135         * m4/wcsnlen.m4: New file.
22136         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
22137         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
22138         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
22139         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
22140         * doc/posix-functions/wcsnlen.texi: Mention the new module.
22141
22142 2011-02-05  Bruno Haible  <bruno@clisp.org>
22143
22144         New module 'wcslen'.
22145         * modules/wcslen: New file.
22146         * lib/wchar.in.h (wcslen): New declaration.
22147         * lib/wcslen.c: New file.
22148         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
22149         * m4/wcslen.m4: New file.
22150         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
22151         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
22152         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
22153         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
22154         * doc/posix-functions/wcslen.texi: Mention the new module.
22155
22156 2011-02-05  Bruno Haible  <bruno@clisp.org>
22157
22158         New module 'wmemset'.
22159         * modules/wmemset: New file.
22160         * lib/wchar.in.h (wmemset): New declaration.
22161         * lib/wmemset.c: New file.
22162         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
22163         * m4/wmemset.m4: New file.
22164         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
22165         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
22166         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
22167         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
22168         * doc/posix-functions/wmemset.texi: Mention the new module.
22169
22170 2011-02-05  Bruno Haible  <bruno@clisp.org>
22171
22172         New module 'wmemmove'.
22173         * modules/wmemmove: New file.
22174         * lib/wchar.in.h (wmemmove): New declaration.
22175         * lib/wmemmove.c: New file.
22176         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
22177         * m4/wmemmove.m4: New file.
22178         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
22179         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
22180         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
22181         HAVE_WMEMMOVE.
22182         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
22183         * doc/posix-functions/wmemmove.texi: Mention the new module.
22184
22185 2011-02-05  Bruno Haible  <bruno@clisp.org>
22186
22187         New module 'wmemcpy'.
22188         * modules/wmemcpy: New file.
22189         * lib/wchar.in.h (wmemcpy): New declaration.
22190         * lib/wmemcpy.c: New file.
22191         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
22192         * m4/wmemcpy.m4: New file.
22193         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
22194         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
22195         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
22196         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
22197         * doc/posix-functions/wmemcpy.texi: Mention the new module.
22198
22199 2011-02-05  Bruno Haible  <bruno@clisp.org>
22200
22201         New module 'wmemcmp'.
22202         * modules/wmemcmp: New file.
22203         * lib/wchar.in.h (wmemcmp): New declaration.
22204         * lib/wmemcmp.c: New file.
22205         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
22206         * m4/wmemcmp.m4: New file.
22207         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
22208         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
22209         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
22210         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
22211         * doc/posix-functions/wmemcmp.texi: Mention the new module.
22212
22213 2011-02-07  Jim Meyering  <meyering@redhat.com>
22214
22215         di-set, ino-map: new modules, from coreutils
22216         * lib/di-set.c: New file.
22217         * lib/di-set.h: Likewise.
22218         * lib/ino-map.c: Likewise.
22219         * lib/ino-map.h: Likewise.
22220         * modules/di-set: Likewise.
22221         * modules/di-set-tests: Likewise.
22222         * modules/ino-map: Likewise.
22223         * modules/ino-map-tests: Likewise.
22224         * tests/test-di-set.c: Likewise.
22225         * tests/test-ino-map.c: Likewise.
22226
22227 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22228
22229         getloadavg: merge minor changes from Emacs
22230
22231         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
22232         (getloadavg): Use memset, not bzero.
22233
22234         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
22235         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
22236         clash (bug#86).
22237
22238 2010-11-14  Bruno Haible  <bruno@clisp.org>
22239
22240         Allow multiple gnulib generated replacements to coexist.
22241         * lib/getopt.in.h (struct option): Avoid identical redefinition.
22242         * lib/inttypes.in.h (imaxdiv_t): Likewise.
22243         * lib/langinfo.in.h (nl_item): Likewise.
22244         * lib/math.in.h (_NaN, NAN): Likewise.
22245         * lib/netdb.in.h (struct addrinfo): Likewise.
22246         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
22247         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
22248         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
22249         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
22250         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
22251         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
22252         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
22253         pthread_mutexattr_init, pthread_mutexattr_settype,
22254         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
22255         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
22256         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
22257         pthread_spin_trylock, pthread_spin_unlock): Likewise.
22258         * lib/sched.in.h (struct sched_param): Likewise.
22259         * lib/se-selinux.in.h (security_class_t, security_context_t,
22260         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
22261         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
22262         lsetfilecon, fsetfilecon, security_check_context,
22263         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
22264         Likewise.
22265         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
22266         Likewise.
22267         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
22268         _gl_function_taking_int_returning_void_t, union sigval,
22269         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
22270         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
22271         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22272         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
22273         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
22274         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
22275         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
22276         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
22277         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
22278         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
22279         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
22280         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
22281         socklen_t, rpl_fd_isset): Likewise.
22282         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
22283         * lib/sys_time.in.h (struct timeval): Likewise.
22284         * lib/sys_times.in.h (struct tms): Likewise.
22285         * lib/sys_utsname.in.h (struct utsname):
22286         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
22287         * lib/unistd.in.h (getpagesize): Likewise.
22288         * lib/wchar.in.h (mbstate_t): Likewise.
22289         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22290         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
22291         towlower, towupper): Likewise.
22292         Reported by Sam Steingold <sds@gnu.org>.
22293
22294 2011-02-05  Eric Blake  <eblake@redhat.com>
22295
22296         unsetenv: work around Haiku issues
22297         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
22298         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
22299
22300 2010-12-30  Bruce Korb  <bkorb@gnu.org>
22301
22302         libposix: avoid calling error() within libposix
22303         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
22304         is defined.
22305
22306 2011-02-05  Eric Blake  <eblake@redhat.com>
22307
22308         strerror_r-posix: port to cygwin
22309         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
22310         implementation.
22311         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
22312         * tests/test-strerror_r.c (main): Fix test.
22313         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
22314         issue.
22315
22316 2011-02-05  Bruno Haible  <bruno@clisp.org>
22317
22318         New module 'wmemchr'.
22319         * modules/wmemchr: New file.
22320         * lib/wchar.in.h (wmemchr): New declaration.
22321         * lib/wmemchr.c: New file.
22322         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
22323         * m4/wmemchr.m4: New file.
22324         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
22325         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
22326         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
22327         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
22328         * doc/posix-functions/wmemchr.texi: Mention the new module.
22329
22330 2011-02-04  Eric Blake  <eblake@redhat.com>
22331
22332         fdopendir: detect FreeBSD bug
22333         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
22334         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
22335
22336 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
22337
22338         stdbool: do not define HAVE_STDBOOL_H
22339         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
22340         AC_HEADER_STDBOOL.  All uses changed.  Do not define
22341         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
22342         imported from the latest Autoconf git.  It was motivated by Emacs,
22343         which uses gnulib but does not need HAVE_STDBOOL_H.
22344
22345 2011-02-04  Bruno Haible  <bruno@clisp.org>
22346
22347         wcsnrtombs: Prepare for new module wwcsnrtombs.
22348         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22349         * lib/wcsnrtombs.c: Include it.
22350         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22351
22352         wcsrtombs: Prepare for new module wwcsrtombs.
22353         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22354         * lib/wcsrtombs.c: Include it.
22355         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22356
22357         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22358         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22359         * lib/mbsnrtowcs.c: Include it.
22360         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22361
22362         mbsrtowcs: Prepare for new module mbsrtowwcs.
22363         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22364         * lib/mbsrtowcs.c: Include it.
22365         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22366
22367 2011-02-04  Bruno Haible  <bruno@clisp.org>
22368
22369         vasnprintf: Reduce use of malloc for small format strings.
22370         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22371         (arguments): Add room for the first 7 arguments.
22372         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22373         (char_directives, u8_directives, u16_directives, u32_directives): Add
22374         room for the first 7 directives.
22375         * lib/printf-parse.c: Include <string.h>.
22376         (PRINTF_PARSE): Change memory handling code so that it uses the first
22377         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22378         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22379         Reported by Pádraig Brady <P@draigbrady.com>.
22380
22381 2011-01-31  Eric Blake  <eblake@redhat.com>
22382
22383         dup2: work around Haiku bug
22384         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22385         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22386         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22387         * tests/test-dup2.c (main): Enhance test.
22388
22389 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22390
22391         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22392         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22393         declared by eglibc 2.11.2.
22394         * lib/stdio.in.h: Likewise.
22395
22396 2011-01-31  Eric Blake  <eblake@redhat.com>
22397
22398         ignore-value: add missing test dependency
22399         * tests/test-ignore-value.c: Revert previous change; stdio.h
22400         provides off_t.
22401         * modules/ignore-value-tests (Depends-on): Add missing dependency.
22402
22403 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
22404
22405         mktime: clarify long_int width checking
22406         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
22407         the top level, to make it clearer that the assumption about
22408         long_int width is being checked.  See
22409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
22410
22411 2011-01-30  Simon Josefsson  <simon@josefsson.org>
22412
22413         ignore-value: Fix self-test.
22414         * tests/test-ignore-value.c: Include sys/types.h for off_t.
22415
22416 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
22417
22418         TYPE_MAXIMUM: avoid theoretically undefined behavior
22419         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
22420         negative number, which the C Standard says has undefined behavior.
22421         In practice this is not a problem, but might as well do it by the book.
22422         Reported by Rich Felker and Eric Blake; see
22423         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
22424         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
22425         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22427         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
22428         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22429         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
22430
22431         mktime: #undef mktime before #defining it
22432         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
22433
22434         mktime: systematically normalize tm_isdst comparisons
22435         * lib/mktime.c (isdst_differ): New function.
22436         (__mktime_internal): Use it systematically for all isdst comparisons.
22437         This completes the fix for libc BZ #6723, and removes the need for
22438         normalizing tm_isdst.  See
22439         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
22440         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
22441
22442         mktime: fix some integer overflow issues and sidestep the rest
22443
22444         This was prompted by a bug report by Benjamin Lindner for MinGW
22445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
22446         His bug is due to signed integer overflow (0 - INT_MIN), and I
22447         I scanned through mktime.c looking for other integer overflow
22448         problems, fixing all the bugs I found.
22449
22450         Although the C Standard says the resulting code is still not safe
22451         in the presence of integer overflow, in practice it should be good
22452         enough for all real-world two's-complement implementations, except
22453         for debugging environments that deliberately trap on integer
22454         overflow (e.g., gcc -ftrapv).
22455
22456         * lib/mktime.c (WRAPV): New macro.
22457         (SHR): Also check that long_int and time_t shift right in the
22458         usual way, before using the fast-but-unportable method.
22459         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
22460         used.  The code already assumed two's complement, so there's
22461         no need to test for alternatives.  All uses removed.
22462         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
22463         the C standard.  Problem reported by Rich Felker in
22464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
22465         (twos_complement_arithmetic): Also check long_int and time_t.
22466         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
22467         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
22468         (__mktime_internal): Avoid integer overflow with unary subtraction
22469         in two instances where -1 - X is an adequate replacement for -X,
22470         since the calculations are approximate.
22471
22472 2011-01-29  Eric Blake  <eblake@redhat.com>
22473
22474         mktime: avoid infinite loop
22475         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
22476         type; behavior is still undefined but portable to all known targets.
22477         Reported by Rich Felker.
22478
22479 2011-01-29  Simon Josefsson  <simon@josefsson.org>
22480
22481         rename, unlink, same-inode: Relicense.
22482         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
22483         * modules/unlink (License): Likewise.
22484         * modules/same-inode (License): Likewise.
22485
22486 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
22487
22488         mktime: avoid problems on NetBSD 5 / i386
22489         * lib/mktime.c (long_int): New type.  This works around a problem
22490         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
22491         but time_t is 64 bits, and where I expect the existing code is
22492         wrong in some cases.
22493         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
22494         (ydhms_diff): Bring back the compile-time check for wide-enough
22495         year and yday.
22496
22497         mktime: fix misspelling in comment
22498         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
22499         This merges all recent glibc changes of importance.
22500
22501 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22502
22503         move-if-change: cope with concurrent mv of identical file.
22504         * build-aux/move-if-change (CMPPROG): Accept environment
22505         variable as an override for `cmp'.
22506         (usage): Document CMPPROG.
22507         Adjust comparison to drop stdout.  Cope with failure of mv if
22508         the target file exists and is identical to the source, for
22509         parallel builds.
22510         Report from H.J. Lu against binutils in PR binutils/12283.
22511
22512 2011-01-28  Bruce Korb  <bkorb@gnu.org>
22513
22514         * users.txt: Mention sharutils.
22515
22516 2011-01-28  Simon Josefsson  <simon@josefsson.org>
22517
22518         * users.txt: Mention OATH Toolkit.
22519
22520 2011-01-27  Bruno Haible  <bruno@clisp.org>
22521
22522         Prepare for supporting FreeBSD 10.
22523         * build-aux/config.libpath: Remove handling of freebsd1*.
22524
22525 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
22526
22527         Prepare for supporting FreeBSD 10.
22528         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
22529         match FreeBSD 10.0.
22530
22531 2011-01-27  Bruno Haible  <bruno@clisp.org>
22532
22533         vma-iter, get-rusage-as: Add OpenBSD support.
22534         * modules/vma-iter (configure.ac): Test for mquery.
22535         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
22536         * lib/vma-iter.c: Include <sys/mman.h>.
22537         (vma_iterate): Add an implementation based on mquery().
22538         * lib/resource-ext.h (get_rusage_as): Update comments.
22539         * lib/get-rusage-as.c: Likewise.
22540         * lib/get-rusage-data.c: Likewise.
22541
22542 2011-01-26  Karl Berry  <karl@gnu.org>
22543
22544         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
22545         variables to make it easier to override the makeinfo program used.
22546
22547 2011-01-26  Eric Blake  <eblake@redhat.com>
22548
22549         fcntl: work around Haiku F_DUPFD bugs
22550         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
22551         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
22552         cloexec bit on duplication.
22553         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
22554
22555 2011-01-26  Bruno Haible  <bruno@clisp.org>
22556
22557         Enable memory leak tests on AIX.
22558         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
22559         * tests/test-fprintf-posix3.c (main): Likewise.
22560
22561 2011-01-26  Bruno Haible  <bruno@clisp.org>
22562
22563         Tests for module 'get-rusage-data'.
22564         * modules/get-rusage-data-tests: New file.
22565         * tests/test-get-rusage-data.c: New file.
22566
22567         New module 'get-rusage-data'.
22568         * lib/resource-ext.h (get_rusage_data): New declaration.
22569         * lib/get-rusage-data.c: New file.
22570         * modules/get-rusage-data: New file.
22571
22572 2011-01-25  Bruno Haible  <bruno@clisp.org>
22573
22574         get-rusage-as: Allow for easier testing.
22575         * lib/resource-ext.h (get_rusage_as): Add comment.
22576         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
22577         (main): New function for interactive testing.
22578
22579 2011-01-25  Bruno Haible  <bruno@clisp.org>
22580
22581         vma-iter: Treat Haiku like BeOS.
22582         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
22583         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
22584
22585 2011-01-25  Eric Blake  <eblake@redhat.com>
22586
22587         c-stack: fix regression on cygwin when libsigsegv is present
22588         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
22589
22590 2011-01-24  Bruno Haible  <bruno@clisp.org>
22591
22592         vma-iter: Avoid empty intervals.
22593         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
22594         on an empty interval.
22595
22596 2011-01-24  Jim Meyering  <meyering@redhat.com>
22597
22598         u64: remove unnecessary #include
22599         * lib/u64.h: Don't include <stddef.h>.  It was not used.
22600
22601 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22602
22603         Allow the user to avoid the HAVE_RAW_DECL_* macros.
22604         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
22605
22606 2011-01-23  Bruno Haible  <bruno@clisp.org>
22607
22608         New module 'vma-iter'.
22609         * lib/vma-iter.h: New file.
22610         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
22611         * modules/vma-iter: New file.
22612         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
22613         for get_rusage_as_via_iterator.
22614         (vma_iterate_callback): New function.
22615         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
22616         * modules/get-rusage-as (Depends-on): Add vma-iter.
22617
22618 2011-01-23  Bruno Haible  <bruno@clisp.org>
22619
22620         uninorm: Tweak includes.
22621         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
22622         Reported by Jim Meyering.
22623
22624 2011-01-23  Bruno Haible  <bruno@clisp.org>
22625
22626         get-rusage-as: Improve on NetBSD.
22627         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
22628         /proc, like on FreeBSD.
22629
22630 2011-01-23  Jim Meyering  <meyering@redhat.com>
22631
22632         xreadlink.h: remove unnecessary #include
22633         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
22634
22635         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
22636         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
22637
22638 2011-01-23  Bruno Haible  <bruno@clisp.org>
22639
22640         get-rusage-as: Fix bug.
22641         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
22642         original limit when aborting the first loop.
22643
22644 2011-01-23  Bruno Haible  <bruno@clisp.org>
22645
22646         wctype: Ensure valid C syntax.
22647         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
22648         unconditionally, instead of gl_NEXT_HEADERS conditionally.
22649
22650 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
22651
22652         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
22653         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
22654         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
22655         as they are needed only for configure's test case.
22656         This removes two unnecessary symbols from config.h.
22657
22658         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
22659         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
22660         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
22661         AC_CHECK_HEADERS_ONCE on a header that we also invoke
22662         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
22663         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
22664         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
22665         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22666         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22667         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22668         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22669         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22670         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22671         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22672         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22673         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22674         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22675         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22676
22677 2011-01-21  Eric Blake  <eblake@redhat.com>
22678
22679         maintainer-makefile: work with older git for submodule check
22680         * top/maint.mk (public-submodule-commit): Rewrite to avoid
22681         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
22682         Reported by Matthias Bolte.
22683
22684         bootstrap: minor portability fixes
22685         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
22686         (usage): Omit leading capital and trailing . on help phrases, per
22687         GNU Coding Standards.
22688         (check_versions, top level): Prefix messages with script name.
22689
22690 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
22691
22692         bootstrap: support --no-git option
22693         * build-aux/bootstrap: Add --no-git option, to be used when
22694         --gnulib-srcdir points to the exact desired checkout.
22695
22696 2011-01-21  Eric Blake  <eblake@redhat.com>
22697
22698         strerror_r-posix: work with glibc 2.13
22699         * lib/strerror_r.c (strerror_r): Fix return type.
22700
22701 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22702             Bruno Haible  <bruno@clisp.org>
22703
22704         uN_strstr: New unit tests.
22705         * modules/unistr/u8-strstr-tests: New file.
22706         * modules/unistr/u16-strstr-tests: New file.
22707         * modules/unistr/u32-strstr-tests: New file.
22708         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
22709         * tests/unistr/test-u8-strstr.c: New file.
22710         * tests/unistr/test-u16-strstr.c: New file.
22711         * tests/unistr/test-u32-strstr.c: New file.
22712
22713 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22714             Bruno Haible  <bruno@clisp.org>
22715
22716         Make uN_strstr functions O(n) worst-case.
22717         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
22718         16-bit and 32-bit unit cases, use the unibyte algorithm from
22719         lib/mbsstr.c.
22720         * lib/unistr/u8-strstr.c: Include <string.h>.
22721         (UNIT_IS_UINT8_T): New macro.
22722         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
22723         (U_STRLEN, U_STRNLEN): New macros.
22724         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
22725         (U_STRLEN, U_STRNLEN): New macros.
22726         * modules/unistr/u8-strstr (Depends-on): Add strstr.
22727         (configure.ac): Update required libunistring version.
22728         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
22729         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
22730         malloca.
22731         (configure.ac): Update required libunistring version.
22732         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
22733         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
22734         malloca.
22735         (configure.ac): Update required libunistring version.
22736
22737 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22738             Bruno Haible  <bruno@clisp.org>
22739
22740         Prepare for faster uN_strstr functions.
22741         * lib/str-kmp.h: Support definable UNITs.
22742         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
22743         needle_len argument.
22744         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
22745         * lib/mbscasestr.c (mbscasestr): Likewise.
22746
22747 2011-01-21  Pádraig Brady <P@draigBrady.com>
22748
22749         malloca-tests: make faster by unsetting MALLOC_PERTURB_
22750         * tests/test-malloca.c (main): Unset the environment variable
22751         to greatly speed up the test.
22752         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
22753         * modules/malloca-tests: Depend on unsetenv.
22754
22755 2011-01-21  Pádraig Brady <P@draigBrady.com>
22756
22757         ignore-value: remove stdint dependency
22758         * lib/ignore-value.h: Remove <stdint.h>
22759         * modules/ignore-value: Remove stdint dependency.
22760
22761 2011-01-21  Jim Meyering  <meyering@redhat.com>
22762
22763         maint.mk: adjust variable name to be consistent with other gl_ vars
22764         * top/maint.mk (gl_public_submodule_commit): Rename the variable
22765         to be lower case.
22766
22767 2011-01-20  Jim Meyering  <meyering@redhat.com>
22768
22769         maint.mk: make "check" depend on public-submodule-commit by default
22770         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22771
22772 2011-01-20  Bruno Haible  <bruno@clisp.org>
22773
22774         mbfile, mbiter: Complete change from 2008-12-21.
22775         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22776         * m4/mbiter.m4 (gl_MBITER): Likewise.
22777
22778 2011-01-20  Jim Meyering  <meyering@redhat.com>
22779
22780         init.sh: insert space between each function name and "()"
22781         * tests/init.sh: Make it a little easier to see that a function's
22782         name is "warn_", and not "warn" when looking at the first part of
22783         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22784
22785 2011-01-20  Jim Meyering  <meyering@redhat.com>
22786
22787         mountlist: clean up code formatting
22788         * lib/mountlist.c (read_file_system_list): Split a long line,
22789         correct bracing style, use NULL in place of "(struct statfs *)0",
22790         don't parenthesize return value, add spaces around "=" and after
22791         ";-in-for-stmt".
22792
22793 2011-01-14  Markus Duft <mduft@gentoo.org>
22794
22795         mountlist: add support for Interix
22796         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22797         Apply statvfs to all entries of /dev/fs.
22798         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22799         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22800
22801 2011-01-20  Jim Meyering  <meyering@redhat.com>
22802
22803         maint.mk: improve the public-submodule-commit rule
22804         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22805         to suppress printing of its commands... unless V=1.
22806         Add git submodule's --quiet option to suppress printing of e.g.,
22807         "Entering gnulib" output.
22808         "cd" into $(srcdir) before running git submodule.
22809
22810 2011-01-20  Bruno Haible  <bruno@clisp.org>
22811
22812         include_next: Fix bug introduced on 2011-01-18.
22813         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22814         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22815         ac_cv_header_... variable if the second argument is not 'check'.
22816         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22817         gl_NEXT_HEADERS_INTERNAL.
22818
22819 2011-01-20  Bruno Haible  <bruno@clisp.org>
22820
22821         Allow the user to avoid the GNULIB_TEST_* macros.
22822         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22823         Suggested by Paul Eggert.
22824
22825 2011-01-14  Jim Meyering  <meyering@redhat.com>
22826
22827         bootstrap: avoid failure when there is no .gitmodules file
22828         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22829         has been assigned to, even when its value is the empty string.
22830         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22831         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22832         Reported by John W. Eaton <jwe@gnu.org>.
22833
22834 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22835
22836         assume <ctype.h>, ..., <time.h> exist
22837         For years gnulib has been assuming the existence of the headers
22838         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22839         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22840         them, since they don't appear to be needed.
22841         * README (Portability guidelines): Document this.
22842         * lib/flock.c: Assume <fcntl.h> exists.
22843         * lib/regex_internal.h: Assume <locale.h> exists.
22844         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22845         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22846         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22847         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22848         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22849         * m4/regex.m4 (gl_REGEX): Likewise.
22850         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22851         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22852         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22853         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22854         * tests/test-argp.c: Likewise.
22855         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22856
22857         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22858         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22859         AA_APPLE_UNIVERSAL_BUILD.  See
22860         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22861         * NEWS: Document this.
22862
22863 2011-01-19  Eric Blake  <eblake@redhat.com>
22864
22865         c-stack: assume stack overflow if SA_SIGINFO unsupported
22866         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22867         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22868         sigaction will work.
22869         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22870         behavior match Linux.
22871         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22872
22873         stdbool-tests: accommodate Haiku
22874         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22875
22876         binary-io: fix O_TEXT on Haiku
22877         * modules/binary-io (Depends-on): Add fcntl-h.
22878         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22879         than blindly undefining O_TEXT.
22880         Reported by Scott McCreary.
22881
22882 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22883
22884         include_next: do not check for standard headers like stddef.h
22885
22886         I found this problem when modifying Emacs to use gnulib.
22887         I noticed that it added HAVE_STDDEF_H to config.h, even though
22888         gnulib always assumes <stddef.h> exists as per README and this
22889         symbol is unnecessary.
22890         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22891         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22892         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22893         faster for headers like stddef.h that are known to exist.
22894         (gl_CHECK_NEXT_HEADERS): Use it.
22895         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22896         rather than gl_CHECK_NEXT_HEADERS.
22897         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22898         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22899
22900 2011-01-18  Eric Blake  <eblake@redhat.com>
22901
22902         ansi-c++-opt: skip C++ dependency style if C++ is unused
22903         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22904         tests when we know C++ compilation is not desired.
22905         Reported by Scott McCreary.
22906
22907 2011-01-18  Bruno Haible  <bruno@clisp.org>
22908
22909         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22910         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22911         (main): Perform test also when getrlimit and setrlimit don't exist or
22912         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22913         limiting the address space size using setrlimit, compare the address
22914         space size before and after the the test.
22915         * tests/test-dprintf-posix2.c: Likewise.
22916         * tests/test-fprintf-posix3.sh: Update skip messages.
22917         * tests/test-dprintf-posix2.sh: Likewise.
22918         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22919         * modules/dprintf-posix-tests (Depends-on): Likewise.
22920         Reported by Bruce Korb <bkorb@gnu.org> and
22921         Gary V. Vaughan <gary@gnu.org>.
22922
22923 2011-01-18  Bruno Haible  <bruno@clisp.org>
22924
22925         get-rusage-as: Improvement for Cygwin.
22926         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22927         areas that are merely reserved.
22928
22929 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22930
22931         strftime: remove dependencies on multibyte modules
22932
22933         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22934         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22935         only if __osf__ is defined, and I suspect OSF doesn't need these
22936         other modules.  If my guess is wrong, we'll need to come up with a
22937         variant of strftime that doesn't need the multibyte modules.
22938
22939         I discovered this problem when attempting modify Emacs to use the
22940         strftime module.  With the previous gnulib, this caused Emacs to
22941         need 31 new files, ranging from lib/config.charset to
22942         m4/wint_t.m4.  This was overkill and I expect would be offputting
22943         to the Emacs maintainers.  After this change, only 6 new files are
22944         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
22945         stdbool.m4, and tm_gmtoff.m4.
22946
22947         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
22948         Suggested by Bruno Haible in
22949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
22950         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
22951         and do not check for wchar.h.
22952         * modules/strftime (Files): Remove m4/mbstate_t.m4.
22953         (Depends-on): Remove mbrlen, mbsinit, wchar.
22954
22955 2011-01-18  Bruno Haible  <bruno@clisp.org>
22956
22957         Tests for module 'get-rusage-as'.
22958         * modules/get-rusage-as-tests: New file.
22959         * tests/test-get-rusage-as.c: New file.
22960
22961         New module 'get-rusage-as'.
22962         * modules/get-rusage-as: New file.
22963         * lib/resource-ext.h: New file.
22964         * lib/get-rusage-as.c: New file.
22965
22966 2011-01-17  Eric Blake  <eblake@redhat.com>
22967
22968         sigaction: relax license from LGPLv3+ to LGPLv2+
22969         * modules/sigaction (License): Relax to LGPLv2+.
22970
22971 2011-01-14  Bruno Haible  <bruno@clisp.org>
22972
22973         filemode: Make function declarations usable in C++ mode.
22974         * lib/filemode.h: Enclose function declarations in extern "C" block.
22975         Reported by John W. Eaton <jwe@gnu.org>.
22976
22977 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
22978
22979         save-cwd: no longer include "xgetcwd.h"
22980         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22981         This avoids a compilation failure in projects that use save-cwd
22982         without also using the xgetcwd module.
22983
22984 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22985
22986         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22987         This is so that a program like Emacs, which needs only dtoastr,
22988         does not have to bother with distributing and compiling ftoastr
22989         and ldtoastr.
22990         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22991         * modules/dtoastr, modules/ldtoastr: New files.
22992         * modules/ftoastr: Now works just for 'float'.
22993         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22994         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22995         dtoastr.c, ldtoastr.c.
22996
22997 2011-01-11  Jim Meyering  <meyering@redhat.com>
22998
22999         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
23000         There is no need to work around the lack of the fchdir function,
23001         since gnulib can now provide a replacement when required.
23002         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
23003         * modules/save-cwd (Depends-on): Add fchdir.
23004
23005 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23006
23007         openat, save-cwd: avoid xmalloc
23008
23009         This removes a direct (but undocumented) dependency of openat on
23010         xalloc, along with an indirect dependency via save-cwd.  It also
23011         removes a dependency of save-cwd on xgetcwd, and thereby
23012         indirectly on xalloc.  This change causes the openat substitute
23013         to fall back on save_cwd when memory is tight, and for save_cwd to
23014         fail instead of dying when memory is tight, but that's good enough.
23015         Problem and initial idea for fix reported by Bastien Roucaries in
23016         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
23017
23018         * lib/openat-proc.c: Include stdlib.h (for malloc), not
23019         xalloc.h (for xmalloc).
23020         (openat_proc_name): Use malloc, not xmalloc.
23021         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
23022         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
23023
23024         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
23025         This avoids heap allocation for file names whose lengths are in
23026         the range 512..1023, with the upper bound increasing to at most
23027         4031 depending on the platform's PATH_MAX.  (We do not want
23028         pathmax.h here as it might supply a non-constant PATH_MAX.)
23029         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
23030         Perhaps they should be moved to malloca.h?
23031         (OPENAT_BUFFER_SIZE): Use them.
23032
23033 2011-01-10  Bruno Haible  <bruno@clisp.org>
23034
23035         doc: Update users.txt.
23036         * users.txt: Add recutils.
23037
23038 2011-01-09  Karl Berry  <karl@gnu.org>
23039
23040         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
23041
23042         * doc/configmake.texi: New file.
23043         * doc/gnulib.texi: Include it.
23044         * modules/configmake: Move documentation from here.
23045
23046 2011-01-09  Bruno Haible  <bruno@clisp.org>
23047
23048         Update to Unicode 6.0.0.
23049         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
23050         (get_lbp): Update for Unicode 6.0.0.
23051         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
23052         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
23053         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
23054         U+11001, U+11038..U+11046. Remove U+06DE.
23055         (uc_width): Fix bounds of planes.
23056         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23057         lib/uniwidth/width.c.
23058         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
23059         trailing whitespace removed.
23060         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
23061         without comments, but with the original copyright notice.
23062         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
23063         * lib/unicase/ignorable.h: Likewise.
23064         * lib/unicase/tocasefold.h: Likewise.
23065         * lib/unicase/tolower.h: Likewise.
23066         * lib/unicase/totitle.h: Likewise.
23067         * lib/unicase/toupper.h: Likewise.
23068         * lib/unictype/bidi_of.h: Likewise.
23069         * lib/unictype/blocks.h: Likewise.
23070         * lib/unictype/categ_C.h: Likewise.
23071         * lib/unictype/categ_Cn.h: Likewise.
23072         * lib/unictype/categ_L.h: Likewise.
23073         * lib/unictype/categ_Ll.h: Likewise.
23074         * lib/unictype/categ_Lm.h: Likewise.
23075         * lib/unictype/categ_Lo.h: Likewise.
23076         * lib/unictype/categ_Lu.h: Likewise.
23077         * lib/unictype/categ_M.h: Likewise.
23078         * lib/unictype/categ_Mc.h: Likewise.
23079         * lib/unictype/categ_Me.h: Likewise.
23080         * lib/unictype/categ_Mn.h: Likewise.
23081         * lib/unictype/categ_N.h: Likewise.
23082         * lib/unictype/categ_Nd.h: Likewise.
23083         * lib/unictype/categ_No.h: Likewise.
23084         * lib/unictype/categ_P.h: Likewise.
23085         * lib/unictype/categ_Po.h: Likewise.
23086         * lib/unictype/categ_S.h: Likewise.
23087         * lib/unictype/categ_Sc.h: Likewise.
23088         * lib/unictype/categ_Sk.h: Likewise.
23089         * lib/unictype/categ_Sm.h: Likewise.
23090         * lib/unictype/categ_So.h: Likewise.
23091         * lib/unictype/categ_of.h: Likewise.
23092         * lib/unictype/combining.h: Likewise.
23093         * lib/unictype/ctype_alnum.h: Likewise.
23094         * lib/unictype/ctype_alpha.h: Likewise.
23095         * lib/unictype/ctype_graph.h: Likewise.
23096         * lib/unictype/ctype_lower.h: Likewise.
23097         * lib/unictype/ctype_print.h: Likewise.
23098         * lib/unictype/ctype_punct.h: Likewise.
23099         * lib/unictype/ctype_upper.h: Likewise.
23100         * lib/unictype/decdigit.h: Likewise.
23101         * lib/unictype/digit.h: Likewise.
23102         * lib/unictype/numeric.h: Likewise.
23103         * lib/unictype/pr_alphabetic.h: Likewise.
23104         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23105         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23106         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23107         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23108         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23109         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23110         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23111         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23112         * lib/unictype/pr_case_ignorable.h: Likewise.
23113         * lib/unictype/pr_cased.h: Likewise.
23114         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
23115         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
23116         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
23117         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
23118         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
23119         * lib/unictype/pr_combining.h: Likewise.
23120         * lib/unictype/pr_composite.h: Likewise.
23121         * lib/unictype/pr_currency_symbol.h: Likewise.
23122         * lib/unictype/pr_decimal_digit.h: Likewise.
23123         * lib/unictype/pr_deprecated.h: Likewise.
23124         * lib/unictype/pr_format_control.h: Likewise.
23125         * lib/unictype/pr_grapheme_base.h: Likewise.
23126         * lib/unictype/pr_grapheme_extend.h: Likewise.
23127         * lib/unictype/pr_grapheme_link.h: Likewise.
23128         * lib/unictype/pr_id_continue.h: Likewise.
23129         * lib/unictype/pr_id_start.h: Likewise.
23130         * lib/unictype/pr_ideographic.h: Likewise.
23131         * lib/unictype/pr_lowercase.h: Likewise.
23132         * lib/unictype/pr_math.h: Likewise.
23133         * lib/unictype/pr_numeric.h: Likewise.
23134         * lib/unictype/pr_other_alphabetic.h: Likewise.
23135         * lib/unictype/pr_other_id_continue.h: Likewise.
23136         * lib/unictype/pr_other_math.h: Likewise.
23137         * lib/unictype/pr_punctuation.h: Likewise.
23138         * lib/unictype/pr_sentence_terminal.h: Likewise.
23139         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23140         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23141         * lib/unictype/pr_unified_ideograph.h: Likewise.
23142         * lib/unictype/pr_uppercase.h: Likewise.
23143         * lib/unictype/pr_xid_continue.h: Likewise.
23144         * lib/unictype/pr_xid_start.h: Likewise.
23145         * lib/unictype/scripts.h: Likewise.
23146         * lib/unictype/scripts_byname.gperf: Likewise.
23147         * lib/unictype/sy_java_ident.h: Likewise.
23148         * lib/unigbrk/gbrkprop.h: Likewise.
23149         * lib/unilbrk/lbrkprop1.h: Likewise.
23150         * lib/unilbrk/lbrkprop2.h: Likewise.
23151         * lib/uninorm/decomposition-table2.h: Likewise.
23152         * lib/uniwbrk/wbrkprop.h: Likewise.
23153         * tests/unicase/test-cased.c: Likewise.
23154         * tests/unicase/test-ignorable.c: Likewise.
23155         * tests/unicase/test-uc_tolower.c: Likewise.
23156         * tests/unicase/test-uc_totitle.c: Likewise.
23157         * tests/unicase/test-uc_toupper.c: Likewise.
23158         * tests/unictype/test-categ_C.c: Likewise.
23159         * tests/unictype/test-categ_Cn.c: Likewise.
23160         * tests/unictype/test-categ_L.c: Likewise.
23161         * tests/unictype/test-categ_Ll.c: Likewise.
23162         * tests/unictype/test-categ_Lm.c: Likewise.
23163         * tests/unictype/test-categ_Lo.c: Likewise.
23164         * tests/unictype/test-categ_Lu.c: Likewise.
23165         * tests/unictype/test-categ_M.c: Likewise.
23166         * tests/unictype/test-categ_Mc.c: Likewise.
23167         * tests/unictype/test-categ_Me.c: Likewise.
23168         * tests/unictype/test-categ_Mn.c: Likewise.
23169         * tests/unictype/test-categ_N.c: Likewise.
23170         * tests/unictype/test-categ_Nd.c: Likewise.
23171         * tests/unictype/test-categ_No.c: Likewise.
23172         * tests/unictype/test-categ_P.c: Likewise.
23173         * tests/unictype/test-categ_Po.c: Likewise.
23174         * tests/unictype/test-categ_S.c: Likewise.
23175         * tests/unictype/test-categ_Sc.c: Likewise.
23176         * tests/unictype/test-categ_Sk.c: Likewise.
23177         * tests/unictype/test-categ_Sm.c: Likewise.
23178         * tests/unictype/test-categ_So.c: Likewise.
23179         * tests/unictype/test-ctype_alnum.c: Likewise.
23180         * tests/unictype/test-ctype_alpha.c: Likewise.
23181         * tests/unictype/test-ctype_graph.c: Likewise.
23182         * tests/unictype/test-ctype_lower.c: Likewise.
23183         * tests/unictype/test-ctype_print.c: Likewise.
23184         * tests/unictype/test-ctype_punct.c: Likewise.
23185         * tests/unictype/test-ctype_upper.c: Likewise.
23186         * tests/unictype/test-decdigit.h: Likewise.
23187         * tests/unictype/test-digit.h: Likewise.
23188         * tests/unictype/test-numeric.h: Likewise.
23189         * tests/unictype/test-pr_alphabetic.c: Likewise.
23190         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23191         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23192         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23193         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23194         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23195         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23196         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23197         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23198         * tests/unictype/test-pr_case_ignorable.c: Likewise.
23199         * tests/unictype/test-pr_cased.c: Likewise.
23200         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
23201         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
23202         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
23203         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
23204         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
23205         * tests/unictype/test-pr_combining.c: Likewise.
23206         * tests/unictype/test-pr_composite.c: Likewise.
23207         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23208         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23209         * tests/unictype/test-pr_deprecated.c: Likewise.
23210         * tests/unictype/test-pr_format_control.c: Likewise.
23211         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23212         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23213         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23214         * tests/unictype/test-pr_id_continue.c: Likewise.
23215         * tests/unictype/test-pr_id_start.c: Likewise.
23216         * tests/unictype/test-pr_ideographic.c: Likewise.
23217         * tests/unictype/test-pr_lowercase.c: Likewise.
23218         * tests/unictype/test-pr_math.c: Likewise.
23219         * tests/unictype/test-pr_numeric.c: Likewise.
23220         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23221         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23222         * tests/unictype/test-pr_other_math.c: Likewise.
23223         * tests/unictype/test-pr_punctuation.c: Likewise.
23224         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23225         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23226         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23227         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23228         * tests/unictype/test-pr_uppercase.c: Likewise.
23229         * tests/unictype/test-pr_xid_continue.c: Likewise.
23230         * tests/unictype/test-pr_xid_start.c: Likewise.
23231         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23232         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23233         changes.
23234         * lib/unictype/categ_Cc.h: Likewise.
23235         * lib/unictype/categ_Cf.h: Likewise.
23236         * lib/unictype/categ_Co.h: Likewise.
23237         * lib/unictype/categ_Cs.h: Likewise.
23238         * lib/unictype/categ_Lt.h: Likewise.
23239         * lib/unictype/categ_Nl.h: Likewise.
23240         * lib/unictype/categ_Pc.h: Likewise.
23241         * lib/unictype/categ_Pd.h: Likewise.
23242         * lib/unictype/categ_Pe.h: Likewise.
23243         * lib/unictype/categ_Pf.h: Likewise.
23244         * lib/unictype/categ_Pi.h: Likewise.
23245         * lib/unictype/categ_Ps.h: Likewise.
23246         * lib/unictype/categ_Z.h: Likewise.
23247         * lib/unictype/categ_Zl.h: Likewise.
23248         * lib/unictype/categ_Zp.h: Likewise.
23249         * lib/unictype/categ_Zs.h: Likewise.
23250         * lib/unictype/ctype_blank.h: Likewise.
23251         * lib/unictype/ctype_cntrl.h: Likewise.
23252         * lib/unictype/ctype_digit.h: Likewise.
23253         * lib/unictype/ctype_space.h: Likewise.
23254         * lib/unictype/ctype_xdigit.h: Likewise.
23255         * lib/unictype/mirror.h: Likewise.
23256         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23257         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23258         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23259         * lib/unictype/pr_bidi_control.h: Likewise.
23260         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23261         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23262         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23263         * lib/unictype/pr_bidi_pdf.h: Likewise.
23264         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23265         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23266         * lib/unictype/pr_dash.h: Likewise.
23267         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23268         * lib/unictype/pr_diacritic.h: Likewise.
23269         * lib/unictype/pr_extender.h: Likewise.
23270         * lib/unictype/pr_hex_digit.h: Likewise.
23271         * lib/unictype/pr_hyphen.h: Likewise.
23272         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23273         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23274         * lib/unictype/pr_ignorable_control.h: Likewise.
23275         * lib/unictype/pr_iso_control.h: Likewise.
23276         * lib/unictype/pr_join_control.h: Likewise.
23277         * lib/unictype/pr_left_of_pair.h: Likewise.
23278         * lib/unictype/pr_line_separator.h: Likewise.
23279         * lib/unictype/pr_logical_order_exception.h: Likewise.
23280         * lib/unictype/pr_non_break.h: Likewise.
23281         * lib/unictype/pr_not_a_character.h: Likewise.
23282         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23283         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23284         * lib/unictype/pr_other_id_start.h: Likewise.
23285         * lib/unictype/pr_other_lowercase.h: Likewise.
23286         * lib/unictype/pr_other_uppercase.h: Likewise.
23287         * lib/unictype/pr_paired_punctuation.h: Likewise.
23288         * lib/unictype/pr_paragraph_separator.h: Likewise.
23289         * lib/unictype/pr_pattern_syntax.h: Likewise.
23290         * lib/unictype/pr_pattern_white_space.h: Likewise.
23291         * lib/unictype/pr_private_use.h: Likewise.
23292         * lib/unictype/pr_quotation_mark.h: Likewise.
23293         * lib/unictype/pr_radical.h: Likewise.
23294         * lib/unictype/pr_soft_dotted.h: Likewise.
23295         * lib/unictype/pr_space.h: Likewise.
23296         * lib/unictype/pr_titlecase.h: Likewise.
23297         * lib/unictype/pr_variation_selector.h: Likewise.
23298         * lib/unictype/pr_white_space.h: Likewise.
23299         * lib/unictype/pr_zero_width.h: Likewise.
23300         * lib/unictype/sy_c_ident.h: Likewise.
23301         * lib/unictype/sy_c_whitespace.h: Likewise.
23302         * lib/unictype/sy_java_whitespace.h: Likewise.
23303         * lib/uninorm/composition-table.gperf: Likewise.
23304         * lib/uninorm/decomposition-table1.h: Likewise.
23305         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
23306         LB8.
23307         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23308         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23309         * modules/unictype/*: Bump version number of expected libunistring
23310         version.
23311
23312 2011-01-09  Bruno Haible  <bruno@clisp.org>
23313
23314         Update to Unicode 5.2.0.
23315         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
23316         trailing whitespace removed.
23317
23318 2011-01-09  Bruno Haible  <bruno@clisp.org>
23319
23320         New Unicode character properties, from Unicode 5.2.0.
23321         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
23322         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
23323         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
23324         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
23325         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
23326         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
23327         uc_is_property_cased, uc_is_property_case_ignorable,
23328         uc_is_property_changes_when_lowercased,
23329         uc_is_property_changes_when_uppercased,
23330         uc_is_property_changes_when_titlecased,
23331         uc_is_property_changes_when_casefolded,
23332         uc_is_property_changes_when_casemapped): New declarations.
23333         * lib/unictype/pr_byname.gperf: Add the new properties.
23334         * modules/unictype/property-byname (Depends-on): Depend on the new
23335         properties modules.
23336         * modules/unictype/property-all (Depends-on): Likewise.
23337         * MODULES.html.sh (Unicode string functions): Add
23338         unictype/property-case-ignorable, unictype/property-cased,
23339         unictype/property-changes-when-casefolded,
23340         unictype/property-changes-when-casemapped,
23341         unictype/property-changes-when-lowercased,
23342         unictype/property-changes-when-titlecased,
23343         unictype/property-changes-when-uppercased.
23344
23345         New module 'unictype/property-changes-when-casemapped'.
23346         * modules/unictype/property-changes-when-casemapped: New file.
23347         * lib/unictype/pr_changes_when_casemapped.c: New file.
23348         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23349         generated by gen-uni-tables.
23350         * modules/unictype/property-changes-when-casemapped-tests: New file.
23351         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23352         automatically generated by gen-uni-tables.
23353
23354         New module 'unictype/property-changes-when-casefolded'.
23355         * modules/unictype/property-changes-when-casefolded: New file.
23356         * lib/unictype/pr_changes_when_casefolded.c: New file.
23357         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23358         generated by gen-uni-tables.
23359         * modules/unictype/property-changes-when-casefolded-tests: New file.
23360         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23361         automatically generated by gen-uni-tables.
23362
23363         New module 'unictype/property-changes-when-titlecased'.
23364         * modules/unictype/property-changes-when-titlecased: New file.
23365         * lib/unictype/pr_changes_when_titlecased.c: New file.
23366         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23367         generated by gen-uni-tables.
23368         * modules/unictype/property-changes-when-titlecased-tests: New file.
23369         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23370         automatically generated by gen-uni-tables.
23371
23372         New module 'unictype/property-changes-when-uppercased'.
23373         * modules/unictype/property-changes-when-uppercased: New file.
23374         * lib/unictype/pr_changes_when_uppercased.c: New file.
23375         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23376         generated by gen-uni-tables.
23377         * modules/unictype/property-changes-when-uppercased-tests: New file.
23378         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23379         automatically generated by gen-uni-tables.
23380
23381         New module 'unictype/property-changes-when-lowercased'.
23382         * modules/unictype/property-changes-when-lowercased: New file.
23383         * lib/unictype/pr_changes_when_lowercased.c: New file.
23384         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23385         generated by gen-uni-tables.
23386         * modules/unictype/property-changes-when-lowercased-tests: New file.
23387         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23388         automatically generated by gen-uni-tables.
23389
23390         New module 'unictype/property-case-ignorable'.
23391         * modules/unictype/property-case-ignorable: New file.
23392         * lib/unictype/pr_case_ignorable.c: New file.
23393         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23394         by gen-uni-tables.
23395         * modules/unictype/property-case-ignorable-tests: New file.
23396         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23397         generated by gen-uni-tables.
23398
23399         New module 'unictype/property-cased'.
23400         * modules/unictype/property-cased: New file.
23401         * lib/unictype/pr_cased.c: New file.
23402         * lib/unictype/pr_cased.h: New file, automatically generated by
23403         gen-uni-tables.
23404         * modules/unictype/property-cased-tests: New file.
23405         * tests/unictype/test-pr_cased.c: New file, automatically generated by
23406         gen-uni-tables.
23407
23408 2011-01-09  Bruno Haible  <bruno@clisp.org>
23409
23410         Update to Unicode 5.2.0.
23411         * lib/gen-uni-tables.c (output_predicate, output_category,
23412         output_combclass, output_bidi_category, output_decimal_digit_test,
23413         output_decimal_digit, output_digit_test, output_digit,
23414         output_numeric_test, output_numeric, output_mirror, output_scripts,
23415         output_scripts_byname, output_blocks, output_ident_category): Fix
23416         comment header.
23417         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
23418         get_wbp.
23419         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
23420         items.
23421         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
23422         Changes_When_Lowercased, Changes_When_Uppercased,
23423         Changes_When_Titlecased, Changes_When_Casefolded,
23424         Changes_When_Casemapped.
23425         (is_property_alphabetic, is_property_default_ignorable_code_point):
23426         Update for Unicode 5.2.0.
23427         (is_property_cased, is_property_case_ignorable,
23428         is_property_changes_when_lowercased,
23429         is_property_changes_when_uppercased,
23430         is_property_changes_when_titlecased,
23431         is_property_changes_when_casefolded,
23432         is_property_changes_when_casemapped): New functions.
23433         (output_properties): Output also the properties cased, case_ignorable,
23434         changes_when_lowercased, changes_when_uppercased,
23435         changes_when_titlecased, changes_when_casefolded,
23436         changes_when_casemapped.
23437         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
23438         Unicode TR#11 revision 17 -> 19.
23439         (LBP_CP): New enumeration value.
23440         (LBP_*): Adjust values accordingly.
23441         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23442         TR#14 revision 22 -> 24.
23443         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
23444         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
23445         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23446         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
23447         is_WBP_MIDLETTER.
23448         (output_composition_tables): Allow for 24 bits instead of 16 bits in
23449         the code1 and code2 of each composition rule.
23450         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
23451         * lib/unicase/ignorable.h: Likewise.
23452         * lib/unicase/tocasefold.h: Likewise.
23453         * lib/unicase/tolower.h: Likewise.
23454         * lib/unicase/totitle.h: Likewise.
23455         * lib/unicase/toupper.h: Likewise.
23456         * lib/unictype/bidi_of.h: Likewise.
23457         * lib/unictype/blocks.h: Likewise.
23458         * lib/unictype/categ_C.h: Likewise.
23459         * lib/unictype/categ_Cf.h: Likewise.
23460         * lib/unictype/categ_Cn.h: Likewise.
23461         * lib/unictype/categ_L.h: Likewise.
23462         * lib/unictype/categ_Ll.h: Likewise.
23463         * lib/unictype/categ_Lm.h: Likewise.
23464         * lib/unictype/categ_Lo.h: Likewise.
23465         * lib/unictype/categ_Lu.h: Likewise.
23466         * lib/unictype/categ_M.h: Likewise.
23467         * lib/unictype/categ_Mc.h: Likewise.
23468         * lib/unictype/categ_Mn.h: Likewise.
23469         * lib/unictype/categ_N.h: Likewise.
23470         * lib/unictype/categ_Nd.h: Likewise.
23471         * lib/unictype/categ_Nl.h: Likewise.
23472         * lib/unictype/categ_No.h: Likewise.
23473         * lib/unictype/categ_P.h: Likewise.
23474         * lib/unictype/categ_Pd.h: Likewise.
23475         * lib/unictype/categ_Po.h: Likewise.
23476         * lib/unictype/categ_S.h: Likewise.
23477         * lib/unictype/categ_Sc.h: Likewise.
23478         * lib/unictype/categ_So.h: Likewise.
23479         * lib/unictype/categ_of.h: Likewise.
23480         * lib/unictype/combining.h: Likewise.
23481         * lib/unictype/ctype_alnum.h: Likewise.
23482         * lib/unictype/ctype_alpha.h: Likewise.
23483         * lib/unictype/ctype_graph.h: Likewise.
23484         * lib/unictype/ctype_lower.h: Likewise.
23485         * lib/unictype/ctype_print.h: Likewise.
23486         * lib/unictype/ctype_punct.h: Likewise.
23487         * lib/unictype/ctype_upper.h: Likewise.
23488         * lib/unictype/decdigit.h: Likewise.
23489         * lib/unictype/digit.h: Likewise.
23490         * lib/unictype/numeric.h: Likewise.
23491         * lib/unictype/pr_alphabetic.h: Likewise.
23492         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23493         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23494         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23495         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23496         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23497         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23498         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23499         * lib/unictype/pr_combining.h: Likewise.
23500         * lib/unictype/pr_composite.h: Likewise.
23501         * lib/unictype/pr_currency_symbol.h: Likewise.
23502         * lib/unictype/pr_dash.h: Likewise.
23503         * lib/unictype/pr_decimal_digit.h: Likewise.
23504         * lib/unictype/pr_deprecated.h: Likewise.
23505         * lib/unictype/pr_diacritic.h: Likewise.
23506         * lib/unictype/pr_extender.h: Likewise.
23507         * lib/unictype/pr_grapheme_base.h: Likewise.
23508         * lib/unictype/pr_grapheme_extend.h: Likewise.
23509         * lib/unictype/pr_grapheme_link.h: Likewise.
23510         * lib/unictype/pr_id_continue.h: Likewise.
23511         * lib/unictype/pr_id_start.h: Likewise.
23512         * lib/unictype/pr_ideographic.h: Likewise.
23513         * lib/unictype/pr_ignorable_control.h: Likewise.
23514         * lib/unictype/pr_logical_order_exception.h: Likewise.
23515         * lib/unictype/pr_lowercase.h: Likewise.
23516         * lib/unictype/pr_numeric.h: Likewise.
23517         * lib/unictype/pr_other_alphabetic.h: Likewise.
23518         * lib/unictype/pr_punctuation.h: Likewise.
23519         * lib/unictype/pr_sentence_terminal.h: Likewise.
23520         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23521         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23522         * lib/unictype/pr_unified_ideograph.h: Likewise.
23523         * lib/unictype/pr_uppercase.h: Likewise.
23524         * lib/unictype/pr_xid_continue.h: Likewise.
23525         * lib/unictype/pr_xid_start.h: Likewise.
23526         * lib/unictype/pr_zero_width.h: Likewise.
23527         * lib/unictype/scripts.h: Likewise.
23528         * lib/unictype/scripts_byname.gperf: Likewise.
23529         * lib/unictype/sy_java_ident.h: Likewise.
23530         * lib/unigbrk/gbrkprop.h: Likewise.
23531         * lib/unilbrk/lbrkprop1.h: Likewise.
23532         * lib/unilbrk/lbrkprop2.h: Likewise.
23533         * lib/unilbrk/lbrktables.h: Likewise.
23534         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
23535         LBP_CP. Implement rule LB30.
23536         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
23537         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
23538         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
23539         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
23540         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
23541         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
23542         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
23543         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
23544         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
23545         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
23546         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
23547         bits instead of 16 bits in the code1 and code2 of each composition
23548         rule.
23549         (uc_composition): Update for Unicode 5.2.0.
23550         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
23551         * lib/uninorm/decomposition-table2.h: Likewise.
23552         * lib/uniwbrk/wbrkprop.h: Likewise.
23553         * tests/unicase/test-cased.c: Likewise.
23554         * tests/unicase/test-ignorable.c: Likewise.
23555         * tests/unicase/test-uc_tolower.c: Likewise.
23556         * tests/unicase/test-uc_totitle.c: Likewise.
23557         * tests/unicase/test-uc_toupper.c: Likewise.
23558         * tests/unictype/test-categ_C.c: Likewise.
23559         * tests/unictype/test-categ_Cf.c: Likewise.
23560         * tests/unictype/test-categ_Cn.c: Likewise.
23561         * tests/unictype/test-categ_L.c: Likewise.
23562         * tests/unictype/test-categ_Ll.c: Likewise.
23563         * tests/unictype/test-categ_Lm.c: Likewise.
23564         * tests/unictype/test-categ_Lo.c: Likewise.
23565         * tests/unictype/test-categ_Lu.c: Likewise.
23566         * tests/unictype/test-categ_M.c: Likewise.
23567         * tests/unictype/test-categ_Mc.c: Likewise.
23568         * tests/unictype/test-categ_Mn.c: Likewise.
23569         * tests/unictype/test-categ_N.c: Likewise.
23570         * tests/unictype/test-categ_Nd.c: Likewise.
23571         * tests/unictype/test-categ_Nl.c: Likewise.
23572         * tests/unictype/test-categ_No.c: Likewise.
23573         * tests/unictype/test-categ_P.c: Likewise.
23574         * tests/unictype/test-categ_Pd.c: Likewise.
23575         * tests/unictype/test-categ_Po.c: Likewise.
23576         * tests/unictype/test-categ_S.c: Likewise.
23577         * tests/unictype/test-categ_Sc.c: Likewise.
23578         * tests/unictype/test-categ_So.c: Likewise.
23579         * tests/unictype/test-ctype_alnum.c: Likewise.
23580         * tests/unictype/test-ctype_alpha.c: Likewise.
23581         * tests/unictype/test-ctype_graph.c: Likewise.
23582         * tests/unictype/test-ctype_lower.c: Likewise.
23583         * tests/unictype/test-ctype_print.c: Likewise.
23584         * tests/unictype/test-ctype_punct.c: Likewise.
23585         * tests/unictype/test-ctype_upper.c: Likewise.
23586         * tests/unictype/test-decdigit.h: Likewise.
23587         * tests/unictype/test-digit.h: Likewise.
23588         * tests/unictype/test-numeric.h: Likewise.
23589         * tests/unictype/test-pr_alphabetic.c: Likewise.
23590         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23591         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23592         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23593         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23594         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23595         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23596         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23597         * tests/unictype/test-pr_combining.c: Likewise.
23598         * tests/unictype/test-pr_composite.c: Likewise.
23599         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23600         * tests/unictype/test-pr_dash.c: Likewise.
23601         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23602         * tests/unictype/test-pr_deprecated.c: Likewise.
23603         * tests/unictype/test-pr_diacritic.c: Likewise.
23604         * tests/unictype/test-pr_extender.c: Likewise.
23605         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23606         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23607         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23608         * tests/unictype/test-pr_id_continue.c: Likewise.
23609         * tests/unictype/test-pr_id_start.c: Likewise.
23610         * tests/unictype/test-pr_ideographic.c: Likewise.
23611         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23612         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23613         * tests/unictype/test-pr_lowercase.c: Likewise.
23614         * tests/unictype/test-pr_numeric.c: Likewise.
23615         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23616         * tests/unictype/test-pr_punctuation.c: Likewise.
23617         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23618         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23619         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23620         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23621         * tests/unictype/test-pr_uppercase.c: Likewise.
23622         * tests/unictype/test-pr_xid_continue.c: Likewise.
23623         * tests/unictype/test-pr_xid_start.c: Likewise.
23624         * tests/unictype/test-pr_zero_width.c: Likewise.
23625         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23626         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
23627         changed behaviour: line breaking is now disallowed between a letter
23628         or '=' and '('.
23629         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23630         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23631         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
23632         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
23633         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23634         lib/uniwidth/width.c.
23635         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
23636         without comments, but with the original copyright notice.
23637         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23638         changes.
23639         * lib/unictype/categ_Cc.h: Likewise.
23640         * lib/unictype/categ_Co.h: Likewise.
23641         * lib/unictype/categ_Cs.h: Likewise.
23642         * lib/unictype/categ_Lt.h: Likewise.
23643         * lib/unictype/categ_Me.h: Likewise.
23644         * lib/unictype/categ_Pc.h: Likewise.
23645         * lib/unictype/categ_Pe.h: Likewise.
23646         * lib/unictype/categ_Pf.h: Likewise.
23647         * lib/unictype/categ_Pi.h: Likewise.
23648         * lib/unictype/categ_Ps.h: Likewise.
23649         * lib/unictype/categ_Sk.h: Likewise.
23650         * lib/unictype/categ_Sm.h: Likewise.
23651         * lib/unictype/categ_Z.h: Likewise.
23652         * lib/unictype/categ_Zl.h: Likewise.
23653         * lib/unictype/categ_Zp.h: Likewise.
23654         * lib/unictype/categ_Zs.h: Likewise.
23655         * lib/unictype/ctype_blank.h: Likewise.
23656         * lib/unictype/ctype_cntrl.h: Likewise.
23657         * lib/unictype/ctype_digit.h: Likewise.
23658         * lib/unictype/ctype_space.h: Likewise.
23659         * lib/unictype/ctype_xdigit.h: Likewise.
23660         * lib/unictype/mirror.h: Likewise.
23661         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23662         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23663         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23664         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23665         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23666         * lib/unictype/pr_bidi_control.h: Likewise.
23667         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23668         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23669         * lib/unictype/pr_bidi_pdf.h: Likewise.
23670         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23671         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23672         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23673         * lib/unictype/pr_format_control.h: Likewise.
23674         * lib/unictype/pr_hex_digit.h: Likewise.
23675         * lib/unictype/pr_hyphen.h: Likewise.
23676         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23677         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23678         * lib/unictype/pr_iso_control.h: Likewise.
23679         * lib/unictype/pr_join_control.h: Likewise.
23680         * lib/unictype/pr_left_of_pair.h: Likewise.
23681         * lib/unictype/pr_line_separator.h: Likewise.
23682         * lib/unictype/pr_math.h: Likewise.
23683         * lib/unictype/pr_non_break.h: Likewise.
23684         * lib/unictype/pr_not_a_character.h: Likewise.
23685         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23686         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23687         * lib/unictype/pr_other_id_continue.h: Likewise.
23688         * lib/unictype/pr_other_id_start.h: Likewise.
23689         * lib/unictype/pr_other_lowercase.h: Likewise.
23690         * lib/unictype/pr_other_math.h: Likewise.
23691         * lib/unictype/pr_other_uppercase.h: Likewise.
23692         * lib/unictype/pr_paired_punctuation.h: Likewise.
23693         * lib/unictype/pr_paragraph_separator.h: Likewise.
23694         * lib/unictype/pr_pattern_syntax.h: Likewise.
23695         * lib/unictype/pr_pattern_white_space.h: Likewise.
23696         * lib/unictype/pr_private_use.h: Likewise.
23697         * lib/unictype/pr_quotation_mark.h: Likewise.
23698         * lib/unictype/pr_radical.h: Likewise.
23699         * lib/unictype/pr_soft_dotted.h: Likewise.
23700         * lib/unictype/pr_space.h: Likewise.
23701         * lib/unictype/pr_titlecase.h: Likewise.
23702         * lib/unictype/pr_variation_selector.h: Likewise.
23703         * lib/unictype/pr_white_space.h: Likewise.
23704         * lib/unictype/sy_c_ident.h: Likewise.
23705         * lib/unictype/sy_c_whitespace.h: Likewise.
23706         * lib/unictype/sy_java_whitespace.h: Likewise.
23707         * modules/uni*/*: Bump version number of expected libunistring version.
23708         Reported by Simon Josefsson.
23709
23710 2011-01-09  Karl Heuer  <kwzh@gnu.org>
23711
23712         useless-if-before-free: fix typo in --help and make the internal,
23713         automatic version date update process work once again.
23714         --help output contained a NUL character instead of the
23715         backslash-zero that was intended.  Also, the "must lie within
23716         the first 8 lines" line is on line 9, and hence not getting
23717         automatically updated.
23718         * build-aux/useless-if-before-free: Fix the former by adding a
23719         backslash, and the latter by condensing the three lines of what-it-does
23720         to a single line, leaving one line of slack for the future.
23721
23722 2011-01-09  Bruno Haible  <bruno@clisp.org>
23723
23724         uniwidth/width: Fix width of U+1D173..U+1D17A.
23725         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
23726         symbolic_width, output_width_property_test): New functions.
23727         (main): Invoke output_nonspacing_property, output_width_property_test.
23728         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
23729         U+1D173..U+1D17A.
23730         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
23731         1.
23732         * modules/uniwidth/*: Bump version number of expected libunistring
23733         version.
23734         * modules/unilbrk/*: Likewise.
23735
23736 2011-01-08  Bruno Haible  <bruno@clisp.org>
23737
23738         uninorm tests: Preserve copyright of Unicode data file.
23739         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
23740         Mention modifications.
23741
23742 2011-01-08  Bruno Haible  <bruno@clisp.org>
23743
23744         gen-uni-tables: Prepare for Unicode 5.2.0.
23745         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
23746         (debug_output_lbp, output_lbp): Update.
23747
23748 2011-01-08  Bruno Haible  <bruno@clisp.org>
23749
23750         unilbrk: Clarify gen-uni-tables.c code.
23751         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
23752         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
23753         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
23754
23755 2011-01-07  Bruno Haible  <bruno@clisp.org>
23756
23757         strtod: Restore errno when successfully parsing Infinity or NaN.
23758         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
23759         restore the original errno.
23760
23761 2011-01-07  Bruno Haible  <bruno@clisp.org>
23762
23763         remove test: Avoid failure on HP-UX 11.
23764         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
23765
23766 2011-01-07  Bruno Haible  <bruno@clisp.org>
23767
23768         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23769         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23770         error code.
23771
23772 2011-01-07  Pádraig Brady <P@draigBrady.com>
23773
23774         ignore-value: fixup comments, and add Eric Blake
23775         as an author since he rewrote the macros.
23776         * lib/ignore-value.h (ignore_value):  State that
23777         we now support aggregates.  Also specify exactly
23778         when the GCC warn_unused_result feature was added.
23779
23780 2011-01-06  Eric Blake  <eblake@redhat.com>
23781
23782         ignore-value: support aggregate types
23783         * lib/ignore-value.h (ignore_value): Provide separate gcc
23784         definition.
23785         * modules/ignore-value-tests: New test module.
23786         * tests/test-ignore-value.c: New test.
23787
23788         maint.mk: improve sc_prohibit_strcmp regex
23789         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23790         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23791         definition of STRNEQ.
23792
23793         signal: work around Haiku issue with SIGBUS
23794         * lib/siglist.h: Add comment.
23795         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23796         strsignal's favoring of SIGSEGV.
23797         * tests/test-signal.c (main): Avoid test failure.
23798         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23799         Reported by Scott McCreary.
23800
23801         maint.mk: add pre-release check to ensure submodule commits are public
23802         * top/maint.mk (public-submodule-commit): New rule.
23803         (submodule-checks): New variable.
23804         (alpha beta stable): Depend on the variable.
23805
23806 2011-01-05  Pádraig Brady <P@draigBrady.com>
23807         and Jim Meyering  <meyering@redhat.com>
23808
23809         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23810         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23811         (ATTRIBUTE_DEPRECATED): Define.
23812         (_ignore_case): New function.
23813         (ignore_value): New macro, to replace the old function.
23814         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23815         * modules/ignore-value (Depends-on): Add stdint.
23816
23817 2011-01-04  Eric Blake  <eblake@redhat.com>
23818
23819         doc: regenerate INSTALL
23820         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23821         @firstparagraphindent support, now that autoconf dropped it.
23822         (INSTALL_PRELUDE): Reinstate old macro.
23823         * doc/install.texi: Resync from autoconf.
23824         * doc/INSTALL: Reflect recent autoconf update.
23825         * doc/INSTALL.ISO: Likewise.
23826         * doc/INSTALL.UTF-8: Likewise.
23827         Reported by Karl Berry.
23828
23829 2011-01-04  Bruce Korb  <address@hidden>
23830
23831         git-version-gen: avoid a sub-shell
23832         * build-aux/git-version-gen: Redirect stderr in `...` via
23833         "exec 2>...", rather than via an added sub-shell.
23834
23835 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23836
23837         git-version-gen: use (...) rather than sh -c '...'
23838         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23839         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23840
23841 2011-01-03  Jim Meyering  <meyering@redhat.com>
23842
23843         git-version-gen: convert leading TABs to spaces
23844         * build-aux/git-version-gen: Expand leading TABs.
23845
23846         git-version-gen: handle failed "git rev-list"
23847         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23848         from git and proceeding as if it had succeeded but printed no SHA1
23849         checksums, suppress the diagnostic and handle the failure.
23850         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23851
23852         git-version-gen: include command name in one more diagnostic
23853         * build-aux/git-version-gen: When the required .tarball-version file
23854         was missing or unreadable, you might see the diagnostic from "cat",
23855         but no trace of the name of the invoking script.  Now, you still see
23856         the diagnostic from cat, but also get one from "git-version-gen: ".
23857         Inspired by a patch from Bruce Korb.
23858
23859         update-copyright: adjust test to match changed code
23860         * tests/test-update-copyright.sh: Change test's expected output
23861         to match new actual output.
23862
23863 2011-01-02  Bruno Haible  <bruno@clisp.org>
23864
23865         getlogin_r: Avoid test failure on HP-UX 11.
23866         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23867         ERANGE when the second argument is zero.
23868         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23869         portability problem.
23870
23871 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23872
23873         * build-aux/update-copyright: doc Simon's changes
23874
23875 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23876
23877         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23878         environment variable.
23879
23880 2011-01-02  Bruno Haible  <bruno@clisp.org>
23881
23882         unigbrk: Avoid gcc warnings.
23883         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23884         unused variable.
23885         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23886         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23887         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23888         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23889         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23890         Change type of first argument to 'const char *'.
23891         (main): Remove unused variable.
23892         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23893         type of first argument to 'const char *'.
23894         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23895         Likewise.
23896         (main): Change type of variable 's'.
23897         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23898         to 'int'.
23899
23900 2011-01-02  Bruno Haible  <bruno@clisp.org>
23901
23902         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23903         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23904         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23905         bug.
23906         * lib/pwrite.c: Undo 2010-12-31 patch.
23907         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23908
23909 2011-01-02  Bruno Haible  <bruno@clisp.org>
23910
23911         pread: Fix test whether it works.
23912         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23913
23914 2011-01-02  Bruno Haible  <bruno@clisp.org>
23915
23916         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23917         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23918         ends in "6". Don't require a specific month name. Try also the locale
23919         names found on HP-UX 11 and Solaris 7.
23920
23921 2011-01-02  Bruno Haible  <bruno@clisp.org>
23922
23923         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23924         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23925         C linkage.
23926         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23927
23928 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23929
23930         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23931         for consistency, since the "cluster" term is not used elsewhere.
23932         * lib/unigbrk.in.h: Update name.
23933         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23934         * lib/unigbrk/u16-grapheme-next.c: Update name.
23935         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23936         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23937         * lib/unigbrk/u32-grapheme-next.c: Update name.
23938         * lib/unigbrk/u32-grapheme-prev.c: Update name.
23939         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
23940         * lib/unigbrk/u8-grapheme-next.c: Update name.
23941         * lib/unigbrk/u8-grapheme-prev.c: Update name.
23942         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
23943         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
23944         Suggested by Bruno Haible.
23945
23946 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23947
23948         Remove module 'u8-grapheme-len' as too redundant with
23949         'u8-grapheme-next'.
23950         * modules/unigbrk/u8-grapheme-len: Delete file.
23951         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
23952         * lib/unigbrk.in.h: Remove prototype for deleted function.
23953         * lib/unigbrk/u8-grapheme-len.c: Delete file.
23954         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
23955
23956         Remove module 'u16-grapheme-len' as too redundant with
23957         'u16-grapheme-next'.
23958         * modules/unigbrk/u16-grapheme-len: Delete file.
23959         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
23960         * lib/unigbrk.in.h: Remove prototype for deleted function.
23961         * lib/unigbrk/u16-grapheme-len.c: Delete file.
23962         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
23963
23964         Remove module 'u32-grapheme-len' as too redundant with
23965         'u32-grapheme-next'.
23966         * modules/unigbrk/u32-grapheme-len: Delete file.
23967         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
23968         * lib/unigbrk.in.h: Remove prototype for deleted function.
23969         * lib/unigbrk/u32-grapheme-len.c: Delete file.
23970         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
23971
23972         Suggested by Bruno Haible.
23973
23974 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23975
23976         * unigbrk.in.h: Fix typo: "ben" => "been".
23977         Reported by Bruno Haible.
23978
23979 2011-01-01  Jim Meyering  <meyering@redhat.com>
23980
23981         maint: update almost all copyright ranges to include 2011
23982         Run the new "make update-copyright" rule.
23983
23984 2011-01-01  Jim Meyering  <meyering@redhat.com>
23985
23986         maint: update-copyright: exempt doc/INSTALL*
23987         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23988         since they are generated.  Suggested by Bruno Haible.
23989
23990 2011-01-01  Jim Meyering  <meyering@redhat.com>
23991
23992         maint: refine the update-copyright rule
23993         * Makefile (update-copyright): Also exclude any file that includes
23994         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23995         code that merely generates the comment.
23996
23997 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23998
23999         New module 'u8-grapheme-len'.
24000         * modules/unigbrk/u8-grapheme-len: New file.
24001         * modules/unigbrk/u8-grapheme-len-tests: New file.
24002         * lib/unigbrk.in.h: Add prototype for new function.
24003         * lib/unigbrk/u8-grapheme-len.c: New file.
24004         * tests/unigbrk/test-u8-grapheme-len.c: New file.
24005
24006         New module 'u16-grapheme-len'.
24007         * modules/unigbrk/u16-grapheme-len: New file.
24008         * modules/unigbrk/u16-grapheme-len-tests: New file.
24009         * lib/unigbrk.in.h: Add prototype for new function.
24010         * lib/unigbrk/u16-grapheme-len.c: New file.
24011         * tests/unigbrk/test-u16-grapheme-len.c: New file.
24012
24013         New module 'u32-grapheme-len'.
24014         * modules/unigbrk/u32-grapheme-len: New file.
24015         * modules/unigbrk/u32-grapheme-len-tests: New file.
24016         * lib/unigbrk.in.h: Add prototype for new function.
24017         * lib/unigbrk/u32-grapheme-len.c: New file.
24018         * tests/unigbrk/test-u32-grapheme-len.c: New file.
24019
24020         New module 'u8-grapheme-next'.
24021         * modules/unigbrk/u8-grapheme-next: New file.
24022         * modules/unigbrk/u8-grapheme-next-tests: New file.
24023         * lib/unigbrk.in.h: Add prototype for new function.
24024         * lib/unigbrk/u8-grapheme-next.c: New file.
24025         * tests/unigbrk/test-u8-grapheme-next.c: New file.
24026
24027         New module 'u16-grapheme-next'.
24028         * modules/unigbrk/u16-grapheme-next: New file.
24029         * modules/unigbrk/u16-grapheme-next-tests: New file.
24030         * lib/unigbrk.in.h: Add prototype for new function.
24031         * lib/unigbrk/u16-grapheme-next.c: New file.
24032         * tests/unigbrk/test-u16-grapheme-next.c: New file.
24033
24034         New module 'u32-grapheme-next'.
24035         * modules/unigbrk/u32-grapheme-next: New file.
24036         * modules/unigbrk/u32-grapheme-next-tests: New file.
24037         * lib/unigbrk.in.h: Add prototype for new function.
24038         * lib/unigbrk/u32-grapheme-next.c: New file.
24039         * tests/unigbrk/test-u32-grapheme-next.c: New file.
24040
24041         New module 'u8-grapheme-prev'.
24042         * modules/unigbrk/u8-grapheme-prev: New file.
24043         * modules/unigbrk/u8-grapheme-prev-tests: New file.
24044         * lib/unigbrk.in.h: Add prototype for new function.
24045         * lib/unigbrk/u8-grapheme-prev.c: New file.
24046         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
24047
24048         New module 'u16-grapheme-prev'.
24049         * modules/unigbrk/u16-grapheme-prev: New file.
24050         * modules/unigbrk/u16-grapheme-prev-tests: New file.
24051         * lib/unigbrk.in.h: Add prototype for new function.
24052         * lib/unigbrk/u16-grapheme-prev.c: New file.
24053         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
24054
24055         New module 'u32-grapheme-prev'.
24056         * modules/unigbrk/u32-grapheme-prev: New file.
24057         * modules/unigbrk/u32-grapheme-prev-tests: New file.
24058         * lib/unigbrk.in.h: Add prototype for new function.
24059         * lib/unigbrk/u32-grapheme-prev.c: New file.
24060         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
24061
24062         New module 'u8-grapheme-breaks'.
24063         * modules/unigbrk/u8-grapheme-breaks: New file.
24064         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
24065         * lib/unigbrk.in.h: Add prototype for new function.
24066         * lib/unigbrk/u8-grapheme-breaks.c: New file.
24067         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
24068
24069         New module 'u16-grapheme-breaks'.
24070         * modules/unigbrk/u16-grapheme-breaks: New file.
24071         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
24072         * lib/unigbrk.in.h: Add prototype for new function.
24073         * lib/unigbrk/u16-grapheme-breaks.c: New file.
24074         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
24075
24076         New module 'u32-grapheme-breaks'.
24077         * modules/unigbrk/u32-grapheme-breaks: New file.
24078         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
24079         * lib/unigbrk.in.h: Add prototype for new function.
24080         * lib/unigbrk/u32-grapheme-breaks.c: New file.
24081         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
24082
24083         New module 'ulc-grapheme-breaks'.
24084         * modules/unigbrk/ulc-grapheme-breaks: New file.
24085         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
24086         * m4/locale-ar.m4: New file.
24087         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
24088         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
24089         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
24090
24091 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24092
24093         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
24094         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
24095         modified how this file was generated before I initially submitted
24096         the module, but failed to regenerate it.  This meant that several
24097         of the level2 entries were wrong.
24098         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
24099         Remove the division-by-2 that is folded into the table now that
24100         gbrkprop.h has been regenerated properly.  Now -1 entries are
24101         handled correctly.
24102
24103         New module 'unigbrk/uc-gbrk-prop-tests'.
24104         * modules/unigbrk/uc-gbrk-prop-tests: New file.
24105         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
24106         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
24107         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
24108
24109 2011-01-01  Bruno Haible  <bruno@clisp.org>
24110
24111         Avoid use of hexadecimal escapes.
24112         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
24113         instead of hexadecimal escapes.
24114
24115 2011-01-01  Jim Meyering  <meyering@redhat.com>
24116
24117         maint: new rule to update copyright year ranges
24118         * Makefile (update-copyright): New rule.
24119
24120         maint: indent with TABs in Makefile
24121         * Makefile: Expand leading sequences of spaces to TABs
24122
24123         version-etc: update the copyright year it reports
24124         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
24125
24126 2010-12-31  Bruno Haible  <bruno@clisp.org>
24127
24128         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
24129         * lib/isfinite.c (zerof, zerod, zerol): New variables.
24130         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
24131         zero.
24132
24133 2010-12-31  Bruno Haible  <bruno@clisp.org>
24134
24135         pwrite: Work around HP-UX 11.11 bug.
24136         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
24137         works and set REPLACE_PWRITE if not.
24138         * lib/pwrite.c (pwrite): Add an implementation that uses the system
24139         function.
24140         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
24141
24142 2010-12-31  Bruno Haible  <bruno@clisp.org>
24143
24144         pread: Work around HP-UX 11 bugs.
24145         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
24146         and set REPLACE_PREAD if not.
24147         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
24148
24149 2010-12-31  Eric Blake  <eblake@redhat.com>
24150
24151         nl_langinfo: fix YESEXPR on Irix 6.5
24152         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
24153         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
24154         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
24155         it.
24156
24157 2010-12-31  Bruno Haible  <bruno@clisp.org>
24158
24159         iconv: Document HP-UX 11 bug.
24160         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
24161
24162 2010-12-31  Bruno Haible  <bruno@clisp.org>
24163
24164         ldexpl: Fix link error on HP-UX 11.
24165         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
24166         LDEXPL_LIBM, using $ISNANL_LIBM.
24167
24168 2010-12-31  Eric Blake  <eblake@redhat.com>
24169
24170         ftello: avoid compilation failure with SunStudio c89
24171         * lib/ftello.c (ftello): Use lseek, not llseek.
24172
24173         tests: avoid failing coreutils tests on cygwin
24174         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
24175         (create_exe_shims_): Return 0 when skipping.
24176
24177 2010-12-31  Bruno Haible  <bruno@clisp.org>
24178
24179         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
24180         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
24181
24182 2010-12-31  Bruno Haible  <bruno@clisp.org>
24183
24184         waitpid: Fix link error in C++ mode.
24185         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
24186
24187 2010-12-31  Bruno Haible  <bruno@clisp.org>
24188
24189         isnan: Use GCC built-ins when possible.
24190         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
24191         __builtin_isnan.
24192         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
24193         (isnan): Define using GCC built-ins for GCC >= 4.0.
24194
24195 2010-12-31  Bruno Haible  <bruno@clisp.org>
24196
24197         isnand: Fix mistake.
24198         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
24199         __builtin_isnand.
24200
24201 2010-12-31  Bruno Haible  <bruno@clisp.org>
24202
24203         open: Avoid C++ error on HP-UX 11.
24204         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
24205
24206 2010-12-31  Bruno Haible  <bruno@clisp.org>
24207
24208         time_r: Add missing declarations on HP-UX 11.
24209         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
24210         instead of HAVE_LOCALTIME_R.
24211         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
24212         HAVE_LOCALTIME_R always.
24213         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
24214         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
24215         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
24216         HAVE_LOCALTIME_R.
24217         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
24218         * doc/posix-functions/localtime_r.texi: Likewise.
24219
24220 2010-12-29  Eric Blake  <eblake@redhat.com>
24221
24222         mountlist: tweak previous commit
24223         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
24224         Reported by Paul Eggert.
24225
24226         mountlist: fix local drive detection on cygwin
24227         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
24228         that works for cygwin.
24229
24230 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24231
24232         ftoastr, snprintf: ftoastr + snprintf module
24233         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
24234         since the snprintf module now should be good enough here.
24235         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
24236         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
24237         and gl_MODULE_INDICATOR([snprintf]), but the former enables
24238         GNULIB_SNPRINTF only for the test directory, and the latter
24239         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
24240         seems to suffice by itself.
24241
24242 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
24243
24244         alloca: one step towards thread-safety
24245         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
24246         need for a static variable.  All callers changed.  This does not
24247         make the alloca replacement thread-safe, but it's one step.
24248
24249         tests: minor indenting change
24250         * tests/init.sh: Sync from coreutils housekeeping patch
24251         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
24252         to keep lines within 80 columns.
24253
24254 2010-12-28  Jim Meyering  <meyering@redhat.com>
24255
24256         regex: don't infloop on persistent failing calloc
24257         * lib/regexec.c (build_trtable): Return failure indication upon
24258         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
24259         In glibc, this was fixed for version 2.13:
24260         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
24261
24262 2010-12-28  Bruno Haible  <bruno@clisp.org>
24263             Paul Eggert <eggert@cs.ucla.edu>
24264
24265         linkat: Make implementation robust against system behaviour variations.
24266         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
24267         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
24268         way, and to -2 if it needs a generic runtime test.
24269         * lib/linkat.c (solaris_optimized_link_immediate,
24270         solaris_optimized_link_follow): New functions.
24271         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
24272         (check_same_link): Use it.
24273
24274 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
24275
24276         New module 'unigbrk/base'.
24277         * modules/unigbrk/base: New file.
24278         * lib/unigbrk.in.h: New file.
24279
24280         New module 'unigbrk/uc-gbrk-prop'.
24281         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
24282         * modules/unigbrk/uc-gbrk-prop: New file.
24283         * lib/unigbrk/gbrkprop.h: New file.
24284         * lib/unigbrk/uc-gbrk-prop.c: New file.
24285
24286         New module 'unigbrk/uc-is-grapheme-break'.
24287         * modules/unigbrk/uc-is-grapheme-break: New file.
24288         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
24289         * lib/unigbrk/uc-is-grapheme-break.c: New file.
24290         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
24291         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
24292         * tests/unigbrk/GraphemeBreakTest.txt: New file.
24293
24294         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
24295
24296 2010-12-27  Bruno Haible  <bruno@clisp.org>
24297
24298         linkat test: Avoid failure on Solaris 11 2010-11.
24299         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
24300
24301 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24302
24303         utimens: work around glibc rounding bug on more platforms
24304         * lib/utimens.c (fdutimens): Work around rounding bug even if
24305         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
24306         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
24307
24308 2010-12-27  Bruno Haible  <bruno@clisp.org>
24309
24310         select tests: Improve comments.
24311         * tests/test-select.c (do_select): Add comments.
24312
24313 2010-12-27  Bruno Haible  <bruno@clisp.org>
24314
24315         select tests: Safer way of handling timeout.
24316         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
24317         at every invocation.
24318
24319 2010-12-27  Bruno Haible  <bruno@clisp.org>
24320
24321         select tests: Use 'bool' where appropriate.
24322         * tests/test-select.c (connect_to_socket): Change argument type to
24323         'bool'.
24324
24325 2010-12-27  Bruno Haible  <bruno@clisp.org>
24326
24327         select tests: Use existing modules.
24328         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
24329         (configure.ac): Don't test for unistd.h.
24330         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
24331         declared in <unistd.h>.
24332
24333 2010-12-27  Bruno Haible  <bruno@clisp.org>
24334
24335         mbrtowc: Work around a Solaris 7 bug.
24336         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
24337         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
24338         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
24339         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
24340         MBRTOWC_NULL_ARG1_BUG.
24341         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
24342         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
24343         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24344         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24345
24346 2010-12-27  Jim Meyering  <meyering@redhat.com>
24347
24348         read-file.c: tweak syntax
24349         * lib/read-file.c (fread_file): Remove space after "*" in function
24350         definitions.
24351
24352 2010-12-27  Bruno Haible  <bruno@clisp.org>
24353
24354         times test: Avoid gcc warnings on OSF/1.
24355         * tests/test-times.c (main): Cast printf arguments from clock_t to
24356         'long int'.
24357
24358 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24359
24360         utimens: work around glibc rounding bug on older Linux kernels
24361         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24362         on Linux with a glibc whose utimes might not work, then work
24363         around a longstanding glibc bug involving rounding rather than
24364         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24365         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24366
24367 2010-12-26  Bruno Haible  <bruno@clisp.org>
24368
24369         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24370         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24371         _GL_CXXALIAS_SYS.
24372         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24373
24374 2010-12-26  Bruno Haible  <bruno@clisp.org>
24375
24376         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24377         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24378         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24379         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24380         looking for the declaration.
24381         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24382         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24383         problem.
24384         * doc/posix-functions/inet_pton.texi: Likewise.
24385
24386 2010-12-26  Bruno Haible  <bruno@clisp.org>
24387
24388         arpa_inet: Use the common idioms with C++ support.
24389         * lib/arpa_inet.in.h: Include c++defs.h.
24390         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24391         support.
24392         * modules/arpa_inet (Depends-on): Add c++defs.
24393         (Makefile.am): Substitute the contents of c++defs.h.
24394         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24395         * modules/arpa_inet-c++-tests: New file.
24396         * tests/test-arpa_inet-c++.cc: New file.
24397
24398 2010-12-25  Bruno Haible  <bruno@clisp.org>
24399
24400         Fix more C++ link errors on Solaris 8.
24401         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
24402         $(LIB_EACCESS).
24403         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
24404         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
24405         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
24406         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
24407         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
24408
24409 2010-12-25  Bruno Haible  <bruno@clisp.org>
24410
24411         printf-posix: Fix link error when a non-GCC compiler is used.
24412         * lib/stdio.in.h (printf): When not using GCC, override printf
24413         correctly.
24414         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24415
24416 2010-12-25  Bruno Haible  <bruno@clisp.org>
24417
24418         strerror_r-posix: Update doc.
24419         * doc/posix-functions/strerror_r.texi: Update doc about the return
24420         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
24421
24422 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24423
24424         utimens: simplify the logic of the previous change
24425         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
24426         This should not affect whether the test succeeds or fails.
24427
24428         utimens: configure better on hosts with NFS clock skew
24429         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
24430         uses the clock of the local host.  It might use the clock of the
24431         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
24432         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24433
24434 2010-12-25  Bruno Haible  <bruno@clisp.org>
24435
24436         ptsname test: Avoid failure on Solaris.
24437         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
24438         open a pseudo-terminal; don't use BSD-style ptys.
24439         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
24440
24441 2010-12-25  Bruno Haible  <bruno@clisp.org>
24442
24443         ptsname: Avoid ERANGE failure on some systems.
24444         * lib/ptsname.c (buffer): Increase size.
24445
24446 2010-12-25  Bruno Haible  <bruno@clisp.org>
24447
24448         rename, renameat: Avoid test failures at NFS mounted locations.
24449         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
24450         so that subsequent mkdir calls succeed.
24451
24452 2010-12-25  Bruno Haible  <bruno@clisp.org>
24453
24454         iswblank: Fix C++ link error on Solaris 8.
24455         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
24456         _GL_FUNCDECL_SYS.
24457
24458 2010-12-25  Bruno Haible  <bruno@clisp.org>
24459
24460         unistd: Fix C++ link error on Solaris 8.
24461         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
24462
24463 2010-12-25  Bruno Haible  <bruno@clisp.org>
24464
24465         readlink doc: Mention an old glibc bug.
24466         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
24467
24468 2010-12-25  Bruno Haible  <bruno@clisp.org>
24469
24470         fcntl-h: Fix for use of C++ on glibc systems.
24471         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24472         also on glibc systems in C++ mode.
24473         Reported by Gary V. Vaughan <gary@gnu.org>.
24474
24475 2010-12-25  Bruno Haible  <bruno@clisp.org>
24476
24477         roundl-ieee: Make it work on OSF/1 5.1 with cc.
24478         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
24479
24480 2010-12-25  Bruno Haible  <bruno@clisp.org>
24481
24482         truncl-ieee: Make it work on OSF/1 5.1 with cc.
24483         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
24484         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
24485         test whether truncl works according to ISO C 99 with IEC 60559.
24486         * m4/truncl-ieee.m4: New file.
24487         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
24488         m4/signbit.m4.
24489         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
24490
24491 2010-12-25  Bruno Haible  <bruno@clisp.org>
24492
24493         ceill-ieee: Make it work on OSF/1 5.1 with cc.
24494         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
24495         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
24496         test whether ceill works according to ISO C 99 with IEC 60559.
24497         * m4/ceill-ieee.m4: New file.
24498         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
24499         m4/signbit.m4.
24500         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
24501
24502 2010-12-25  Bruno Haible  <bruno@clisp.org>
24503
24504         Ensure all prerequisites of <wchar.h> are included.
24505         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
24506         before <wchar.h>.
24507         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24508         gl_MBRLEN_NUL_RETVAL): Likewise.
24509         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24510         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
24511         AC_FUNC_MBRTOWC): Likewise.
24512         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24513         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
24514         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24515         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24516         Likewise.
24517         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24518         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
24519         (gl_WCHAR_H): Improve comments.
24520         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24521
24522 2010-12-25  Bruno Haible  <bruno@clisp.org>
24523
24524         strtok_r: Fix C syntax error in autoconf macro.
24525         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
24526         characters in test program.
24527
24528 2010-12-24  Bruno Haible  <bruno@clisp.org>
24529
24530         ceil, trunc, round: Fix gcc warnings.
24531         * lib/ceil.c (MIN): Undefine before redefining.
24532         * lib/trunc.c (MIN): Likewise.
24533         * lib/round.c (MIN): Likewise.
24534         Include <math.h> first.
24535
24536 2010-12-24  Bruno Haible  <bruno@clisp.org>
24537
24538         select tests: Avoid failures on OSF/1 5.1.
24539         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
24540         failure of closing the last socket; it may fail with ECONNRESET.
24541
24542 2010-12-24  Eric Blake  <eblake@redhat.com>
24543
24544         stdint: avoid HP-UX 10.20 preprocessor bug
24545         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
24546         than #if.
24547         * tests/test-floor2.c (main): Likewise.
24548         Reported by Peter O'Gorman.
24549
24550         pipe: make obsoletion transition easier
24551         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
24552         * modules/pipe (Files): Include revived file.
24553         (Include): Drop reference, to mirror getdate's behavior.
24554
24555 2010-12-24  Bruno Haible  <bruno@clisp.org>
24556
24557         sys_socket: Hide mismatch of declarations on NonStop Kernel.
24558         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
24559         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
24560         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24561
24562 2010-12-24  Bruno Haible  <bruno@clisp.org>
24563
24564         gethostname: Ensure declaration on NonStop Kernel.
24565         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
24566         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24567
24568 2010-12-24  Bruno Haible  <bruno@clisp.org>
24569
24570         sys_select: Ensure all necessary types on NonStop Kernel.
24571         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
24572         include <sys/time.h>.
24573         * doc/posix-headers/sys_select.texi: Mention that it's missing on
24574         NonStop Kernel.
24575         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24576
24577 2010-12-24  Bruno Haible  <bruno@clisp.org>
24578
24579         sys_select: Remove unneeded include.
24580         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
24581         have <sys/select.h>.
24582
24583 2010-12-24  Bruno Haible  <bruno@clisp.org>
24584
24585         gethostname: Provide a fallback for HOST_NAME_MAX.
24586         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
24587         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
24588         instead.
24589         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24590
24591 2010-12-24  Bruno Haible  <bruno@clisp.org>
24592
24593         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
24594         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
24595         (SA_RESTART): Likewise.
24596         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24597
24598 2010-12-24  Bruno Haible  <bruno@clisp.org>
24599
24600         signal: Define NSIG.
24601         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
24602         * tests/test-signal.c (nsig): New variable.
24603         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24604
24605 2010-12-24  Bruno Haible  <bruno@clisp.org>
24606
24607         rename, renameat: Avoid test failures on OSF/1 5.1.
24608         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
24609         alternative error codes.
24610         * tests/test-renameat.c (main): Likewise.
24611
24612 2010-12-24  Bruno Haible  <bruno@clisp.org>
24613
24614         *printf: Detect large precisions bug on Solaris 10/SPARC.
24615         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
24616         by Paul Eggert.
24617         * tests/test-snprintf-posix.h (test_function): Add this test code here
24618         too.
24619         * tests/test-sprintf-posix.h (test_function): Likewise.
24620         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24621         * tests/test-vasprintf-posix.c (test_function): Likewise.
24622         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
24623         around by gnulib.
24624         * doc/posix-functions/printf.texi: Likewise.
24625         * doc/posix-functions/snprintf.texi: Likewise.
24626         * doc/posix-functions/sprintf.texi: Likewise.
24627         * doc/posix-functions/vfprintf.texi: Likewise.
24628         * doc/posix-functions/vprintf.texi: Likewise.
24629         * doc/posix-functions/vsnprintf.texi: Likewise.
24630         * doc/posix-functions/vsprintf.texi: Likewise.
24631         * doc/posix-functions/dprintf.texi: Undo last commit.
24632         * doc/posix-functions/vdprintf.texi: Likewise.
24633
24634 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
24635
24636         tests: port test-fdutimensat.c to Solaris 8
24637         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
24638         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
24639         On Solaris 8, it fails with errno == ENOSYS, because there is no
24640         futimens (so it can't use the fd), and there is no lutimens (so it
24641         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
24642
24643         vsnprintf: make more consistent with snprintf; doc fixes
24644
24645         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
24646         the byte count return problem was promoted from the snprintf-posix
24647         to the snprintf module.
24648         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
24649         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
24650         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
24651         * tests/test-snprintf.c (main): Check the byte count returned.
24652         * tests/test-vsnprintf.c (main): Likewise.
24653
24654 2010-12-23  Eric Blake  <eblake@redhat.com>
24655
24656         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
24657         * modules/sigpipe (License): Relax license.
24658
24659 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24660
24661         doc: document Solaris printf bug with large float precisions
24662         * doc/posix-functions/dprintf.texi (dprintf):
24663         * doc/posix-functions/fprintf.texi (fprintf):
24664         * doc/posix-functions/printf.texi (printf):
24665         * doc/posix-functions/snprintf.texi (snprintf):
24666         * doc/posix-functions/sprintf.texi (sprintf):
24667         * doc/posix-functions/vdprintf.texi (vdprintf):
24668         * doc/posix-functions/vfprintf.texi (vfprintf):
24669         * doc/posix-functions/vprintf.texi (vprintf):
24670         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24671         * doc/posix-functions/vsprintf.texi (vsprintf):
24672         Mention that these functions mishandle large floating point
24673         precisions on Solaris 10.  The same bug is also present in Solaris
24674         8, and I assume earlier.  This causes "cd gnulib-tests; make
24675         check" to fail on Solaris 8 (and I assume, later) when building
24676         the latest coreutils, in test-vasprintf-posix's call to
24677         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
24678         the wide flavors (e.g., wprintf) so this patch just updates the
24679         documentation for the narrow ones.
24680
24681         test-posixtm.c: add two tests
24682         * tests/test-posixtm.c: Add two tests, to highlight the
24683         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
24684         around this bug; this is merely to document it.
24685
24686 2010-12-22  Bruno Haible  <bruno@clisp.org>
24687
24688         getlogin_r: Work around portability problem on OSF/1.
24689         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
24690         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
24691         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
24692         test for a truncated result.
24693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
24694         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
24695         * modules/getlogin_r (Depends-on): Add memchr.
24696         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
24697
24698 2010-12-22  Bruno Haible  <bruno@clisp.org>
24699
24700         ptsname: Avoid test failure on OSF/1 5.1.
24701         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
24702         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
24703         (same_slave): New function.
24704         (main): Use it to compare ptsname's result with the expected file name.
24705
24706 2010-12-22  Bruno Haible  <bruno@clisp.org>
24707
24708         Port extended stdio modules to HP NonStop Kernel.
24709         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
24710         macros.
24711         * lib/fbufmode.c: Update comments.
24712         * lib/fflush.c: Likewise.
24713         * lib/fpurge.c: Likewise.
24714         * lib/freadable.c: Likewise.
24715         * lib/freadahead.c: Likewise.
24716         * lib/freading.c: Likewise.
24717         * lib/freadptr.c: Likewise.
24718         * lib/freadseek.c: Likewise.
24719         * lib/fseeko.c: Likewise.
24720         * lib/fseterr.c: Likewise.
24721         * lib/fwritable.c: Likewise.
24722         * lib/fwriting.c: Likewise.
24723         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24724
24725 2010-12-22  Bruno Haible  <bruno@clisp.org>
24726
24727         ttyname_r: Work around bug on OSF/1 5.1.
24728         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
24729         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
24730         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
24731         present.
24732         * lib/ttyname_r.c (ttyname_r): Update comments.
24733
24734 2010-12-22  Bruno Haible  <bruno@clisp.org>
24735
24736         round: Implement result sign according to IEEE 754.
24737         * lib/round.c (MIN, MINUS_ZERO): New macros.
24738         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
24739         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
24740         * tests/test-round-ieee.c (main): Likewise.
24741         * tests/test-roundl-ieee.c (main): Likewise.
24742
24743         trunc: Implement result sign according to IEEE 754.
24744         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
24745         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
24746         * tests/test-trunc2.c: Include minus-zero.h.
24747         (MINUS_ZERO): New macro.
24748         (trunc_reference): Keep in sync with lib/trunc.c.
24749         * tests/test-truncf2.c: Include minus-zero.h.
24750         (MINUS_ZERO): New macro.
24751         (truncf_reference): Keep in sync with lib/trunc.c.
24752         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
24753         * tests/test-trunc-ieee.c (main): Likewise.
24754         * tests/test-truncl-ieee.c (main): Likewise.
24755
24756         ceil: Implement result sign according to IEEE 754.
24757         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
24758         (FUNC): Return -0.0 for -1 < x < 0.
24759         * tests/test-ceil2.c: Include minus-zero.h.
24760         (MINUS_ZERO): New macro.
24761         (ceil_reference): Keep in sync with lib/ceil.c.
24762         * tests/test-ceilf2.c: Include minus-zero.h.
24763         (MINUS_ZERO): New macro.
24764         (ceilf_reference): Keep in sync with lib/ceil.c.
24765         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
24766         * tests/test-ceil-ieee.c (main): Likewise.
24767         * tests/test-ceill-ieee.c (main): Likewise.
24768
24769         floor: Implement result sign according to IEEE 754.
24770         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24771         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24772         * tests/test-floorf2.c (floorf_reference): Likewise.
24773         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24774         * tests/test-floor-ieee.c (main): Likewise.
24775         * tests/test-floorl-ieee.c (main): Likewise.
24776
24777 2010-12-22  Bruno Haible  <bruno@clisp.org>
24778
24779         getaddrinfo: Update doc.
24780         * doc/posix-functions/gai_strerror.texi: Return type is also different
24781         on AIX and HP-UX.
24782
24783 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24784
24785         getaddrinfo, inet_ntop: Update doc for Solaris.
24786         * doc/posix-functions/gai_strerror.texi: Return type is also an
24787         issue on Solaris 9 and earlier.
24788         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24789         on Solaris 10 and earlier.
24790
24791 2010-12-21  Bruno Haible  <bruno@clisp.org>
24792
24793         New module 'roundl-ieee'.
24794         * modules/roundl-ieee: New file.
24795         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24796         test whether roundl works according to ISO C 99 with IEC 60559.
24797         * m4/roundl-ieee.m4: New file.
24798         * modules/roundl-ieee-tests: New file.
24799         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24800         * tests/test-roundl.c (main): Remove signbit tests.
24801         * modules/roundl-tests (Depends-on): Remove signbit.
24802         * doc/posix-functions/roundl.texi: Mention the new module.
24803
24804 2010-12-21  Bruno Haible  <bruno@clisp.org>
24805
24806         New module 'truncl-ieee'.
24807         * modules/truncl-ieee: New file.
24808         * modules/truncl-ieee-tests: New file.
24809         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24810         * tests/test-truncl.c (main): Remove signbit tests.
24811         * modules/truncl-tests (Depends-on): Remove signbit.
24812         * doc/posix-functions/truncl.texi: Mention the new module.
24813
24814 2010-12-21  Bruno Haible  <bruno@clisp.org>
24815
24816         New module 'ceill-ieee'.
24817         * modules/ceill-ieee: New file.
24818         * modules/ceill-ieee-tests: New file.
24819         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24820         * tests/test-ceill.c (main): Remove signbit tests.
24821         * modules/ceill-tests (Depends-on): Remove signbit.
24822         * doc/posix-functions/ceill.texi: Mention the new module.
24823
24824 2010-12-21  Bruno Haible  <bruno@clisp.org>
24825
24826         New module 'floorl-ieee'.
24827         * modules/floorl-ieee: New file.
24828         * modules/floorl-ieee-tests: New file.
24829         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24830         * tests/test-floorl.c (main): Remove signbit tests.
24831         * modules/floorl-tests (Depends-on): Remove signbit.
24832         * doc/posix-functions/floorl.texi: Mention the new module.
24833
24834 2010-12-21  Bruno Haible  <bruno@clisp.org>
24835
24836         New module 'round-ieee'.
24837         * modules/round-ieee: New file.
24838         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24839         whether round works according to ISO C 99 with IEC 60559.
24840         * m4/round-ieee.m4: New file.
24841         * modules/round-ieee-tests: New file.
24842         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24843         * tests/test-round1.c (main): Remove signbit tests.
24844         * modules/round-tests (Depends-on): Remove 'signbit'.
24845         * doc/posix-functions/round.texi: Mention the new module.
24846
24847 2010-12-21  Bruno Haible  <bruno@clisp.org>
24848
24849         New module 'trunc-ieee'.
24850         * modules/trunc-ieee: New file.
24851         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24852         whether trunc works according to ISO C 99 with IEC 60559.
24853         * m4/trunc-ieee.m4: New file.
24854         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24855         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24856         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24857         * modules/trunc-ieee-tests: New file.
24858         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24859         * tests/test-trunc1.c (main): Remove signbit tests.
24860         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24861         * doc/posix-functions/trunc.texi: Mention the new module.
24862
24863 2010-12-21  Bruno Haible  <bruno@clisp.org>
24864
24865         New module 'ceil-ieee'.
24866         * modules/ceil-ieee: New file.
24867         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24868         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24869         ISO C 99 with IEC 60559.
24870         * m4/ceil-ieee.m4: New file.
24871         * modules/ceil (Files): Add lib/ceil.c.
24872         (Depends-on): Add 'float'.
24873         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24874         * lib/math.in.h (ceil): New declaration.
24875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24876         REPLACE_CEIL.
24877         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24878         * modules/ceil-ieee-tests: New file.
24879         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24880         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24881         * doc/posix-functions/ceil.texi: Mention the new module.
24882
24883 2010-12-21  Bruno Haible  <bruno@clisp.org>
24884
24885         New module 'floor-ieee'.
24886         * modules/floor-ieee: New file.
24887         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24888         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24889         ISO C 99 with IEC 60559.
24890         * m4/floor-ieee.m4: New file.
24891         * modules/floor (Files): Add lib/floor.c.
24892         (Depends-on): Add 'float'.
24893         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24894         * lib/math.in.h (floor): New declaration.
24895         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24896         REPLACE_FLOOR.
24897         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24898         * modules/floor-ieee-tests: New file.
24899         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24900         * tests/test-math-c++.cc: Check the signature of 'floor'.
24901         * doc/posix-functions/floor.texi: Mention the new module.
24902
24903 2010-12-21  Bruno Haible  <bruno@clisp.org>
24904
24905         New module 'roundf-ieee'.
24906         * modules/roundf-ieee: New file.
24907         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24908         test whether roundf works according to ISO C 99 with IEC 60559.
24909         * m4/roundf-ieee.m4: New file.
24910         * modules/roundf-ieee-tests: New file.
24911         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24912         * tests/test-roundf1.c (main): Remove signbit tests.
24913         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24914         * doc/posix-functions/roundf.texi: Mention the new module.
24915
24916 2010-12-21  Bruno Haible  <bruno@clisp.org>
24917
24918         New module 'truncf-ieee'.
24919         * modules/truncf-ieee: New file.
24920         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24921         test whether truncf works according to ISO C 99 with IEC 60559.
24922         * m4/truncf-ieee.m4: New file.
24923         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24925         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24926         * modules/truncf-ieee-tests: New file.
24927         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24928         * tests/test-truncf1.c (main): Remove signbit tests.
24929         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24930         * doc/posix-functions/truncf.texi: Mention the new module.
24931
24932 2010-12-21  Bruno Haible  <bruno@clisp.org>
24933
24934         New module 'ceilf-ieee'.
24935         * modules/ceilf-ieee: New file.
24936         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24937         test whether ceilf works according to ISO C 99 with IEC 60559.
24938         * m4/ceilf-ieee.m4: New file.
24939         * modules/ceilf-ieee-tests: New file.
24940         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
24941         * tests/test-ceilf1.c (main): Remove signbit tests.
24942         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
24943         * doc/posix-functions/ceilf.texi: Mention the new module.
24944
24945 2010-12-21  Bruno Haible  <bruno@clisp.org>
24946
24947         New module 'floorf-ieee'.
24948         * modules/floorf-ieee: New file.
24949         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
24950         test whether floorf works according to ISO C 99 with IEC 60559.
24951         * m4/floorf-ieee.m4: New file.
24952         * modules/floorf-ieee-tests: New file.
24953         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
24954         * tests/test-floorf1.c (main): Remove signbit tests.
24955         * modules/floorf-tests (Depends-on): Remove 'signbit'.
24956         * doc/posix-functions/floorf.texi: Mention the new module.
24957
24958 2010-12-21  Bruno Haible  <bruno@clisp.org>
24959
24960         Support for minus zero in autoconf macros.
24961         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
24962         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
24963         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
24964         * tests/minus-zero.h: Update comments.
24965
24966 2010-12-21  Bruno Haible  <bruno@clisp.org>
24967
24968         Tests for module 'ceil'.
24969         * modules/ceil-tests: New file.
24970         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
24971         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
24972
24973 2010-12-21  Bruno Haible  <bruno@clisp.org>
24974
24975         Tests for module 'floor'.
24976         * modules/floor-tests: New file.
24977         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
24978         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24979
24980 2010-12-21  Bruno Haible  <bruno@clisp.org>
24981
24982         math: Fix indentation.
24983         * lib/math.in.h (floorf): Fix indentation.
24984
24985 2010-12-21  Bruno Haible  <bruno@clisp.org>
24986
24987         Fix cross-compilation guesses on Solaris.
24988         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24989         not match "solaris2.10".
24990         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24991         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24992         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24993
24994 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24995
24996         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24997         This fixes a problem observed with the latest coreutils snapshot
24998         that caused a test to fail on Solaris 8.  src/csplit.c's call
24999         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
25000         earlier, instead of returning the number of bytes that would have
25001         been generated; this causes csplit to incorrectly report memory
25002         exhaustion.
25003         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
25004         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
25005         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
25006         comments to match.
25007         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
25008         Fix typo in matching older versions of Solaris: "solaris2.10"
25009         is matched by the shell pattern "solaris2.[0-9]*".  This matters
25010         only for guessing while cross-compiling.
25011         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
25012
25013 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25014
25015         ftoastr: fix comment again
25016         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25017         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
25018         Also, simplify example a bit by using flags = 0.
25019
25020 2010-12-20  Bruno Haible  <bruno@clisp.org>
25021
25022         round*, trunc*: Update documentation regarding glibc.
25023         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
25024         * doc/posix-functions/round.texi: Likewise.
25025         * doc/posix-functions/roundl.texi: Likewise.
25026         * doc/posix-functions/truncf.texi: Likewise.
25027         * doc/posix-functions/trunc.texi: Likewise.
25028         * doc/posix-functions/truncl.texi: Likewise.
25029
25030 2010-12-20  Bruno Haible  <bruno@clisp.org>
25031
25032         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
25033         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
25034         * doc/posix-functions/round.texi: Likewise.
25035         * doc/posix-functions/roundl.texi: Likewise.
25036
25037 2010-12-20  Bruno Haible  <bruno@clisp.org>
25038
25039         ttyname_r: Add missing declaration on HP-UX 11.
25040         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
25041         HAVE_TTYNAME_R.
25042         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
25043         declared. Set HAVE_TTYNAME_R always.
25044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25045         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
25046         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
25047         HAVE_TTYNAME_R.
25048         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
25049
25050 2010-12-20  Bruno Haible  <bruno@clisp.org>
25051
25052         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
25053         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
25054         * doc/posix-functions/getlogin_r.texi: Likewise.
25055         * tests/test-getlogin.c: Include <errno.h>.
25056         (main): Avoid test failure on HP-UX 11.11.
25057         * tests/test-getlogin_r.c (main): Likewise.
25058
25059 2010-12-20  Bruno Haible  <bruno@clisp.org>
25060
25061         getlogin_r: Add missing declaration on HP-UX 11.
25062         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
25063         declared also when it exists as a function.
25064         * doc/posix-functions/getlogin_r.texi: Document this workaround.
25065
25066 2010-12-20  Bruno Haible  <bruno@clisp.org>
25067
25068         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
25069         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
25070         through wcrtomb.
25071
25072 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25073
25074         ftoastr: fix comment
25075         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25076         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
25077
25078 2010-12-19  Bruno Haible  <bruno@clisp.org>
25079
25080         isnan: Ensure it is a macro.
25081         * lib/math.in.h (isnan): Define as a macro if not already a macro.
25082         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
25083         Solaris.
25084
25085 2010-12-19  Bruno Haible  <bruno@clisp.org>
25086
25087         ldexpl test: Fix link error on OSF/1 5.1.
25088         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
25089
25090 2010-12-19  Bruno Haible  <bruno@clisp.org>
25091
25092         wctype: Make it work in C++ mode on OSF/1 5.1.
25093         * lib/wctype.in.h (iswblank): Declare but not define here.
25094         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
25095         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
25096         * modules/wctype (Files): Add lib/iswblank.c.
25097
25098 2010-12-19  Bruno Haible  <bruno@clisp.org>
25099
25100         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
25101         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
25102         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
25103
25104 2010-12-19  Bruno Haible  <bruno@clisp.org>
25105
25106         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
25107         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
25108         _POSIX_PII_SOCKET.
25109         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
25110         * doc/posix-functions/recvfrom.texi: Likewise.
25111         * doc/posix-functions/send.texi: Likewise.
25112         * doc/posix-functions/sendto.texi: Likewise.
25113
25114 2010-12-19  Bruno Haible  <bruno@clisp.org>
25115
25116         tcgetsid: Add missing declaration on OSF/1 5.1.
25117         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
25118         HAVE_TCGETSID.
25119         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
25120         Don't set HAVE_TCGETSID.
25121         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
25122         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
25123         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
25124         HAVE_TCGETSID.
25125         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
25126
25127 2010-12-19  Bruno Haible  <bruno@clisp.org>
25128
25129         stdio: Fix problem with popen() declaration on OSF/1 5.1.
25130         * lib/stdio.in.h: During the include_next statement, let recursive
25131         includes of this file include only the system header file.
25132
25133 2010-12-19  Bruno Haible  <bruno@clisp.org>
25134
25135         iconv_open: Fix regression from 2010-12-04.
25136         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
25137         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
25138
25139 2010-12-19  Bruno Haible  <bruno@clisp.org>
25140
25141         stdbool test: Avoid a gcc warning.
25142         * tests/test-stdbool.c (main): Fail if e1 is false.
25143         Reported by Jim Meyering.
25144
25145 2010-12-19  Jim Meyering  <meyering@redhat.com>
25146
25147         setenv: restore to working order
25148         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
25149         mistakenly removed.
25150         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
25151         HAVE_SETENV.
25152         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
25153         HAVE_SETENV.
25154
25155 2010-12-19  Bruno Haible  <bruno@clisp.org>
25156
25157         Document some different function declarations on OSF/1 5.1.
25158         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
25159         * doc/posix-functions/inet_ntop.texi: Likewise.
25160         * doc/posix-functions/gethostname.texi: Likewise.
25161         * lib/unistd.in.h (gethostname): Update comment.
25162
25163 2010-12-19  Bruno Haible  <bruno@clisp.org>
25164
25165         doc: Mention vasprintf-posix module.
25166         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
25167         the 'vasprintf-posix' module.
25168         * doc/glibc-functions/vasprintf.texi: Likewise.
25169
25170 2010-12-19  Bruno Haible  <bruno@clisp.org>
25171
25172         unsetenv: Add missing declaration on OSF/1 5.1.
25173         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
25174         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
25175         Don't set HAVE_UNSETENV. In the test program, set _BSD.
25176         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
25177         not HAVE_UNSETENV.
25178         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
25179         HAVE_UNSETENV.
25180         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
25181
25182 2010-12-19  Bruno Haible  <bruno@clisp.org>
25183
25184         setenv: Add missing declaration on OSF/1 5.1.
25185         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
25186         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
25187         declared. Don't set HAVE_SETENV.
25188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
25189         not HAVE_SETENV.
25190         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
25191         HAVE_SETENV.
25192         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
25193
25194 2010-12-19  Bruno Haible  <bruno@clisp.org>
25195
25196         nl_langinfo tests: Avoid gcc warning.
25197         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
25198
25199 2010-12-19  Bruno Haible  <bruno@clisp.org>
25200
25201         mknod: Avoid error in C++ mode on OSF/1 with GCC.
25202         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
25203         _GL_CXXALIAS_SYS.
25204
25205 2010-12-19  Bruno Haible  <bruno@clisp.org>
25206
25207         stdbool: Relax test.
25208         * tests/test-stdbool.c (e): Don't require that casts from a variable's
25209         address to 'bool' work in static initializer, for compilers other than
25210         GCC.
25211
25212 2010-12-19  Bruno Haible  <bruno@clisp.org>
25213
25214         ftello: Add missing declaration on OSF/1 5.1.
25215         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
25216         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
25217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
25218         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
25219         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
25220
25221 2010-12-19  Bruno Haible  <bruno@clisp.org>
25222
25223         fseeko: Add missing declaration on OSF/1 5.1.
25224         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
25225         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
25226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
25227         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
25228         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
25229
25230 2010-12-19  Bruno Haible  <bruno@clisp.org>
25231
25232         fchdir: Add missing declaration on OSF/1 5.1.
25233         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
25234         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
25235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
25236         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
25237         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
25238
25239 2010-12-19  Bruno Haible  <bruno@clisp.org>
25240
25241         relocatable-prog-wrapper: Separate from relocatable-prog.
25242         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
25243         uninstall-relocwrapper rule here.
25244         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
25245         Reported by Ian Beckwith <ianb@erislabs.net>.
25246
25247 2010-12-19  Bruno Haible  <bruno@clisp.org>
25248
25249         unistr/u8-mbsnlen: Add missing dependency.
25250         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
25251         Reported by Ian Beckwith <ianb@erislabs.net>.
25252
25253 2010-12-19  Bruno Haible  <bruno@clisp.org>
25254
25255         iconv: Make it possible again to use this module without 'iconv-h'.
25256         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
25257         if it is not defined.
25258         Reported by Ian Beckwith <ianb@erislabs.net>.
25259
25260 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25261
25262         acl: port to Solaris 8 when copying from tmpfs to ufs
25263         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
25264         error number.  Problem observed on Solaris 8 with latest
25265         coreutils, with "mv A B", where A is on a tmpfs file system and B
25266         is on a ufs file system.  This caused coreutils' mv/part-symlink
25267         test to fail.
25268
25269         tests: set fail=0 at start
25270         * tests/init.sh (setup_): Move fail=0 initialization here ...
25271         (mktempd_): ... from here, so that tests can rely on fail being
25272         set to 0 initially.  This fixes a problem in coreutils; see:
25273         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
25274
25275 2010-12-18  Bruno Haible  <bruno@clisp.org>
25276
25277         memmem-simple: Stylistic changes.
25278         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
25279         Fix preprocessor directive indentation.
25280
25281 2010-12-15  Pádraig Brady <P@draigBrady.com>
25282
25283         memmem, memmem-simple: reorganize and expand empty needle check
25284         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
25285         functional checks to memmem-simple so that one has a fully functional
25286         memmem by using just this module.
25287         Restrict the performance only check to the memmem module.
25288         Also expand the empty needle check to ensure the correct
25289         pointer is returned, not just a non NULL pointer.
25290         * doc/glibc-functions/memmem.texi: Rearrange the portability
25291         documentation to correlate with the rearranged checks.
25292         Clarify exactly how the memmem and memmem-simple modules
25293         relate to each other.
25294
25295 2010-12-15  Pádraig Brady <P@draigBrady.com>
25296             Bruno Haible  <bruno@clisp.org>
25297
25298         Improve cross-compilation guesses for uClibc.
25299         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
25300         that uClibc does not have the glibc bug.
25301         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
25302         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
25303
25304 2010-12-14  Eric Blake  <eblake@redhat.com>
25305
25306         configmake: provide fallbacks for oldest supported autotools
25307         * m4/configmake.m4: New file.
25308         * modules/configmake (Files): Ship it.
25309         (configure.ac): Use it to guarantee fallbacks.
25310
25311 2010-12-13  Pádraig Brady <P@draigBrady.com>
25312
25313         read-file: Improve handling of large files
25314         * lib/read-file.c (fread_file): Minimize realloc()s
25315         for regular files, and better manage sizes around SIZE_MAX.
25316
25317 2010-12-13  Eric Blake  <eblake@redhat.com>
25318
25319         cloexec, fcntl: relax license
25320         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
25321         consent from all contributors.
25322         * modules/fcntl (License): Likewise.
25323
25324 2010-12-10  Bruno Haible  <bruno@clisp.org>
25325
25326         Tests for module 'pipe-posix'.
25327         * modules/pipe-posix-tests: New file.
25328         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
25329
25330 2010-12-10  Bruno Haible  <bruno@clisp.org>
25331
25332         pipe-posix: Make it work in C++ mode.
25333         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
25334         (pipe): Use common idiom, not a macro definition.
25335         * lib/pipe.c: New file.
25336         * m4/pipe.m4: New file.
25337         * modules/pipe-posix (Description): Enhance.
25338         (Files): Add lib/pipe.c, m4/pipe.m4.
25339         (configure.ac): Invoke gl_FUNC_PIPE.
25340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
25341         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
25342         * tests/test-unistd-c++.cc: Check the signature of pipe.
25343
25344 2010-12-10  Bruno Haible  <bruno@clisp.org>
25345
25346         Rename module 'pipe' to 'spawn-pipe'.
25347         * modules/spawn-pipe: New file, renamed from modules/pipe.
25348         (Files, configure.ac, Makefile.am): Update.
25349         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25350         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25351         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25352         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25353         "spawn-pipe.h" instead of "pipe.h".
25354         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25355         to gl_SPAWN_PIPE.
25356         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25357         (Files, Makefile.am): Update.
25358         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25359         Update.
25360         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25361         Include "spawn-pipe.h" instead of "pipe.h".
25362         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25363         * lib/javacomp.c: Likewise.
25364         * lib/javaversion.c: Likewise.
25365         * lib/pipe-filter-gi.c: Likewise.
25366         * lib/pipe-filter-ii.c: Likewise.
25367         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25368         * modules/javacomp (Depends-on): Likewise.
25369         * modules/javaversion (Depends-on): Likewise.
25370         * modules/pipe-filter-gi (Depends-on): Likewise.
25371         * modules/pipe-filter-ii (Depends-on): Likewise.
25372         * MODULES.html.sh (Executing programs): Update.
25373         * NEWS: Mention the change.
25374
25375 2010-12-10  Eric Blake  <eblake@redhat.com>
25376
25377         pipe-posix: new module
25378         * modules/pipe-posix: New file.
25379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25380         (gl_UNISTD_H): Check for declaration.
25381         * modules/unistd (Makefile.am): Substitute it.
25382         * lib/unistd.in.h (pipe): Provide it for mingw.
25383         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25384         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25385
25386 2010-12-07  Bruno Haible  <bruno@clisp.org>
25387
25388         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25389         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25390         u8_strcmp_gnu.
25391         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25392
25393 2010-12-06  Bruno Haible  <bruno@clisp.org>
25394
25395         Update internal documentation.
25396         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25397
25398 2010-12-04  Bruno Haible  <bruno@clisp.org>
25399
25400         Put more information about failed tests into the test return codes.
25401         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
25402         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
25403         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
25404         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
25405         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
25406         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25407         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25408         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25409         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
25410         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25411         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
25412         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
25413         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
25414         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25415         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
25416         returns a bit mask.
25417         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
25418         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
25419         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
25420         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
25421         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25422         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25423         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25424         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25425         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25426         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25427         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25428         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25429         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25430         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25431         * m4/link.m4 (gl_FUNC_LINK): Likewise.
25432         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25433         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
25434         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
25435         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25436         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
25437         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25438         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25439         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
25440         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25441         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25442         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25443         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
25444         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25445         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25446         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
25447         gl_PRINTF_PRECISION): Likewise.
25448         * m4/regex.m4 (gl_REGEX): Likewise.
25449         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25450         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
25451         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
25452         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25453         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25454         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25455         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
25456         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
25457         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25458         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25459         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25460         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25461         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25462         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25463         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25464         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25465         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25466         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25467         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25468         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
25469         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
25470         enumerated value.
25471         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
25472
25473 2010-12-04  Bruno Haible  <bruno@clisp.org>
25474
25475         Update for Solaris 11 2010-11.
25476         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
25477         Express, released in November 2010.
25478
25479 2010-12-04  Bruno Haible  <bruno@clisp.org>
25480
25481         nproc: Relax license.
25482         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
25483         and Paul Eggert.
25484         Requested by Ludovic Courtès <ludo@gnu.org>.
25485
25486 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
25487
25488         utimecmp: fine-grained src to nearby coarse-grained dest
25489
25490         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
25491         and the source is on a file system with higher-resolution time
25492         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
25493         not work, and the time stamps are close together, the algorithm to
25494         determine the exact resolution from the read-back mtime was buggy:
25495         it had a "!=" where it should have had an "==".  This bug has been
25496         in the code ever since it was introduced to gnulib.
25497         Problem reported by Dan Jacobson in
25498         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
25499
25500 2010-11-30  Bruno Haible  <bruno@clisp.org>
25501
25502         strerror_r-posix: Fix autoconf test.
25503         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
25504
25505 2010-11-28  Bruno Haible  <bruno@clisp.org>
25506             Paul Eggert  <eggert@cs.ucla.edu>
25507
25508         Tests for module 'getdomainname'.
25509         * modules/getdomainname-tests: New file.
25510         * tests/test-getdomainname.c: New file, based on
25511         tests/test-gethostname.c.
25512
25513 2010-11-28  Bruno Haible  <bruno@clisp.org>
25514             Paul Eggert  <eggert@cs.ucla.edu>
25515
25516         getdomainname: Use the system function when possible.
25517         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
25518         (getdomainname): Replace if needed. Provide the declaration if it is
25519         missing. Don't use _GL_CXXALIAS_SYS_CAST.
25520         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
25521         (getdomainname): When the system has getdomainname, call the system
25522         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
25523         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
25524         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
25525         found in libnsl. Look for the declaration also in <netdb.h>. Replace
25526         the function if its second argument is of type 'int' or if it is found
25527         in libnsl.
25528         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
25529         <sys/systeminfo.h> and sysinfo().
25530         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
25531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25532         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
25533         HAVE_GETDOMAINNAME.
25534         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
25535         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
25536         * doc/glibc-functions/getdomainname.texi: Document the problems with
25537         the getdomainname declaration.
25538
25539 2010-11-28  Bruno Haible  <bruno@clisp.org>
25540
25541         sys_socket: Ensure ss_family field on AIX.
25542         * lib/sys_socket.in.h (ss_family): New macro definition.
25543         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
25544         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
25545         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25546         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25547         * modules/sys_socket (Makefile.am): Substitute
25548         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25549         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
25550
25551 2010-11-27  Bruno Haible  <bruno@clisp.org>
25552
25553         readline: Improve configure output.
25554         * m4/readline.m4 (gl_FUNC_READLINE): Make the
25555         "checking for readline..." result understandable.
25556
25557 2010-11-27  Bruno Haible  <bruno@clisp.org>
25558
25559         *printf-posix: Detect a bug on Solaris 10/x86.
25560         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
25561         for floating-point output.
25562         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
25563         directive.
25564         * tests/test-snprintf-posix.h (test_function): Likewise.
25565         * tests/test-sprintf-posix.h (test_function): Likewise.
25566         * tests/test-vasprintf-posix.c (test_function): Likewise.
25567         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
25568         * doc/posix-functions/printf.texi: Likewise.
25569         * doc/posix-functions/snprintf.texi: Likewise.
25570         * doc/posix-functions/sprintf.texi: Likewise.
25571         * doc/posix-functions/vfprintf.texi: Likewise.
25572         * doc/posix-functions/vprintf.texi: Likewise.
25573         * doc/posix-functions/vsnprintf.texi: Likewise.
25574         * doc/posix-functions/vsprintf.texi: Likewise.
25575         * doc/glibc-functions/obstack_printf.texi: Likewise.
25576         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25577
25578 2010-11-27  Bruno Haible  <bruno@clisp.org>
25579
25580         Fix link error when module libunistring-optional is in use.
25581         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
25582         * modules/striconveha-tests (Makefile.am): Likewise.
25583
25584 2010-11-27  Bruno Haible  <bruno@clisp.org>
25585
25586         regex: Mention link dependencies.
25587         * modules/regex (Link): New section.
25588         * modules/rpmatch (Link): Likewise.
25589         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
25590
25591 2010-11-27  Bruno Haible  <bruno@clisp.org>
25592
25593         ftoastr: Fix compilation error on Solaris.
25594         * lib/ftoastr.c: Include <config.h>.
25595
25596 2010-11-27  Bruno Haible  <bruno@clisp.org>
25597
25598         getloadavg: Update documentation.
25599         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
25600
25601 2010-11-27  Bruno Haible  <bruno@clisp.org>
25602
25603         sys_socket: Fix test whether the functions are declared.
25604         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
25605         not <sys/select.h>.
25606
25607 2010-11-27  Bruno Haible  <bruno@clisp.org>
25608
25609         getpass: Make sure to get system declaration on some platforms.
25610         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
25611         gl_USE_SYSTEM_EXTENSIONS.
25612         * modules/getpass (Depends-on): Add extensions.
25613
25614 2010-11-26  Bruno Haible  <bruno@clisp.org>
25615
25616         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
25617         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
25618         'iconv' module is present.
25619         (ICONV_CONST): New macro.
25620         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
25621         ICONV_CONST.
25622         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
25623         set ICONV_CONST.
25624         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
25625         here.
25626         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
25627         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
25628         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
25629         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
25630         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
25631         present.
25632
25633 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25634
25635         ftoastr: comment fix
25636         * lib/ftoastr.c: "little" -> "little or no" in comment
25637
25638 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
25639
25640         stdint: port to GCC 4.3 + OSX + Octave
25641         On this platform, stdint.h is buggy and defines int64_t to long
25642         long int.  The replacement defined it to long int, causing
25643         problems with C++ style name mangling.  Instead, trust the system
25644         definition if INT64_MAX is defined, and likewise for the unsigned
25645         variant.   Problem reported by Jarno Rajahalme in
25646         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
25647         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
25648         and don't mess with int64_t and INT64_MAX in this case.
25649         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
25650
25651 2010-11-24  Bruno Haible  <bruno@clisp.org>
25652
25653         doc: Corrections regarding MacOS X 10.4 and 10.5.
25654         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
25655         MacOS X.
25656         Reported by Simon Josefsson.
25657
25658 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
25659
25660         Uninstall ".bin" files installed by relocwrapper.
25661         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
25662         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
25663         unless it is already there.
25664
25665 2010-11-21  Bruno Haible  <bruno@clisp.org>
25666
25667         Update for NetBSD 5.0.
25668         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25669         NetBSD; the test fails on NetBSD 5.0.
25670         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25671         about NetBSD.
25672
25673 2010-11-21  Bruno Haible  <bruno@clisp.org>
25674
25675         Update for HP-UX 11.23 and HP-UX 11.31.
25676         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
25677         HP-UX.
25678
25679 2010-11-21  Bruno Haible  <bruno@clisp.org>
25680
25681         Update for MacOS X 10.5.
25682         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25683         MacOS X; the test fails on MacOS X 10.5.8.
25684         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25685         about MacOS X.
25686
25687 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
25688
25689         bootstrap: add bootstrap_sync option.
25690         See discussion at
25691         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
25692         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
25693         * build-aux/bootstrap: Accept --bootstrap-sync to update
25694         bootstrap if it is not identical to the local gnulib's
25695         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
25696         enable this by default.  Accept --no-bootstrap-sync to disable
25697         it.
25698
25699 2010-11-20  Bruno Haible  <bruno@clisp.org>
25700
25701         Ensure that <features.h> is included before __GLIBC__ is tested.
25702         * lib/printf-parse.h: Include <features.h>.
25703         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
25704         Reported by Mike Frysinger <vapier@gentoo.org>.
25705
25706         Ensure that <features.h> is included before __GLIBC__ is tested.
25707         * lib/wchar.in.h: Include <features.h>.
25708         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
25709         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
25710         Reported by Mike Frysinger <vapier@gentoo.org>.
25711
25712         Ensure that <features.h> is included before __GLIBC__ is tested.
25713         * lib/arpa_inet.in.h: Include <features.h>.
25714         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
25715         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
25716         Reported by Mike Frysinger <vapier@gentoo.org>.
25717
25718         Ensure that <features.h> is included before __GLIBC__ is tested.
25719         * build-aux/link-warning.h: Include <features.h>.
25720         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
25721         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
25722         Reported by Mike Frysinger <vapier@gentoo.org>.
25723
25724         Ensure that <features.h> is included before __GLIBC__ is tested.
25725         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
25726         Reported by Mike Frysinger <vapier@gentoo.org>.
25727
25728 2010-11-20  Bruno Haible  <bruno@clisp.org>
25729
25730         memmem: Fix autoconf test.
25731         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
25732
25733 2010-11-20  Bruno Haible  <bruno@clisp.org>
25734
25735         Port to uClibc.
25736         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
25737         * lib/fcntl.in.h: Likewise.
25738         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
25739         * lib/mbrtowc.c (mbrtowc): Likewise.
25740         * lib/relocatable.c (find_shared_library_fullname): Likewise.
25741         * lib/strerror_r.c: Likewise.
25742         * lib/unistr/u8-strnlen.c: Likewise.
25743         * lib/vasnprintf.c (decimal_point_char): Likewise.
25744         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25745         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25746         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25747         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25748         * tests/test-sigaction.c (handler, main): Likewise.
25749         * lib/freading.h: Treat uClibc like a non-glibc platform.
25750         * lib/freading.c: Likewise.
25751         * lib/gettext.h: Likewise.
25752         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
25753         Likewise.
25754         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
25755         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
25756         * lib/propername.c (proper_name_utf8): Likewise.
25757         * lib/spawn.in.h: Likewise.
25758         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
25759         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
25760         mem_cd_iconveh_internal): Likewise.
25761         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
25762         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25763         strstr, strcasestr): Likewise.
25764         * lib/unicodeio.c (unicode_to_mb): Likewise.
25765         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
25766         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25767         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25768         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25769         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25770         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25771         * lib/unistr/u8-stpncpy.c: Likewise.
25772         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25773         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25774         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25775         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25776         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25777         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25778         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25779         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25780         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25781         Likewise.
25782         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25783         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25784         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25785         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25786         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25787         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25788         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25789         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25790         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25791         * tests/test-striconveha.c (main): Likewise.
25792         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25793         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25794         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25795         * doc/posix-functions/getline.texi: Likewise.
25796         Reported by Mike Frysinger <vapier@gentoo.org>.
25797
25798 2010-11-20  Bruno Haible  <bruno@clisp.org>
25799
25800         nproc: Fix condition.
25801         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25802         HAVE_PTHREAD_AFFINITY_NP.
25803
25804 2010-11-20  Bruno Haible  <bruno@clisp.org>
25805
25806         Fix a comment.
25807         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25808
25809 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25810
25811         ftoastr: don't assume snprintf
25812         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25813         Implement a subset of snprintf here, by using sprintf safely.
25814         * modules/ftoastr (Depends-on): Remove snprintf.
25815
25816 2010-11-19  Jim Meyering  <meyering@redhat.com>
25817
25818         test-rename.h: fix compilation failure
25819         * tests/test-rename.h (test_rename): Add omitted "}".
25820
25821 2010-11-17  Jim Meyering  <meyering@redhat.com>
25822
25823         maint.mk: add a URL discussing the no-@acronym policy
25824         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25825
25826 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25827
25828         ftoastr: depend on snprintf, improve comments
25829         * lib/ftoastr.c: Also mention Loitsch's draft.
25830         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25831         needed in the current implementation, but it might simplify
25832         speeding up the code later.
25833         * modules/ftoastr: Depend on snprintf; this improves portability.
25834         Suggested by Bruno Haible in the same email.
25835
25836         ftoastr: port to hosts lacking strtof and strtold
25837         Problem reported by Bruno Haible in
25838         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25839         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25840         environment and strtold (and presumably strtof) are not available.
25841         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25842         (configure.ac): Require gl_C99_STRTOLD.
25843
25844 2010-11-18  Bruno Haible  <bruno@clisp.org>
25845
25846         c-strtold: Avoid link error on AIX 7.
25847         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25848         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25849         (gl_C_STRTOLD): Test whether strtold_l exists.
25850         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25851
25852 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25853
25854         intprops: new macro INT_BITS_STRLEN_BOUND
25855         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25856         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25857         not exposed.  Also, it uses a slightly tighter bound than before;
25858         though this makes no practical difference, we might as well be as
25859         tight as we easily can.
25860
25861         ftoastr: new module, for lossless conversion of floats to short strings
25862         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25863         * modules/ftoastr: New files.
25864
25865 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25866
25867         bootstrap: port to Solaris sed
25868         * build-aux/bootstrap (get_version): Port to Solaris sed.
25869         See Ralf Wildenhues's note in
25870         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25871
25872 2010-11-14  Jim Meyering  <meyering@redhat.com>
25873
25874         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25875         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25876         and move definition closer to sole use.
25877
25878 2010-11-13  Jim Meyering  <meyering@redhat.com>
25879
25880         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25881         Now we require at least autoconf-2.59, which means the work-around
25882         is no longer needed.
25883         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25884         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25885         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25886         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25887         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25888
25889 2010-11-13  Bruno Haible  <bruno@clisp.org>
25890
25891         rename, renameat: Avoid test failures at NFS mounted locations.
25892         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25893         functions.
25894         (test_rename): Use assert_nonexistent.
25895         * tests/test-rename.c: Include <dirent.h>.
25896         * tests/test-renameat.c: Likewise.
25897         Reported by Gary V. Vaughan <gary@gnu.org>.
25898
25899         rename, renameat: Document Linux bug with NFS
25900         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25901         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25902         * doc/posix-functions/renameat.texi: Likewise.
25903         Suggested by Eric Blake.
25904
25905 2010-11-13  Bruno Haible  <bruno@clisp.org>
25906
25907         rename test: Add comments.
25908         * tests/test-rename.h (test_rename): Add structure and comments.
25909
25910 2010-11-13  Eric Blake  <eblake@redhat.com>
25911
25912         maintainer-makefile: cover a few more files
25913         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25914         scripts generated within C files, for libvirt.
25915
25916 2010-11-13  Bruno Haible  <bruno@clisp.org>
25917
25918         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25919         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25920         character, return the number of bytes that belong together, not always
25921         1.
25922         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25923         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25924         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25925         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25926         number of bytes of an invalid character.
25927         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25928         (main): Invoke it.
25929         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25930         results.
25931         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25932         malformed byte sequences.
25933         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25934         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25935         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25936         Reported by Ben Pfaff and Paolo Bonzini.
25937
25938 2010-11-13  Bruno Haible  <bruno@clisp.org>
25939
25940         openat: Work around glibc bug with fchownat() and empty file names.
25941         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
25942         (gl_FUNC_FCHOWNAT): Invoke it.
25943         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
25944         * doc/posix-functions/fchownat.texi: Document the glibc bug.
25945         Reported by Gary V. Vaughan <gary@gnu.org>.
25946
25947 2010-11-13  Bruno Haible  <bruno@clisp.org>
25948
25949         openat: Ensure autoconf macro ordering.
25950         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
25951         gl_USE_SYSTEM_EXTENSIONS.
25952         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
25953
25954 2010-11-13  Bruno Haible  <bruno@clisp.org>
25955
25956         Update comments.
25957         * lib/unistr/u8-check.c: Update file name in comments.
25958         * lib/unistr/u8-mblen.c: Likewise.
25959         * lib/unistr/u8-prev.c: Likewise.
25960         * lib/unistr/u8-strmblen.c: Likewise.
25961         * lib/unistr/u8-strmbtouc.c: Likewise.
25962
25963 2010-11-13  Jim Meyering  <meyering@redhat.com>
25964
25965         tests: avoid test failure on Solaris 10 due to lack of PATH export
25966         * tests/test-update-copyright.sh: Don't forget to export PATH.
25967
25968         init.sh: ensure that IFS is defined, just in case...
25969         * tests/init.sh (setup_): Ensure that IFS is defined,
25970         so that saving and restoring it works as expected.  This
25971         appears to be useful at least for an old version of dash
25972         from a long time ago (RH 6).  See here for details:
25973         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
25974
25975         maint.mk: tighten "test a == b" check
25976         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
25977         test to files that contain something like #!/bin/sh.
25978         Without this, coreutils would get two false positives in
25979         the comments of C source files.
25980
25981 2010-11-12  Eric Blake  <eblake@redhat.com>
25982
25983         bootstrap: fix typo in previous attempt
25984         * build-aux/bootstrap (buildreq): Correct the grouping.
25985         Reported by Paul Eggert.
25986
25987         maintainer-makefile: prohibit test x == x
25988         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25989         Based on a report by Matthias Bolte.
25990
25991         bootstrap: allow FreeBSD gzip
25992         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25993         which has no '.' and goes to stderr.
25994         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25995         Reported by Matthias Bolte.
25996
25997         maintainer-makefile: check for i18n setup
25998         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25999         will likely work.
26000
26001 2010-11-12  Bruno Haible  <bruno@clisp.org>
26002
26003         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
26004         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
26005         * lib/nanosleep.c (nanosleep): Likewise.
26006
26007 2010-11-11  Bruno Haible  <bruno@clisp.org>
26008
26009         fcntl-h: Fix for use of C++ on glibc systems.
26010         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26011         also on glibc systems in C++ mode.
26012         Reported by Gary V. Vaughan <gary@gnu.org>.
26013
26014 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26015
26016         mknod: avoid false failure with dash
26017         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
26018
26019 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26020
26021         unlink: Fix "is it should" typo in diagnostic.
26022         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
26023         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
26024
26025 2010-11-11  Bruno Haible  <bruno@clisp.org>
26026
26027         Tests for module 'strerror_r-posix'.
26028         * modules/strerror_r-posix-tests: New file.
26029         * tests/test-strerror_r.c: New file.
26030         * tests/test-string-c++.cc: Check the signature of strerror_r.
26031
26032         New module 'strerror_r-posix'.
26033         * lib/string.in.h (strerror_r): New declaration.
26034         * lib/strerror_r.c: New file.
26035         * m4/strerror_r.m4: New file.
26036         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
26037         of strerror_r.
26038         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
26039         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26040         * modules/strerror_r-posix: New file.
26041         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
26042         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26043         * doc/posix-functions/strerror_r.texi: Mention the new module and the
26044         portability problems.
26045
26046 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
26047
26048         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
26049         line is also considered for output. Quoted function name in shell
26050         command, so temporary files for functions like MyClass::operator()
26051         are removed correctly without errors.
26052
26053 2010-11-09  Bruno Haible  <bruno@clisp.org>
26054
26055         * doc/posix-functions/strerror.texi: List more failing platforms.
26056
26057         * doc/posix-functions/strerror.texi: Add a comment.
26058
26059 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
26060
26061         fdopendir: fix bug on MacOS X when low on file descriptors
26062
26063         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
26064         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
26065         All callers changed.
26066         (fdopendir): Invoke save_cwd at the top level, not after using
26067         multiple dup() calls to use up file descriptors.  Then retry
26068         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
26069         less than the maximum number of open file descriptors, because
26070         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
26071         on Mac OS X 10.6.4 for tar 1.24
26072         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
26073         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
26074         and for tar 1.25
26075         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
26076
26077 2010-11-07  Bruno Haible  <bruno@clisp.org>
26078
26079         vasnprintf: Support I flag on glibc systems.
26080         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
26081         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
26082         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
26083         snprintf function.
26084         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
26085         glibc systems.
26086         * tests/test-vasnprintf-posix3.c: New file.
26087         * modules/vasnprintf-posix-tests (Files): Add it.
26088         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
26089
26090 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26091
26092         [html] Fix copy/paste bug: Use unique name for compiler warnings.
26093         * MODULES.html.sh: For compiler warnings, use name
26094         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
26095
26096 2010-11-05  Eric Blake  <eblake@redhat.com>
26097
26098         ceil, floor: avoid spurious failure with icc
26099         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
26100         [denormals-as-zero] when optimizing without -mieee-fp option.
26101         * tests/test-floorf2.c (floorf_reference): Likewise.
26102         * tests/test-ceilf1.c (dummy): New function.
26103         (main): Use it to outsmart icc's optimization.
26104         * tests/test-floorf1.c (dummy, main): Likewise.
26105
26106         tests: require working signbit
26107         * modules/ceilf-tests (Depends-on): Add signbit.
26108         * modules/ceill-tests (Depends-on): Likewise.
26109         * modules/floorf-tests (Depends-on): Likewise.
26110         * modules/floorl-tests (Depends-on): Likewise.
26111         * modules/round-tests (Depends-on): Likewise.
26112         * modules/roundf-tests (Depends-on): Likewise.
26113         * modules/roundl-tests (Depends-on): Likewise.
26114         * modules/trunc-tests (Depends-on): Likewise.
26115         * modules/truncf-tests (Depends-on): Likewise.
26116         * modules/truncl-tests (Depends-on): Likewise.
26117
26118         strtod: work around icc bug
26119         * lib/strtod.c (minus_zero): Define to working value.
26120         (strtod): Use it to avoid icc bug.
26121
26122         copysign: enhance tests
26123         * modules/copysign-tests (Files): Add minus-zero.h.
26124         * tests/test-copysign.c (main): Also test zeros.
26125
26126 2010-11-04  Eric Blake  <eblake@redhat.com>
26127
26128         ceil, floor, round, trunc: enhance tests of -0
26129         * tests/test-ceilf1.c (main): Ensure correct sign of result.
26130         * tests/test-ceill.c (main): Likewise.
26131         * tests/test-floorf1.c (main): Likewise.
26132         * tests/test-floorl.c (main): Likewise.
26133         * tests/test-round1.c (main): Likewise.
26134         * tests/test-roundf1.c (main): Likewise.
26135         * tests/test-roundl.c (main): Likewise.
26136         * tests/test-trunc1.c (main): Likewise.
26137         * tests/test-truncf1.c (main): Likewise.
26138         * tests/test-truncl.c (main): Likewise.
26139
26140 2010-11-04  Eric Blake  <eblake@redhat.com>
26141
26142         frexp, tests: work around ICC bug with -zero
26143         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
26144         works with more compilers.
26145         * tests/minus-zero.h: New file.
26146         * modules/ceilf-tests (Files): Include it.
26147         * modules/ceill-tests (Files): Likewise.
26148         * modules/floorf-tests (Files): Likewise.
26149         * modules/floorl-tests (Files): Likewise.
26150         * modules/frexp-nolibm-tests (Files): Likewise.
26151         * modules/frexp-tests (Files): Likewise.
26152         * modules/frexpl-nolibm-tests (Files): Likewise.
26153         * modules/frexpl-tests (Files): Likewise.
26154         * modules/isnan-tests (Files): Likewise.
26155         * modules/isnand-nolibm-tests (Files): Likewise.
26156         * modules/isnand-tests (Files): Likewise.
26157         * modules/isnanf-nolibm-tests (Files): Likewise.
26158         * modules/isnanf-tests (Files): Likewise.
26159         * modules/isnanl-nolibm-tests (Files): Likewise.
26160         * modules/isnanl-tests (Files): Likewise.
26161         * modules/round-tests (Files): Likewise.
26162         * modules/roundf-tests (Files): Likewise.
26163         * modules/roundl-tests (Files): Likewise.
26164         * modules/ldexpl-tests (Files): Likewise.
26165         * modules/signbit-tests (Files): Likewise.
26166         * modules/snprintf-posix-tests (Files): Likewise.
26167         * modules/sprintf-posix-tests (Files): Likewise.
26168         * modules/strtod-tests (Files): Likewise.
26169         * modules/trunc-tests (Files): Likewise.
26170         * modules/truncf-tests (Files): Likewise.
26171         * modules/truncl-tests (Files): Likewise.
26172         * modules/vsnprintf-posix-tests (Files): Likewise.
26173         * modules/vsprintf-posix-tests (Files): Likewise.
26174         * modules/vasnprintf-posix-tests (Files): Likewise.
26175         * modules/vasprintf-posix-tests (Files): Likewise.
26176         * tests/test-ceilf1.c (main): Use it.
26177         * tests/test-ceill.c (main): Likewise.
26178         * tests/test-floorf1.c (main): Likewise.
26179         * tests/test-floorl.c (main): Likewise.
26180         * tests/test-frexp.c (main): Likewise.
26181         * tests/test-frexpl.c (main): Likewise.
26182         * tests/test-isnan.c (main): Likewise.
26183         * tests/test-isnand.h (main): Likewise.
26184         * tests/test-isnanf.h (main): Likewise.
26185         * tests/test-isnanl.h (main): Likewise.
26186         * tests/test-ldexpl.c (main): Likewise.
26187         * tests/test-round.c (main): Likewise.
26188         * tests/test-roundf.c (main): Likewise.
26189         * tests/test-roundl.c (main): Likewise.
26190         * tests/test-signbit.c (test_signbitf, test_signbitd)
26191         (test_signbitl): Likewise.
26192         * tests/test-snprintf-posix.h (test_function): Likewise.
26193         * tests/test-sprintf-posix.h (test_function): Likewise.
26194         * tests/test-strtod.c (main): Likewise.
26195         * tests/test-trunc1.c (main): Likewise.
26196         * tests/test-truncf1.c (main): Likewise.
26197         * tests/test-truncl.c (main): Likewise.
26198
26199         isnanl: work around icc bug
26200         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
26201
26202 2010-11-03  Eric Blake  <eblake@redhat.com>
26203
26204         tests: fix compiler warnings
26205         * tests/test-getopt.h (test_getopt): Fix condition.
26206         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26207         * tests/test-pipe2.c (main): Likewise.
26208         * tests/test-quotearg-simple.c (main): Avoid icc warning.
26209
26210         utimens: fix broken m4 test
26211         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
26212
26213 2010-10-28  Bruno Haible  <bruno@clisp.org>
26214
26215         posix_spawn*, getdtablesize: Relax license.
26216         * modules/posix_spawn (License): Change to LGPLv2+.
26217         * modules/posix_spawnp (License): Likewise.
26218         * modules/posix_spawn-internal (License): Likewise.
26219         * modules/posix_spawnattr_init (License): Likewise.
26220         * modules/posix_spawnattr_getflags (License): Likewise.
26221         * modules/posix_spawnattr_setflags (License): Likewise.
26222         * modules/posix_spawnattr_getpgroup (License): Likewise.
26223         * modules/posix_spawnattr_setpgroup (License): Likewise.
26224         * modules/posix_spawnattr_getschedparam (License): Likewise.
26225         * modules/posix_spawnattr_setschedparam (License): Likewise.
26226         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
26227         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
26228         * modules/posix_spawnattr_getsigdefault (License): Likewise.
26229         * modules/posix_spawnattr_setsigdefault (License): Likewise.
26230         * modules/posix_spawnattr_getsigmask (License): Likewise.
26231         * modules/posix_spawnattr_setsigmask (License): Likewise.
26232         * modules/posix_spawnattr_destroy (License): Likewise.
26233         * modules/posix_spawn_file_actions_init (License): Likewise.
26234         * modules/posix_spawn_file_actions_addclose (License): Likewise.
26235         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
26236         * modules/posix_spawn_file_actions_addopen (License): Likewise.
26237         * modules/posix_spawn_file_actions_destroy (License): Likewise.
26238         * modules/getdtablesize (License): Likewise.
26239         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
26240
26241 2010-10-26  Bruno Haible  <bruno@clisp.org>
26242
26243         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
26244         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
26245         Cygwin and mingw.
26246         Suggested by Eric Blake.
26247
26248 2010-10-26  Bruno Haible  <bruno@clisp.org>
26249
26250         stdio: Work around compilation error due to renameat() on Solaris 10.
26251         * lib/stdio.in.h: Include <unistd.h> on Solaris.
26252         * lib/renameat.c: Don't include <unistd.h> here.
26253         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
26254         Reported by Paul Eggert and Eric Blake.
26255
26256 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26257
26258         renameat: port to Solaris 10, which declares renameat in unistd.h
26259
26260         * lib/renameat.c: Include unistd.h before stdio.h, because
26261         Solaris 10 declares renameat in unistd.h.  Problem encountered
26262         when building GNU tar 1.24 on Solaris 10.
26263
26264 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26265
26266         fdopendir: fix C89 compilation
26267         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
26268         compilers.
26269
26270 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
26271
26272         inttostr: simplify by removing unnecessary redundancy
26273         * lib/anytostr.c: Don't include verify.h.
26274         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
26275         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
26276         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
26277         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
26278         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
26279         Likewise.
26280         * modules/inttostr (Depends-on): Remove 'verify'.
26281
26282 2010-10-23  Bruno Haible  <bruno@clisp.org>
26283
26284         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
26285         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
26286         Reported by Eric Blake.
26287
26288 2010-10-23  Bruno Haible  <bruno@clisp.org>
26289
26290         Tests: Fix LOCALE_JA on MirBSD 10.
26291         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
26292         to an UTF-8 locale.
26293         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
26294         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26295         Reported by Eric Blake.
26296
26297 2010-10-21  Bruno Haible  <bruno@clisp.org>
26298
26299         nl_langinfo test: Avoid test failure on NetBSD 5.
26300         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
26301         Reported by Eric Blake.
26302
26303 2010-10-21  Eric Blake  <eblake@redhat.com>
26304
26305         c-stack: work around libsigsegv 2.8 bug
26306         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
26307         overflow on at least PowerPC64.
26308
26309 2010-10-17  Bruno Haible  <bruno@clisp.org>
26310
26311         userspec: Drop redundant file.
26312         * modules/userspec (Files): Remove lib/inttostr.h.
26313
26314 2010-10-17  Bruno Haible  <bruno@clisp.org>
26315
26316         nl_langinfo tests: Silence some warnings.
26317         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
26318         Reported by Jim Meyering.
26319
26320 2010-10-17  Bruno Haible  <bruno@clisp.org>
26321
26322         Make use of GCC's attribute __alloc_size__.
26323         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
26324         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
26325         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
26326         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
26327         __alloc_size__.
26328         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26329         Suggested by Jim Meyering.
26330
26331 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
26332
26333         bootstrap: anchor .gitignore entries.
26334         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
26335         with...
26336         (insert_vc_ignore): ... this new function, which prepends `/' to
26337         all .gitignore entries before passing them to
26338         insert_sorted_if_absent.
26339
26340 2010-10-16  Bruno Haible  <bruno@clisp.org>
26341
26342         nextafter: Fix configure check.
26343         * modules/nextafter (configure.ac): Correct expected prototype.
26344
26345 2010-10-16  Bruno Haible  <bruno@clisp.org>
26346
26347         termios: Update documentation.
26348         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26349
26350 2010-10-16  Bruno Haible  <bruno@clisp.org>
26351
26352         tests: Make them compile with TinyCC.
26353         * tests/test-strstr.c (main): Remove parentheses around array
26354         initializer.
26355
26356 2010-10-15  Eric Blake  <eblake@redhat.com>
26357
26358         ignore-value: make header idempotent
26359         * lib/ignore-value.h: Add double-inclusion guards.
26360         Reported by Stefan Berger.
26361
26362 2010-10-15  Jim Meyering  <meyering@redhat.com>
26363
26364         GNUmakefile: handle "stable" target, not "major"
26365         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26366         lists in maint.mk and announce-gen.  Without this, "make stable"
26367         would fail to ensure that $(VERSION) is up to date.
26368
26369 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26370
26371         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26372         & co.
26373
26374 2010-10-14  Bruno Haible  <bruno@clisp.org>
26375
26376         vasnprintf: Don't set errno to 0.
26377         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26378         block that sets it to 0.
26379         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26380
26381 2010-10-14  Bruno Haible  <bruno@clisp.org>
26382
26383         socketlib: Fix.
26384         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26385         gl_PREREQ_SYS_H_WINSOCK2.
26386         Reported by Ian Beckwith <ianb@erislabs.net>.
26387
26388 2010-10-13  Jim Meyering  <meyering@redhat.com>
26389
26390         test-select-stdin.c: avoid warn_unused_result warnings
26391         * tests/test-select-stdin.c: Include "macros.h".
26392         ASSERT that read and fflush succeed.
26393
26394 2010-10-13  Jim Meyering  <meyering@redhat.com>
26395
26396         git-version-gen: do require git-VC'd files in cwd
26397         * build-aux/git-version-gen: Reject a git version string
26398         if there are no commits associated with the current directory.
26399         This avoids an unlikely false-positive (unrelated dir whose parent
26400         repository also contains a tag matching v*), as pointed out
26401         by Giuseppe Scrivano in
26402         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
26403
26404 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26405
26406         argv-iter: omit nonconforming declaration
26407         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
26408         enum arg_iter_err declaration, which doesn't conform to C99.
26409         Solaris 10 cc warns about this.
26410
26411 2010-10-13  Eric Blake  <eblake@redhat.com>
26412
26413         termios: fix compilation on mingw
26414         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
26415         (gl_TERMIOS_H): Adjust it on mingw.
26416         * modules/termios (Makefile.am): Substitute new key.
26417         * lib/termios.in.h (includes): Make include_next conditional.
26418         * doc/posix-headers/termios.texi (termios.h): Update
26419         documentation.
26420         Reported by Daniel P. Berrange.
26421
26422 2010-10-13  Jim Meyering  <meyering@redhat.com>
26423
26424         git-version-gen: don't require that .git/ be in the current dir
26425         * build-aux/git-version-gen: Adjust this script so that it works
26426         when run from any working directory beneath the top-level .git/-
26427         containing directory.  Inspired by a patch from Giuseppe Scrivano,
26428         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
26429
26430         test-select: avoid warn_unused_result warnings
26431         * tests/test-select.c: Include "macros.h".
26432         ASSERT that each call to read, write, and pipe succeeds.
26433         While not technically required, also check each "close".
26434         * modules/select-tests (Files): Add tests/macros.h.
26435
26436         test-symlinkat: remove declaration of unused local
26437         * tests/test-symlinkat.c (main): Remove unused local, "buf".
26438
26439         test-inttostr: avoid shadowing warnings
26440         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
26441         and use malloc rather than the stack for the same reason as
26442         mentioned in the comment justifying the other allocation.
26443
26444 2010-10-11  Bruno Haible  <bruno@clisp.org>
26445
26446         stdlib: Allow multiple gnulib generated replacements to coexist.
26447         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
26448         Reported by Sam Steingold <sds@gnu.org>.
26449
26450 2010-10-11  Jim Meyering  <meyering@redhat.com>
26451
26452         fix a documentation typo
26453         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
26454
26455 2010-10-11  Eric Blake  <eblake@redhat.com>
26456
26457         futimens: work around Solaris 11 bug
26458         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
26459         * tests/test-futimens.h (test_futimens): Enhance, rather than
26460         weaken test.
26461         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26462
26463 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26464
26465         Indentation.
26466         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
26467         higher-level operators more to the left.
26468
26469 2010-10-11  Jim Meyering  <meyering@redhat.com>
26470
26471         test-futimens: avoid unwarranted test failure on Solaris 5.11
26472         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
26473         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
26474         because it tries to dereference the NULL name argument.
26475
26476 2010-10-11  Bruno Haible  <bruno@clisp.org>
26477
26478         Indentation.
26479         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
26480         indentation.
26481
26482 2010-10-11  Jim Meyering  <meyering@redhat.com>
26483
26484         spawn.in.h: make indentation consistent with parentheses
26485         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
26486         Make indentation consistent with parentheses.
26487
26488 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
26489
26490         Fix mismatched parens in previous commit
26491         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
26492         parens.
26493
26494 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26495
26496         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
26497
26498         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
26499         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
26500         * lib/malloca.c: Include "verify.h".
26501         (verify1): Remove, replacing with a verify call.
26502         * lib/relocwrapper.c (verify1): Likewise.
26503         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
26504         Likewise.
26505         * modules/malloca (Depends-on): Add 'verify'.
26506         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
26507         * modules/vasnprintf (Depends-on): Add 'verify'.
26508         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26509         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26510         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26511         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26512         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26513         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26514         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26515
26516         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
26517
26518         Formerly the style was sometimes 2*X - 1, because the C standard
26519         was wrongly thought to disallow ?: in integral constant expressions.
26520         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
26521         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
26522         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
26523         * lib/stdint.in.h (_verify_intmax_size): Likewise.
26524         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
26525         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
26526         verify that time_t cannot be floating.
26527
26528 2010-10-08  Eric Blake  <eblake@redhat.com>
26529
26530         time: enforce recent POSIX ruling that time_t is integral
26531         * lib/time.in.h (__time_t_must_be_integral): Detect any
26532         problematic systems, allowing the rest of gnulib to assume POSIX.
26533
26534 2010-10-08  Jim Meyering  <meyering@redhat.com>
26535
26536         fdopendir: fix a bug on systems lacking openat and /proc support
26537         OpenBSD 4.7 is one such system.  The most noticeable effect was
26538         failure of any application making nontrivial use of fts: rm, du,
26539         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
26540           ./rm: traversal failed: `a': Bad file descriptor
26541         Debugging that, you see that even though FD 6 was closed just
26542         prior to the opendir call in fd_clone_opendir, its resulting
26543         dir->dd_fd was 8, rather than the expected value of 6:
26544
26545         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
26546         93                close (fd);
26547         (gdb) n
26548         94                dir = fd_clone_opendir (dupfd);
26549         (gdb) n
26550         95                saved_errno = errno;
26551         (gdb) p dir->dd_fd
26552         $11 = 8
26553
26554         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
26555         The problem is that on OpenBSD, fd_clone_opendir has to resort
26556         to using the old-style save/restore CWD mechanism, due to its
26557         lack of openat/proc support, and *that* would steal the FD (6)
26558         that opendir was supposed to use.
26559
26560         The fix is to squirrel away the desired FD so that save_cwd uses a
26561         different one, and then free the dest FD right before calling opendir.
26562         That guarantees opendir will use the required file descriptor.
26563
26564         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
26565
26566 2010-10-08  Bruno Haible  <bruno@clisp.org>
26567
26568         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
26569         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
26570
26571 2010-10-08  Bruno Haible  <bruno@clisp.org>
26572
26573         nanosleep: Make replacement POSIX compliant.
26574         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
26575         is out of range.
26576         Reported by Jim Meyering.
26577
26578 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26579
26580         bootstrap: add hook for altering gnulib.mk, for Bison
26581         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
26582         the Bison bootstrapping process can rewrite file names and variables
26583         in this file before later parts of 'bootstrap' use the file.
26584         Bison wants to include lib/gnulib.mk from the top-level makefile,
26585         so it needs the file names in this file to be relative to the top
26586         level, not relative to lib; plus it needs variable names to be
26587         rewritten.
26588         (slurp): Use the new function.
26589
26590         bootstrap: reformat for readability
26591         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
26592
26593 2010-10-08  Eric Blake  <eblake@redhat.com>
26594
26595         docs: update cygwin progress
26596         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
26597         1.7.7.
26598         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
26599         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
26600         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
26601         * doc/posix-functions/carg.texi (carg): Likewise.
26602         * doc/posix-functions/cargf.texi (cargf): Likewise.
26603         * doc/posix-functions/casin.texi (casin): Likewise.
26604         * doc/posix-functions/casinf.texi (casinf): Likewise.
26605         * doc/posix-functions/casinh.texi (casinh): Likewise.
26606         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
26607         * doc/posix-functions/catan.texi (catan): Likewise.
26608         * doc/posix-functions/catanf.texi (catanf): Likewise.
26609         * doc/posix-functions/catanh.texi (catanh): Likewise.
26610         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
26611         * doc/posix-functions/ccos.texi (ccos): Likewise.
26612         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
26613         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
26614         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
26615         * doc/posix-functions/cexp.texi (cexp): Likewise.
26616         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
26617         * doc/posix-functions/cimag.texi (cimag): Likewise.
26618         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
26619         * doc/posix-functions/clog.texi (clog): Likewise.
26620         * doc/posix-functions/clogf.texi (clogf): Likewise.
26621         * doc/posix-functions/conj.texi (conj): Likewise.
26622         * doc/posix-functions/conjf.texi (conjf): Likewise.
26623         * doc/posix-functions/cpow.texi (cpow): Likewise.
26624         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
26625         * doc/posix-functions/cproj.texi (cproj): Likewise.
26626         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
26627         * doc/posix-functions/creal.texi (creal): Likewise.
26628         * doc/posix-functions/crealf.texi (crealf): Likewise.
26629         * doc/posix-functions/csin.texi (csin): Likewise.
26630         * doc/posix-functions/csinf.texi (csinf): Likewise.
26631         * doc/posix-functions/csinh.texi (csinh): Likewise.
26632         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
26633         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
26634         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
26635         * doc/posix-functions/ctan.texi (ctan): Likewise.
26636         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
26637         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
26638         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
26639         * doc/posix-headers/complex.texi (complex.h): Likewise.
26640
26641 2010-10-07  Jim Meyering  <meyering@redhat.com>
26642
26643         parse-datetime: avoid compilation failure on OpenBSD 4.7
26644         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
26645         This works around a compilation failure on OpenBSD 4.7:
26646         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
26647
26648 2010-10-07  Eric Blake  <eblake@redhat.com>
26649
26650         docs: update cygwin progress
26651         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
26652         1.7.6.
26653         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26654         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
26655         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
26656         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
26657         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
26658         Likewise.
26659         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
26660         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
26661         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
26662         Likewise.
26663         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
26664         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
26665         Likewise.
26666         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
26667         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
26668         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
26669         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
26670         Likewise.
26671         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
26672         Likewise.
26673         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
26674
26675         docs: update parse-datetime history
26676         * doc/parse-datetime.texi (Authors of parse_datetime): Better
26677         documentation of this function's history and alternatives.
26678
26679         cygwin: use more robust version check
26680         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
26681         exclude an eventual cygwin 1.9.1.
26682         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26683         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26684         (gl_FUNC_STRCASESTR): Likewise.
26685         Reported by Bruno Haible.
26686
26687 2010-10-06  Bruno Haible  <bruno@clisp.org>
26688
26689         string, sys_select: Avoid #including large headers unless necessary.
26690         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
26691         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
26692         OSF/1, BeOS, Haiku.
26693         Reported by Jim Meyering.
26694
26695 2010-10-05  Eric Blake  <eblake@redhat.com>
26696
26697         memmem, strstr, strcasestr: fix bug with long periodic needle
26698         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
26699         periodic needle having false positive.
26700         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
26701         and cygwin 1.7.7.
26702         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
26703         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26704         (gl_FUNC_STRCASESTR): Likewise.
26705         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26706         * tests/test-memmem.c (main): Expose the bug.
26707         * tests/test-strcasestr.c (main): Likewise.
26708         * tests/test-strstr.c (main): Likewise.
26709         * tests/test-c-strcasestr.c (main): Likewise.
26710         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
26711         * doc/posix-functions/strstr.texi (strstr): Likewise.
26712         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26713         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
26714
26715 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26716
26717         parse-datetime: do some more renaming
26718         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
26719         parse_datetime, not get_date.  Mention the renaming.
26720         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
26721         in comments.
26722         * m4/bison.m4: Likewise.
26723
26724 2010-10-05  Eric Blake  <eblake@redhat.com>
26725
26726         parse-datetime: better name than get_date
26727         * NEWS: Reword the deprecation notice.
26728         * modules/get_date: Rename to modules/parse-datetime.
26729         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
26730         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
26731         * lib/get_date.y: Rename to lib/parse-datetime.y.
26732         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
26733         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
26734         * doc/getdate.texi: Provide fallback wrapper.
26735         * lib/getdate.h: Move guts, and wrap...
26736         * lib/parse-datetime.h: ...new file.
26737         * lib/parse-datetime.y (get_date): Rename...
26738         (parse_datetime): ...to this.
26739         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
26740         (gl_PARSE_DATETIME): ...to this.
26741         * doc/posix-functions/getdate.texi (get_date): Provide fallback
26742         documentation.
26743         * modules/getdate (Files): Provide fallback docs and header.
26744         (Notice, Depends-on): Update references.
26745         * tests/test-parse-datetime.c: Likewise.
26746         * DEPENDENCIES: Likewise.
26747         * MODULES.html.sh (Date and time <time.h>): Likewise.
26748         * doc/parse-datetime.texi (Date input formats)
26749         (Authors of parse_datetime): Likewise.
26750         * modules/parse-datetime (Files, configure.ac, Makefile.am)
26751         (Include): Likewise.
26752         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
26753         * gnulib-tool: Likewise.
26754         * m4/bison.m4 (gl_BISON): Likewise.
26755         Suggested by Bruno Haible.
26756
26757 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26758
26759         more ports to Solaris tr, which needs [] around ranges
26760         * gnulib-tool: Solaris tr needs [] around ranges.
26761         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26762         * tests/test-pipe-filter-gi1.c (main): Likewise.
26763         * tests/test-pipe-filter-ii1.c (main): Likewise.
26764
26765 2010-10-05  Eric Blake  <eblake@redhat.com>
26766
26767         bootstrap: fix Solaris regression
26768         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26769         around ranges.
26770         Reported by Pádraig Brady.
26771
26772         bootstrap: work with pkg-config
26773         * build-aux/bootstrap (check_versions): Also transliterate - in
26774         prerequisite name.
26775         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26776         prerequisites that were already found, to avoid confusion.
26777         Reported by Justin Clift.
26778
26779         faccessat: remove unused wrappers
26780         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26781         presence of these wrappers dragged in -lgen on Solaris.
26782         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26783
26784 2010-10-05  Jim Meyering  <meyering@redhat.com>
26785
26786         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26787         * Makefile (sc_pragma_columns): New syntax-check rule.
26788
26789 2010-10-04  Bruno Haible  <bruno@clisp.org>
26790
26791         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26792         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26793         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26794         Reported by Bruce Korb and Eric Blake.
26795
26796 2010-10-04  Bruno Haible  <bruno@clisp.org>
26797
26798         threadlib: Make option --with-libpth-prefix work.
26799         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26800         use $LIBPTH, not just -lpth.
26801
26802 2010-10-04  Bruno Haible  <bruno@clisp.org>
26803
26804         Avoid line length limitation from HP NonStop system header files.
26805         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26806         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26807         * lib/ctype.in.h: Likewise.
26808         * lib/dirent.in.h: Likewise.
26809         * lib/errno.in.h: Likewise.
26810         * lib/fcntl.in.h: Likewise.
26811         * lib/float.in.h: Likewise.
26812         * lib/getopt.in.h: Likewise.
26813         * lib/iconv.in.h: Likewise.
26814         * lib/inttypes.in.h: Likewise.
26815         * lib/langinfo.in.h: Likewise.
26816         * lib/locale.in.h: Likewise.
26817         * lib/math.in.h: Likewise.
26818         * lib/netdb.in.h: Likewise.
26819         * lib/netinet_in.in.h: Likewise.
26820         * lib/poll.in.h: Likewise.
26821         * lib/pthread.in.h: Likewise.
26822         * lib/pty.in.h: Likewise.
26823         * lib/sched.in.h: Likewise.
26824         * lib/se-selinux.in.h: Likewise.
26825         * lib/search.in.h: Likewise.
26826         * lib/signal.in.h: Likewise.
26827         * lib/spawn.in.h: Likewise.
26828         * lib/stdarg.in.h: Likewise.
26829         * lib/stddef.in.h: Likewise.
26830         * lib/stdint.in.h: Likewise.
26831         * lib/stdio.in.h: Likewise.
26832         * lib/stdlib.in.h: Likewise.
26833         * lib/string.in.h: Likewise.
26834         * lib/strings.in.h: Likewise.
26835         * lib/sys_file.in.h: Likewise.
26836         * lib/sys_ioctl.in.h: Likewise.
26837         * lib/sys_select.in.h: Likewise.
26838         * lib/sys_socket.in.h: Likewise.
26839         * lib/sys_stat.in.h: Likewise.
26840         * lib/sys_time.in.h: Likewise.
26841         * lib/sys_times.in.h: Likewise.
26842         * lib/sys_utsname.in.h: Likewise.
26843         * lib/sys_wait.in.h: Likewise.
26844         * lib/sysexits.in.h: Likewise.
26845         * lib/termios.in.h: Likewise.
26846         * lib/time.in.h: Likewise.
26847         * lib/unistd.in.h: Likewise.
26848         * lib/wchar.in.h: Likewise.
26849         * lib/wctype.in.h: Likewise.
26850         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26851         * modules/ctype (Makefile.am): Likewise.
26852         * modules/dirent (Makefile.am): Likewise.
26853         * modules/errno (Makefile.am): Likewise.
26854         * modules/fcntl-h (Makefile.am): Likewise.
26855         * modules/float (Makefile.am): Likewise.
26856         * modules/getopt-posix (Makefile.am): Likewise.
26857         * modules/iconv-h (Makefile.am): Likewise.
26858         * modules/inttypes (Makefile.am): Likewise.
26859         * modules/langinfo (Makefile.am): Likewise.
26860         * modules/locale (Makefile.am): Likewise.
26861         * modules/math (Makefile.am): Likewise.
26862         * modules/netdb (Makefile.am): Likewise.
26863         * modules/netinet_in (Makefile.am): Likewise.
26864         * modules/poll-h (Makefile.am): Likewise.
26865         * modules/pthread (Makefile.am): Likewise.
26866         * modules/pty (Makefile.am): Likewise.
26867         * modules/sched (Makefile.am): Likewise.
26868         * modules/search (Makefile.am): Likewise.
26869         * modules/selinux-h (Makefile.am): Likewise.
26870         * modules/signal (Makefile.am): Likewise.
26871         * modules/spawn (Makefile.am): Likewise.
26872         * modules/stdarg (Makefile.am): Likewise.
26873         * modules/stddef (Makefile.am): Likewise.
26874         * modules/stdint (Makefile.am): Likewise.
26875         * modules/stdio (Makefile.am): Likewise.
26876         * modules/stdlib (Makefile.am): Likewise.
26877         * modules/string (Makefile.am): Likewise.
26878         * modules/strings (Makefile.am): Likewise.
26879         * modules/sys_file (Makefile.am): Likewise.
26880         * modules/sys_ioctl (Makefile.am): Likewise.
26881         * modules/sys_select (Makefile.am): Likewise.
26882         * modules/sys_socket (Makefile.am): Likewise.
26883         * modules/sys_stat (Makefile.am): Likewise.
26884         * modules/sys_time (Makefile.am): Likewise.
26885         * modules/sys_times (Makefile.am): Likewise.
26886         * modules/sys_utsname (Makefile.am): Likewise.
26887         * modules/sys_wait (Makefile.am): Likewise.
26888         * modules/sysexits (Makefile.am): Likewise.
26889         * modules/termios (Makefile.am): Likewise.
26890         * modules/time (Makefile.am): Likewise.
26891         * modules/unistd (Makefile.am): Likewise.
26892         * modules/wchar (Makefile.am): Likewise.
26893         * modules/wctype (Makefile.am): Likewise.
26894
26895 2010-10-04  Bruno Haible  <bruno@clisp.org>
26896
26897         read-file tests: Avoid a test failure on NonStop Kernel.
26898         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26899         a regular file.
26900         Reported by Joachim Schmitz <schmitz@hp.com>.
26901
26902 2010-10-03  Bruno Haible  <bruno@clisp.org>
26903
26904         gnulib-tool: Fixes for --create-testdir with --libtool.
26905         * gnulib-tool (func_get_automake_snippet): Don't augment
26906         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26907         an executable.
26908         (func_create_testdir): Handle module 'alloca' like func_import.
26909         Reported by Bruce Korb <bruce.korb@gmail.com>.
26910
26911 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26912
26913         Avoid some lines longer than 80 characters.
26914         * lib/stdint.in.h: Break long comment lines.
26915         * lib/math.in.h: Likewise.
26916         (_GL_NUM_UINT_WORDS): New macro, for readability.
26917         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26918         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26919         * lib/stdlib.in.h: Likewise.
26920         * lib/spawn.in.h: Likewise.
26921         * lib/sys_socket.in.h: Update an URL.
26922         * lib/sys_stat.in.h: Break long line.
26923
26924 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26925
26926         Improve pmccabe2html.
26927         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26928         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26929         when the sources change. Remove the line in the HTML about "Used
26930         ranges" (which implied that there might be other unused ranges),
26931         rename "Resume" to "Summary" (easier to understand for more users).
26932         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26933         styles, and some unnecessary blank lines.
26934
26935 2010-10-03  Bruno Haible  <bruno@clisp.org>
26936             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26937
26938         acl: Add support for ACLs on NonStop Kernel.
26939         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
26940         Check whether the function aclsort() exists.
26941         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
26942         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
26943         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26944         (acl_nontrivial [HAVE_ACLSORT]: New function.
26945         (file_has_acl): Implement for NonStop Kernel.
26946         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26947         (qset_acl): Implement for NonStop Kernel.
26948         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
26949         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26950         (main): Implement for NonStop Kernel.
26951         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
26952         Kernel. Handle this flavor.
26953         * tests/test-set-mode-acl.sh: Likewise.
26954         * tests/test-copy-acl.sh: Likewise.
26955         * tests/test-copy-file.sh: Likewise.
26956
26957 2010-10-03  Bruno Haible  <bruno@clisp.org>
26958
26959         Info about ACLs on NonStop Kernel.
26960         * doc/acl-resources.txt: Add info about NonStop Kernel.
26961         References by Joachim Schmitz <schmitz@hp.com>.
26962
26963 2010-10-02  Bruno Haible  <bruno@clisp.org>
26964
26965         Define missing EDQUOT on NonStop Kernel.
26966         * lib/errno.in.h (EDQUOT): Assign a value if missing.
26967         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
26968         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
26969         missing.
26970         * doc/posix-headers/errno.texi: Mention the NSK bug.
26971         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
26972         Reported by Joachim Schmitz <schmitz@hp.com>.
26973
26974 2010-10-02  Bruno Haible  <bruno@clisp.org>
26975
26976         Update doc for POSIX:2008.
26977         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
26978         Update URL of POSIX specification.
26979
26980 2010-10-02  Bruno Haible  <bruno@clisp.org>
26981
26982         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26983         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26984         from gnulib, not from Automake.
26985
26986 2010-10-02  Bruno Haible  <bruno@clisp.org>
26987
26988         New module 'system-posix'.
26989         * modules/system-posix: New file.
26990         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26991         module is present.
26992         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26993         GNULIB_SYSTEM_POSIX.
26994         * modules/stdlib (Depends-on): Remove sys_wait.
26995         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26996         * doc/posix-functions/system.texi: Mention the new module.
26997         * doc/posix-headers/stdlib.texi: Likewise.
26998         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26999         define test_sys_wait_macros to a no-op.
27000         Reported by Sam Steingold <sds@gnu.org>.
27001
27002 2010-09-30  Bruno Haible  <bruno@clisp.org>
27003
27004         More renaming from 'getdate' to 'get_date'.
27005         * doc/get_date.texi: Renamed from doc/getdate.texi.
27006         * modules/get_date (Files): Update.
27007         * MODULES.html.sh (Date and time <time.h>): Update.
27008         * DEPENDENCIES: Update.
27009         * gnulib-tool: Update comment.
27010         * m4/bison.m4 (gl_BISON): Likewise.
27011         * m4/get_date.m4 (gl_GET_DATE): Likewise.
27012
27013 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
27014
27015         bootstrap: support ACLOCAL_FLAGS during aclocal
27016         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
27017         can add additional -I dir for third-party .m4 files.
27018
27019 2010-09-30  Eric Blake  <eblake@redhat.com>
27020
27021         bootstrap: use glibtoolize on MacOS
27022         * build-aux/bootstrap (check_versions): Convert libtool into
27023         libtoolize.
27024         (tool search): Move libtool check earlier, and look for
27025         glibtoolize for MacOS.
27026         (gnulib_tool_options): Auto-add --libtool when appropriate.
27027         Reported by Justin Clift.
27028
27029         poll: fix typo that broke test on MacOS
27030         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
27031         Reported by Justin Clift.
27032
27033         getdate: rename to get_date
27034         Note: getdate.h is not renamed, to minimize client impact.
27035         * modules/getdate: Mark obsolete.  Move old contents...
27036         * modules/get_date: ...to new module name.
27037         * modules/getdate-tests: Move...
27038         * modules/get_date-tests: ...here.
27039         * m4/getdate.m4: Move...
27040         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
27041         * lib/getdate.y: Move...
27042         * lib/get_date.y: ...here.
27043         * tests/test-getdate.c: Move...
27044         * tests/test-get_date.c: ...here.
27045         * doc/posix-functions/getdate.texi (getdate): Update name.
27046         * NEWS: Mention the change.
27047
27048 2010-09-29  Bruno Haible  <bruno@clisp.org>
27049
27050         Separate the module 'waitpid' from the module 'sys_wait'.
27051         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
27052         present.
27053         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
27054         gl_MODULE_INDICATOR_FOR_TESTS.
27055         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
27056         * modules/sys_wait (Depends-on): Remove waitpid.
27057         (Makefile.am): Substitute GNULIB_WAITPID.
27058         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
27059         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
27060         signature only if the 'waitpid' module is present.
27061         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
27062         * NEWS: Mention the change.
27063         * modules/grantpt (Depends-on): Add waitpid.
27064         * modules/wait-process (Depends-on): Likewise.
27065
27066 2010-09-29  Bruno Haible  <bruno@clisp.org>
27067
27068         More tests for module 'sys_wait'.
27069         * modules/sys_wait-c++-tests: New file.
27070         * tests/test-sys_wait-c++.cc: New file.
27071         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
27072         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27073
27074 2010-09-29  Bruno Haible  <bruno@clisp.org>
27075
27076         New module 'waitpid'.
27077         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
27078         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
27079         Don't include <process.h>.
27080         (waitpid): Declare only, using modern idiom.
27081         * m4/waitpid.m4: New file.
27082         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
27083         * modules/waitpid: New file.
27084         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
27085         (Makefile.am): Update.
27086         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27087
27088 2010-09-28  Bruno Haible  <bruno@clisp.org>
27089
27090         poll: Assume ANSI C.
27091         * lib/poll.c (poll): Use an ANSI C declaration.
27092
27093 2010-09-28  Bruno Haible  <bruno@clisp.org>
27094
27095         poll-h: Create poll.h on all platforms.
27096         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
27097         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
27098         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
27099         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
27100         (gl_REPLACE_POLL_H): Don't set POLL_H.
27101         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
27102         * modules/poll-h (Depends-on): Add include_next.
27103         (Makefile.am): Create poll.h unconditionally. Substitute also
27104         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
27105
27106 2010-09-28  Bruno Haible  <bruno@clisp.org>
27107
27108         Tests for module 'poll-h'.
27109         * modules/poll-h-c++-tests: New file.
27110         * tests/test-poll-h-c++.cc: New file.
27111
27112         Tests for module 'poll-h'.
27113         * modules/poll-h-tests: New file.
27114         * tests/test-poll-h.c: New file.
27115
27116 2010-09-28  Bruno Haible  <bruno@clisp.org>
27117
27118         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
27119         * modules/poll-h (Depends-on): Add 'extensions'.
27120
27121 2010-09-28  Bruno Haible  <bruno@clisp.org>
27122
27123         New module 'poll-h'.
27124         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
27125         (poll): Use modern idiom.
27126         * modules/poll-h: New file.
27127         * modules/poll (Files): Remove lib/poll.in.h.
27128         (Depends-on): Add poll-h.
27129         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
27130         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
27131         * m4/poll_h.m4: New file.
27132         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
27133         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
27134         and invoke gl_REPLACE_POLL_H.
27135         * lib/poll.c: Use common idiom.
27136         * tests/test-poll.c: Likewise.
27137         * doc/posix-headers/poll.texi: Mention the poll-h module.
27138         Suggested by Eric Blake.
27139
27140 2010-09-26  Bruno Haible  <bruno@clisp.org>
27141
27142         sys_wait: Implement WSTOPSIG.
27143         * lib/sys_wait.in.h (WSTOPSIG): New macro.
27144         Reported by Simon Josefsson.
27145
27146 2010-09-26  Simon Josefsson  <simon@josefsson.org>
27147
27148         stdlib, sys_wait: Avoid compilation error on mingw.
27149         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
27150
27151 2010-09-26  Bruno Haible  <bruno@clisp.org>
27152
27153         stdlib tests: Avoid code duplication.
27154         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
27155         * modules/sys_wait-tests (Files): Likewise.
27156         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
27157         * tests/test-stdlib.c: Include test-sys_wait.h.
27158         (main): Invoke test_sys_wait_macros.
27159         * tests/test-sys_wait.c: Include test-sys_wait.h.
27160         (main): Invoke test_sys_wait_macros.
27161
27162 2010-09-25  Simon Josefsson  <simon@josefsson.org>
27163
27164         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
27165         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
27166         sure Windows sockets are working before calling getaddrinfo.
27167         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
27168         * doc/gnulib.texi (Windows sockets): Fix typo.
27169
27170 2010-09-25  Bruno Haible  <bruno@clisp.org>
27171
27172         Tests for module 'regex-quote'.
27173         * modules/regex-quote-tests: New file.
27174         * tests/test-regex-quote.c: New file.
27175
27176         New module 'regex-quote'.
27177         * lib/regex-quote.h: New file.
27178         * lib/regex-quote.c: New file.
27179         * modules/regex-quote: New file.
27180         Suggested by Reuben Thomas <rrt@sc3d.org>.
27181
27182 2010-09-24  Bruno Haible  <bruno@clisp.org>
27183
27184         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
27185         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
27186
27187 2010-09-23  Bruno Haible  <bruno@clisp.org>
27188
27189         setenv: Relax license.
27190         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
27191         Blake.
27192         Requested by Eric Blake.
27193
27194 2010-09-22  Bruno Haible  <bruno@clisp.org>
27195
27196         termios: Relax license.
27197         * modules/termios (License): Change to LGPLv2+.
27198         Requested by Eric Blake.
27199
27200 2010-09-22  Bruno Haible  <bruno@clisp.org>
27201
27202         threadlib: Allow the package to change the default to 'no'.
27203         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
27204         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
27205         Reported by Paul Eggert.
27206
27207 2010-09-22  Pádraig Brady  <P@draigbrady.com>
27208             Bruno Haible  <bruno@clisp.org>
27209
27210         Fix endless loop in mbmemcasecoll.
27211         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
27212         byte.
27213         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
27214
27215 2010-09-22  Bruno Haible  <bruno@clisp.org>
27216
27217         Tests for module 'memcoll'.
27218         * modules/memcoll-tests: New file.
27219         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
27220
27221         memcoll, xmemcoll: Clarify size vs. length.
27222         * modules/memcoll.c (memcoll0): Clarify specification.
27223         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
27224         passed to collate_error.
27225
27226 2010-09-22  Bruno Haible  <bruno@clisp.org>
27227
27228         Tests for module 'memcasecmp'.
27229         * modules/memcasecmp-tests: New file.
27230         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
27231
27232 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27233
27234         * lib/pthread.in.h: Add split double-inclusion guard, and include
27235         system <pthread.h> if there is one.  Use @@-style as in other
27236         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
27237         pthread.h doesn't.
27238         (pthread_mutexattr_destroy, pthread_mutexattr_init):
27239         (pthread_mutexattr_settype, pthread_mutex_trylock):
27240         New static inline functions, if there's no system <pthread.h>.
27241         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
27242         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
27243         Approximate with mutexes if the system lacks spinlocks, as in
27244         MacOS.
27245         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
27246         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
27247         @@-style.  Check for spinlocks separately.
27248         (gl_PTHREAD_DEFAULTS): New macro.
27249         * modules/pthread: Redo to use a more typical style for in.h files.
27250
27251 2010-09-21  Eric Blake  <eblake@redhat.com>
27252
27253         net_if: enhance tests
27254         * tests/test-net_if.c (main): Move signature checks earlier.
27255         Print failures to stderr.
27256         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
27257         Document the bug that we do not yet fix.
27258
27259 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27260
27261         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
27262         about gnulib, not GSS.
27263
27264 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27265
27266         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
27267         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
27268         for Emacs.
27269         * build-aux/pmccabe2html: Make Makefile.am example code more
27270         cut-and-paste friendly.
27271
27272 2010-09-21  Simon Josefsson  <simon@josefsson.org>
27273
27274         * tests/test-net_if.c: New file.
27275         * modules/net_if-tests: New file.
27276
27277 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27278
27279         pthread: add pthread_spin_destroy
27280         * lib/pthread.in.h (pthread_spin_destroy): New function.
27281
27282 2010-09-19  Bruno Haible  <bruno@clisp.org>
27283
27284         gnulib-tool: Fix --help output.
27285         * gnulib-tool (func_usage): Fix help message.
27286         Reported by Reuben Thomas <rrt@sc3d.org>.
27287
27288 2010-09-18  Jim Meyering  <meyering@redhat.com>
27289
27290         maint.mk: avoid unexpanded \n in two diagnostics
27291         * top/maint.mk (sc_prohibit_always_true_header_tests):
27292         Don't use a literal \n in a halt=... assignment.  It would not be
27293         expanded, and the two \n bytes would appear in the diagnostic output
27294         rather than the desired newline.  Use halt=$$(printf ... instead.
27295         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27296
27297 2010-09-18  Bruno Haible  <bruno@clisp.org>
27298
27299         netinet_in: Doc tweak.
27300         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
27301         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27302
27303 2010-09-18  Jim Meyering  <meyering@redhat.com>
27304
27305         init.sh: correct an outdated comment
27306         * tests/init.sh (create_exe_shims_):  s/function/alias/
27307
27308         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
27309         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
27310         a file named "*.exe" is removed between the glob expansion and the
27311         processing of that oddly named file.
27312
27313 2010-09-17  Eric Blake  <eblake@redhat.com>
27314
27315         mirbsd: add some more support
27316         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
27317         in BSD family.
27318         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
27319         devices as OpenBSD.
27320         * m4/host-os.m4 (mirbsd): Add MirBSD.
27321
27322         tests: fix unportable assumption on sys/wait.h
27323         * tests/test-sys_wait.c (main): Relax test.
27324         * tests/test-stdlib.c (main): Likewise.
27325
27326         init.sh: accommodate directory with no .exes
27327         * tests/init.sh: Accomodate directory containing only scripts.
27328
27329         tests: avoid compiler warning
27330         * tests/test-stdlib.c (main): Use the variable.
27331
27332         fdutimens, fdutimensat: update signature, again
27333         * lib/utimens.h (gl_futimens): Delete, and move signature...
27334         (fdutimens): ...here.
27335         (fdutimensat): Rearrange signature.
27336         (lutimensat): Rename variable for clarity.
27337         * lib/fdutimensat.c (fdutimensat): Update signature.
27338         * lib/utimens.c (fdutimens): Likewise.
27339         (gl_futimens): Delete.
27340         (utimens, lutimens): Update callers.
27341         * lib/futimens.c (futimens): Likewise.
27342         * tests/test-fdutimensat.c: Likewise.
27343         * tests/test-utimens.c: Likewise.
27344         * tests/test-futimens.h: Update comment.
27345         * NEWS: Mention this.
27346         Suggested by Paul Eggert.
27347
27348 2010-09-17  Bruno Haible  <bruno@clisp.org>
27349
27350         Take over the maintenance of some older macros from Autoconf.
27351         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27352         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27353         GNU Autoconf.
27354         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27355         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27356
27357 2010-09-17  Eric Blake  <eblake@redhat.com>
27358
27359         fdutimensat: drop atflag validation
27360         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27361         with valid fd, to close a race scenario where futimens is
27362         unsupported and FILE was replaced by a symlink.
27363         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27364         accordingly.
27365         Suggested by Paul Eggert.
27366
27367 2010-09-16  Bruno Haible  <bruno@clisp.org>
27368
27369         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27370         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27371
27372 2010-09-16  Bruno Haible  <bruno@clisp.org>
27373
27374         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27375         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27376         login_tty exists.
27377         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27378
27379 2010-09-16  Bruno Haible  <bruno@clisp.org>
27380
27381         login_tty: Make the replacement code work on BSD systems.
27382         * lib/login_tty.c: Include <sys/ioctl.h>.
27383         (login_tty): Use ioctl TIOCSCTTY when available.
27384         * modules/login_tty (Depends-on): Add sys_ioctl.
27385         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27386
27387 2010-09-16  Bruno Haible  <bruno@clisp.org>
27388
27389         login_tty: Stricter unit test.
27390         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27391         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27392         and tcgetsid() after login_tty.
27393         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27394
27395 2010-09-16  Bruno Haible  <bruno@clisp.org>
27396
27397         New module 'tcgetsid'.
27398         * lib/tcgetsid.c: New file.
27399         * m4/tcgetsid.m4: New file.
27400         * modules/tcgetsid: New file.
27401         * modules/termios (Depends-on): Add c++defs, warn-on-use.
27402         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
27403         GNULIB_TCGETSID, HAVE_TCGETSID.
27404         * lib/termios.in.h: Include <sys/types.h>.
27405         (tcgetsid): New declaration.
27406         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
27407         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
27408         * doc/posix-functions/tcgetsid.texi: Mention the new module.
27409         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
27410
27411 2010-09-16  Bruno Haible  <bruno@clisp.org>
27412
27413         Tests for module 'termios'.
27414         * modules/termios-c++-tests: New file.
27415         * modules/termios-tests: New file.
27416         * tests/test-termios-c++.cc: New file.
27417         * tests/test-termios.c: New file.
27418
27419         New module 'termios'.
27420         * modules/termios: New file.
27421         * lib/termios.in.h: New file.
27422         * m4/termios_h.m4: New file.
27423         * doc/posix-headers/termios.texi: Mention the new module.
27424
27425 2010-09-16  Eric Blake  <eblake@redhat.com>
27426
27427         fdutimensat: add an atflag parameter
27428         * lib/fdutimensat.c (fdutimensat): Add new parameter.
27429         * lib/utimens.h (fdutimensat): Update prototype.
27430         * tests/test-fdutimensat.c: Adjust test to match.
27431         * NEWS: Document the change.
27432         Suggested by Paul Eggert.
27433
27434 2010-09-16  Bruno Haible  <bruno@clisp.org>
27435
27436         Fix typos in comments.
27437         * lib/striconveh.h: Fix typo in comment.
27438         * lib/login_tty.c (login_tty): Likewise.
27439
27440 2010-09-15  Bruno Haible  <bruno@clisp.org>
27441
27442         stdlib: clarify MirBSD WEXITSTATUS bug
27443         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
27444         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27445
27446 2010-09-15  Eric Blake  <eblake@redhat.com>
27447
27448         stdlib: work around MirBSD WEXITSTATUS bug
27449         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
27450         * modules/stdlib (Depends-on): Add sys_wait.
27451         * tests/test-sys_wait.c (main): Enhance test.
27452         * tests/test-stdlib.c (main): Likewise.
27453         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
27454
27455         docs: mention MacOS issue with WEXITSTATUS(constant)
27456         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
27457         issue.
27458         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27459
27460         strnlen: add tests
27461         * modules/strnlen-tests: New file.
27462         * tests/test-strnlen.c: Likewise.
27463
27464 2010-09-14  Bruno Haible  <bruno@clisp.org>
27465
27466         unistr/base: Avoid link errors when module 'libunistring' is also used.
27467         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
27468         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
27469         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
27470         Declare also when HAVE_LIBUNISTRING is set.
27471         Reported by Pádraig Brady <P@draigbrady.com>.
27472
27473 2010-09-14  Eric Blake  <eblake@redhat.com>
27474
27475         test-rawmemchr: make more robust
27476         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
27477         (Depends-on, configure.ac): Add needed prerequisites to use it.
27478         * modules/memchr-tests (Files, Depends-on, configure.ac):
27479         Likewise, to avoid implicit reliance on memchr module prereqs.
27480         * tests/test-memchr.c (main): Ensure proper masking.
27481         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
27482         reads.
27483
27484         memchr: detect glibc Alpha bug
27485         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
27486         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
27487         Alpha.
27488         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
27489         * tests/test-memchr.c (main): Enhance test.
27490         Reported by Nelson H. F. Beebe.
27491
27492 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27493
27494         fts, getcwd, glob: audit for dirfd returning -1
27495         * lib/fts.c (opendir): Remove #define; no longer used.
27496         (opendirat): New arg PDIR_FD.  All callers changed.
27497         (fts_build, _opendir2): Use new opendirat to avoid the need for
27498         dirfd, or for checking whether dirfd returns a negative value.
27499         Don't use opendir; always use openat followed by fdopendir.
27500         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
27501         it.
27502         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
27503         returns -1 here.
27504         * modules/fts (Depends-on): Remove dirfd.
27505         * modules/getcwd (Depends-on): Likewise.
27506
27507 2010-09-13  Eric Blake  <eblake@redhat.com>
27508
27509         float: fix broken MirBSD header
27510         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
27511         * doc/posix-headers/float.texi (float.h): Document it.
27512
27513 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27514
27515         fts: use O_NOFOLLOW to avoid race condition when opening a directory
27516         * lib/fts.c (opendirat): New arg extra_flags.
27517         (__opendir2): Use it to avoid following symlinks when opening
27518         a directory, if symlinks are not supposed to be followed.  See
27519         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
27520
27521         fdopendir: preserve argument fd before returning
27522         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
27523         (fdopendir_with_dup, fd_clone_opendir): New static functions.
27524         (fdopendir): Use them, arranging for FD to be open to the same
27525         directory that it was when it started.  (It might be temporarily
27526         closed while fdopendir is running, so this not thread- or
27527         signal-safe.)  Be careful to do the right thing even when file
27528         descriptors are scarce and dup fails with errno == EMFILE.  See
27529         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
27530
27531 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
27532
27533         regex: Pass the system regex if its only problem is 32-bit regoff_t.
27534         * NEWS: Document change.
27535         * m4/regex.m4: Disable test for regoff_t size.
27536
27537 2010-09-13  Jim Meyering  <meyering@redhat.com>
27538
27539         fts: don't operate on an invalid file descriptor after failed dup
27540         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
27541         negative file descriptor.
27542
27543 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
27544
27545         savedir: add streamsavedir, deprecate fdsavedir
27546         * NEWS: Mention deprecation of fdsavedir.
27547         * lib/savedir.c (streamsavedir): New extern function, whose name
27548         ends in "savedir" to be consistent with the others.  This differs
27549         from savedirstream in that it doesn't close its argument.  The
27550         next version of GNU tar will use this instead of fdsavedir, to
27551         avoid some race conditions and conserve file descriptors.
27552         (savedirstream): Reimplement as a wrapper around streamsavedir.
27553         (fdsavedir): Add a comment deprecating this function.  As far as
27554         I know, only GNU tar used it, and GNU tar doesn't need it any more.
27555         * lib/savedir.h (streamsavedir): New decl.
27556         (fdsavedir): Add a comment deprecating this.
27557
27558 2010-09-10  Bruno Haible  <bruno@clisp.org>
27559
27560         langinfo: Fix last commit.
27561         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
27562         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
27563         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27564
27565 2010-09-10  Bruno Haible  <bruno@clisp.org>
27566
27567         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
27568         * lib/progreloc.c (O_EXEC): Define fallback.
27569
27570 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
27571
27572         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
27573         * NEWS: Document recent changes to fcntl-h.
27574         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
27575         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
27576         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
27577         Similarly for O_SEARCH; this last was already true, but not documented.
27578         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
27579         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
27580         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
27581         Likewise.
27582         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
27583         is zero, not whether it is defined.
27584         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
27585         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
27586         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
27587
27588 2010-09-10  Bruno Haible  <bruno@clisp.org>
27589
27590         langinfo, nl_langinfo: Fix for IRIX 5.3.
27591         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
27592         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
27593         HAVE_LANGINFO_YESEXPR.
27594         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
27595         HAVE_LANGINFO_YESEXPR.
27596         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
27597         HAVE_LANGINFO_T_FMT_AMPM is 0.
27598         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
27599         HAVE_LANGINFO_YESEXPR is 0.
27600         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
27601         NOEXPR.
27602         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
27603         * doc/posix-functions/nl_langinfo.texi: Likewise.
27604         Reported by Eric Blake.
27605
27606 2010-09-10  Bruno Haible  <bruno@clisp.org>
27607
27608         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
27609         * doc/glibc-functions/login_tty.texi: Mention the include file problem
27610         on FreeBSD 8.0 and OpenBSD 4.6.
27611         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
27612         * m4/pty_h.m4 (gl_PTY_H): Likewise.
27613         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
27614         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
27615         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
27616         ac_includes_default.
27617         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27618
27619 2010-09-09  Eric Blake  <eblake@redhat.com>
27620
27621         strsignal: work around NetBSD bug
27622         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
27623         * lib/string.in.h (includes): Likewise.
27624         * doc/posix-functions/strsignal.texi (strsignal): Document the
27625         bug.
27626         Reported by Nelson H. F. Beebe.
27627
27628         gnulib-tool: work with NetBSD /bin/sh
27629         * gnulib-tool (func_cache_var, func_cache_lookup_module)
27630         (func_get_description, func_get_comment, func_get_status)
27631         (func_get_notice, func_get_applicability, func_get_filelist)
27632         (func_get_dependencies, func_get_autoconf_early_snippet)
27633         (func_get_autoconf_snippet, func_get_automake_snippet)
27634         (func_get_include_directive, func_get_link_directive)
27635         (func_get_license, func_get_maintainer, func_import): Avoid
27636         shell syntax errors from parsing syntax extensions.
27637
27638 2010-09-09  Bruno Haible  <bruno@clisp.org>
27639
27640         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27641         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
27642         a reliable way to determine whether the 'alias' command works.
27643
27644 2010-09-08  Jim Meyering  <meyering@redhat.com>
27645
27646         init.sh: penalize a set-x-impaired shell; don't disqualify it
27647         * tests/init.sh: Too many shells corrupt application stderr when
27648         you set -x, so we can't afford to disqualify them, since at least
27649         on Irix-6.5, that would disqualify all bourne shells.
27650         Instead, use a two-pass approach.
27651         On the first pass, try to find a shell that meets the stricter
27652         condition that set -x does not corrupt stderr.
27653         If no shell meets the stricter condition, retest each candidate
27654         shell, but without that extra condition.  Finally, when
27655         VERBOSE=yes is requested and set -x might cause trouble, simply
27656         issue a warning and refrain from enabling debug output.
27657
27658 2010-09-08  Eric Blake  <eblake@redhat.com>
27659
27660         unsetenv: fix OpenBSD bug
27661         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
27662         * doc/posix-functions/unsetenv.texi (unsetenv): Update
27663         documentation.
27664         Reported by Jim Meyering.
27665
27666         strtod: work around IRIX 6.5 bug
27667         * lib/strtod.c (strtod): Reparse number on shorter string if
27668         exponent parse was invalid.
27669         * tests/test-strtod.c (main): Add check for "0x1p 2".
27670         Reported by Tom G. Christensen.
27671
27672         getopt: optimize previous patch
27673         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
27674         empty variable.  Speed up awk script.
27675         Reported by Paolo Bonzini.
27676
27677 2010-09-08  Jim Meyering  <meyering@redhat.com>
27678
27679         test.sh: disqualify shells for which set -x corrupts stderr
27680         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
27681         and OpenBSD 4.7.  They make it so with "set -x", environment settings
27682         appear in stderr output.  For example, this command:
27683             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
27684         prints "P=1" on those two systems:
27685
27686 2010-09-08  Bruno Haible  <bruno@clisp.org>
27687
27688         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27689         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
27690         commands, because some shells ignore redirections when there is an
27691         error in the command lookup.
27692         Reported by Eric Blake.
27693
27694 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
27695
27696         * lib/regex.h: Fix a mention of `regex_compile' (should be
27697         `re_compile_pattern').
27698         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
27699         (re_set_registers): Correct name of parameter in comment.
27700
27701         * doc/regex.texi: Add documentation for missing syntax flags.
27702         Remove commented-out documentation of defunct syntax option
27703         RE_NO_EMPTY_ALTS.
27704         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
27705         Add documentation of re_set_registers.
27706         Document trick to re-use a pattern buffer by setting fastmap manually.
27707         Update documentation of struct re_pattern_buffer per public members.
27708         Uncomment documentation of equivalence class operators and
27709         collating symbol operators, since they are now implemented,
27710         Explain leftmost-longest matching in relation to alternatives.
27711         Tidy documentation of substring matching.
27712         Remove POSIX documentation, which is done better in
27713         glibc, and refer the reader there. Keep BSD API documentation, as
27714         that is not readily available elsewhere.
27715
27716 2010-09-07  Eric Blake  <eblake@redhat.com>
27717
27718         getopt: handle POSIXLY_CORRECT set but not exported
27719         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
27720         export state of POSIXLY_CORRECT, due to bash set -o posix.
27721         Reported by Dustin J. Mitchell.
27722
27723 2010-09-05  Bruno Haible  <bruno@clisp.org>
27724
27725         gnulib-tool: Highlight the changed options.
27726         * gnulib-tool (func_usage): Display the --import, --add-import,
27727         --remove-import explanations in bold font.
27728
27729 2010-09-06  Karl Berry  <karl@gnu.org>
27730
27731         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
27732
27733 2010-09-05  Bruno Haible  <bruno@clisp.org>
27734
27735         uniwidth/width: Update comment.
27736         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
27737         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
27738
27739 2010-09-05  Bruno Haible  <bruno@clisp.org>
27740
27741         isinf, isnan: Relax license.
27742         * modules/isinf (License): Change from GPL to LGPL, with consent from
27743         Ben Pfaff.
27744         * modules/isnan (License): Likewise.
27745         Requested by Ludovic Courtès.
27746
27747 2010-09-04  Bruno Haible  <bruno@clisp.org>
27748
27749         gnulib-tool: Help migration from --import to --add-import or --update.
27750         * gnulib-tool: Emit a verbose error message when --import is used
27751         without any module name.
27752
27753 2010-09-04  Bruno Haible  <bruno@clisp.org>
27754
27755         Update doc about gnulib-tool.
27756         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
27757         'gnulib-tool --update' in more detail.
27758         Reported by Eric Blake.
27759
27760 2010-09-04  Bruno Haible  <bruno@clisp.org>
27761
27762         gnulib-tool: Change --import. New options --add/remove-import.
27763         * gnulib-tool: New options --add-import, --remove-import.
27764         (func_usage): Document them.
27765         (have_associative): Define always.
27766         (func_import): In import mode, don't merge the specified settings with
27767         the cached settings. Implement remove-import mode.
27768         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27769         Explain when to use them versus --import.
27770         (Simple update): Use --add-import instead of --import.
27771         * NEWS: Mention the change.
27772
27773 2010-09-04  Bruno Haible  <bruno@clisp.org>
27774
27775         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27776         separate gnulib.mk.
27777
27778 2010-09-04  Bruno Haible  <bruno@clisp.org>
27779
27780         gnulib-tool: Don't talk about CVS any more.
27781         * gnulib-tool (func_usage, func_import): Write "version control"
27782         instead of CVS.
27783
27784 2010-09-04  Jim Meyering  <meyering@redhat.com>
27785
27786         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27787         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27788         false positives (whose names may be ill-chosen) when searching
27789         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27790         would cause a false-positive.
27791
27792         avoid coreutils "make distcheck" failure
27793         Coreutils tests with an absolute build directory name that contains
27794         a space.  Not quoting this directory name caused a failure.
27795         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27796         * tests/test-vc-list-files-cvs.sh: Likewise.
27797
27798 2010-09-04  Bruno Haible  <bruno@clisp.org>
27799
27800         gnulib-tool: Avoid error when run in a package without Makefile.am.
27801         * gnulib-tool: When collecting the m4dirs in a package that does not
27802         have a Makefile.am, eliminate those directories that contain no
27803         gnulib-cache.m4. Fix expression that counts these directories.
27804
27805 2010-09-04  Bruno Haible  <bruno@clisp.org>
27806
27807         update-copyright test: Improve output when perl is missing or too old.
27808         * tests/test-update-copyright.sh: Move test of Perl version down after
27809         the test whether Perl exists. Provide an explanation relating Perl's
27810         error message to Automake's SKIP: message.
27811
27812 2010-09-04  Bruno Haible  <bruno@clisp.org>
27813
27814         Don't augment PATH in TESTS_ENVIRONMENT.
27815         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27816         set abs_aux_dir instead of augmenting PATH.
27817         * modules/vc-list-files-tests (Makefile.am): Likewise.
27818         * tests/test-update-copyright.sh: Augment PATH here.
27819         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27820         path_prepend_.
27821         * tests/test-vc-list-files-git.sh: Likewise.
27822
27823 2010-09-04  Jim Meyering  <meyering@redhat.com>
27824
27825         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27826         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27827
27828 2010-09-04  Bruno Haible  <bruno@clisp.org>
27829
27830         strdup: Fix compilation error in C++ mode.
27831         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27832         the macro.
27833
27834 2010-09-04  Bruno Haible  <bruno@clisp.org>
27835
27836         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27837         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27838         macro into a function.
27839         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27840
27841 2010-09-04  Bruno Haible  <bruno@clisp.org>
27842
27843         Set PATH_SEPARATOR the same way autoconf does.
27844         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27845         the value of PATH_SEPARATOR the same way autoconf-generated configure
27846         scripts do.
27847         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27848         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27849
27850 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27851
27852         Set PATH_SEPARATOR the same way autoconf does.
27853         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27854         the same way autoconf-generated configure scripts do.
27855         * posix-modules: Likewise.
27856
27857 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27858
27859         hash: fix safe_hasher const typo
27860         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27861         const; otherwise, there is a type error later.
27862
27863 2010-09-02  Jim Meyering  <meyering@redhat.com>
27864
27865         test-update-copyright.sh: require perl 5.8.0
27866         * tests/test-update-copyright.sh: Require 5.8.0,
27867         which Tom G. Christensen has confirmed is adequate,
27868         while 5.6.1 is not.
27869
27870 2010-09-02  Eric Blake  <eblake@redhat.com>
27871
27872         tests: init.sh improvements for re-exec'ing with zsh
27873         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27874         -vx through shell re-exec.
27875         Reported by Tom G. Christensen.
27876
27877         wctype: fix typo in previous commit
27878         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27879         Reported by Ludovic Courtès.
27880
27881 2010-09-02  Jim Meyering  <meyering@redhat.com>
27882
27883         test-update-copyright.sh: skip test if Perl is too old
27884         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27885         Reported by Tom G. Christensen.
27886
27887 2010-09-02  Bruno Haible  <bruno@clisp.org>
27888
27889         wctype: Avoid compilation error on IRIX 6.5.30.
27890         * lib/wctype.in.h (iswblank): Declare with a replacement if
27891         REPLACE_ISWBLANK is set.
27892         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27893         declared. Set REPLACE_ISWBLANK.
27894         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27895         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27896         * doc/posix-headers/wctype.texi: Likewise.
27897         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27898
27899 2010-09-01  Bruno Haible  <bruno@clisp.org>
27900
27901         New module 'socketlib'.
27902         * modules/socketlib: New file.
27903         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27904         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27905         * modules/sockets (Depends-on): Add socketlib.
27906         Suggested by Sam Steingold <sds@gnu.org>.
27907
27908 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27909
27910         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27911
27912         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27913         when one needs search access to a directory but not read access.
27914         On systems where it is available, it works in some cases where
27915         O_RDONLY does not, namely on directories that are searchable but
27916         not readable, and which need only to be searchable.  If O_SEARCH
27917         is not available, fall back to the traditional method of using
27918         O_RDONLY.
27919
27920         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27921         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27922         when opening a directory that needs only to be searchable.
27923         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27924         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27925         * lib/openat-proc.c (openat_proc_name): Likewise.
27926         * lib/openat.c (openat_needs_fchdir): Likewise.
27927         * lib/save-cwd.c (save_cwd): Likewise.
27928         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27929
27930 2010-08-28  Bruno Haible  <bruno@clisp.org>
27931
27932         New module 'host-cpu-c-abi'.
27933         * modules/host-cpu-c-abi: New file.
27934         * m4/host-cpu-c-abi.m4: New file, based on part of
27935         clisp/src/m4/general.m4.
27936         Requested by Sam Steingold <sds@gnu.org>.
27937
27938 2010-08-31  Eric Blake  <eblake@redhat.com>
27939         and Jim Meyering  <meyering@redhat.com>
27940
27941         hash: factor, and guard against misbehaving hasher function
27942         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
27943         of table->hasher's return value.  Also protect against a hash value
27944         so large that adding it to table->bucket results in a NULL pointer.
27945         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
27946         Use it in place of open-coded check-and-abort.
27947
27948 2010-08-30  Bruno Haible  <bruno@clisp.org>
27949
27950         hash: silence spurious clang warning
27951         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
27952         Reported by Eric Blake.
27953
27954 2010-08-30  Eric Blake  <eblake@redhat.com>
27955
27956         strstr, memmem, strcasestr: avoid leaked shell message
27957         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
27958         FreeBSD.
27959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27960         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27961
27962         tests: silence clang warning
27963         * tests/test-malloca.c (do_allocation): Avoid dead store.
27964
27965 2010-08-29  Bruno Haible  <bruno@clisp.org>
27966
27967         gettext: Fix recent mistake.
27968         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
27969
27970 2010-08-29  Bruno Haible  <bruno@clisp.org>
27971
27972         selinux-h: Offer a --without-selinux option.
27973         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
27974         --without-selinux was specified, skip all tests and define
27975         HAVE_SELINUX_SELINUX_H to 0.
27976         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
27977         set LIB_SELINUX to empty.
27978         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27979         gl_LIBSELINUX. If --without-selinux was specified, replace
27980         selinux/context.h.
27981         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27982
27983 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27984             Bruno Haible  <bruno@clisp.org>
27985
27986         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27987         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27988         of HAVE_REALLOC.
27989         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27990         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27991         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27992         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27993
27994 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27995             Bruno Haible  <bruno@clisp.org>
27996
27997         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27998         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27999         HAVE_CALLOC.
28000         * lib/xmalloc.c: Update accordingly.
28001         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
28002         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
28003         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
28004
28005 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28006             Bruno Haible  <bruno@clisp.org>
28007
28008         Make the module 'malloc-gnu' work again on AIX and OSF/1.
28009         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
28010         HAVE_MALLOC.
28011         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
28012         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
28013         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28014
28015 2010-08-29  Bruno Haible  <bruno@clisp.org>
28016
28017         Update modules list.
28018         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28019         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
28020         (String handling <string.h>): Add astrxfrm.
28021         (File system functions): Add readlinkat.
28022
28023 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28024
28025         Tests for module 'realloc-gnu'.
28026         * modules/realloc-gnu-tests: New file.
28027         * tests/test-realloc-gnu.c: New file.
28028
28029         Tests for module 'calloc-gnu'.
28030         * modules/calloc-gnu-tests: New file.
28031         * tests/test-calloc-gnu.c: New file.
28032
28033         Tests for module 'malloc-gnu'.
28034         * modules/malloc-gnu-tests: New file.
28035         * tests/test-malloc-gnu.c: New file.
28036
28037 2010-08-28  Bruno Haible  <bruno@clisp.org>
28038
28039         Rename module 'realloc' -> 'realloc-gnu'.
28040         * modules/realloc-gnu: New file, copied from modules/realloc.
28041         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
28042         obsolete.
28043         * modules/mgetgroups (Depends-on): Update.
28044         * doc/posix-functions/realloc.texi: Update.
28045         * NEWS: Mention the change.
28046
28047         Rename module 'calloc' -> 'calloc-gnu'.
28048         * modules/calloc-gnu: New file, copied from modules/calloc.
28049         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
28050         obsolete.
28051         * doc/posix-functions/calloc.texi: Update.
28052         * NEWS: Mention the change.
28053
28054         Rename module 'malloc' -> 'malloc-gnu'.
28055         * modules/malloc-gnu: New file, copied from modules/malloc.
28056         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
28057         obsolete.
28058         * modules/argp (Depends-on): Update.
28059         * modules/regex (Depends-on): Update.
28060         * doc/posix-functions/malloc.texi: Update.
28061         * NEWS: Mention the change.
28062
28063 2010-08-28  Eric Blake  <eblake@redhat.com>
28064
28065         pread, pwrite: add missing dependency
28066         * modules/pread (Depends-on): Add extensions.
28067         * modules/pwrite (Depends-on): Likewise.
28068
28069 2010-08-28  Bruno Haible  <bruno@clisp.org>
28070
28071         unistr/u*-strchr: Fix tests dependencies.
28072         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
28073         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
28074         Reported by Ian Beckwith <ianb@erislabs.net>.
28075
28076 2010-08-28  Bruno Haible  <bruno@clisp.org>
28077
28078         read-file: Don't occupy too much unused memory.
28079         * lib/read-file.c (fread_file): Shrink the buffer at the end.
28080
28081 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
28082             Eric Blake  <eblake@redhat.com>
28083             Bruno Haible  <bruno@clisp.org>
28084
28085         read-file: Avoid memory reallocations with regular files.
28086         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
28087         (fread_file): With regular files, use the remaining length as the
28088         initial buffer size.  Check against overflow.
28089         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
28090         sys_stat.
28091
28092 2010-08-28  Bruno Haible  <bruno@clisp.org>
28093
28094         ftello: Relax license.
28095         * modules/ftello (License): Relax to LGPLv2+.
28096         Reported by Eric Blake.
28097
28098 2010-08-28  Bruno Haible  <bruno@clisp.org>
28099
28100         Avoid relocwrapper link errors due to gnulib replacement functions.
28101         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
28102         function.
28103         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28104
28105 2010-08-28  Bruno Haible  <bruno@clisp.org>
28106
28107         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
28108         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
28109         defined.
28110         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
28111         Suggested by Eric Blake.
28112
28113 2010-08-28  Bruno Haible  <bruno@clisp.org>
28114
28115         sys_socket, netdb: Ensure socklen_t gets defined.
28116         * modules/sys_socket (Depends-on): Add socklen.
28117         * modules/netdb (Depends-on): Likewise.
28118         * modules/getaddrinfo (Depends-on): Remove socklen.
28119         * modules/getsockopt (Depends-on): Likewise.
28120         * modules/setsockopt (Depends-on): Likewise.
28121         * tests/test-sys_socket.c: Check that socklen_t is defined.
28122         * tests/test-netdb.c: Likewise.
28123         * m4/socklen.m4: Update comments.
28124         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28125
28126 2010-08-27  Eric Blake  <eblake@redhat.com>
28127
28128         login_tty: add missing dependency
28129         * modules/login_tty (Depends-on): Add pty.
28130
28131 2010-08-26  Eric Blake  <eblake@redhat.com>
28132
28133         lib-symbol-versions: fix m4 quoting
28134         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
28135         format for AC_LINK_IFELSE.
28136
28137         glob: fix compile test
28138         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
28139
28140         btowc: fix missing file
28141         * modules/btowc (Files): Also ship locale-fr.m4.
28142
28143         lseek: fix link test
28144         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
28145         AC_LINK_IFELSE.
28146
28147         include_next: silence autoconf 2.68 warning
28148         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
28149         AC_COMPILE_IFELSE as special.
28150         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
28151         autoconf < 2.68.
28152
28153         acl: fix compilation test
28154         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
28155         AC_COMPILE_IFELSE.
28156
28157 2010-08-26  Bruno Haible  <bruno@clisp.org>
28158
28159         Modernize AC_TRY_RUN invocations.
28160         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
28161         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28162         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
28163         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
28164         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
28165         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28166         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28167         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28168         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28169         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28170         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28171         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28172         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28173         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28174         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28175         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28176         gl_MBRLEN_NUL_RETVAL): Likewise.
28177         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28178         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28179         Likewise.
28180         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28181         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28182         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28183         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28184         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
28185         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
28186         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
28187         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
28188         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
28189         Likewise.
28190         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28191         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
28192         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28193         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28194         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28195         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28196         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28197         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
28198         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28199         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28200
28201 2010-08-26  Bruno Haible  <bruno@clisp.org>
28202
28203         Modernize AC_TRY_LINK invocations.
28204         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
28205         AC_TRY_LINK.
28206         * m4/argp.m4 (gl_ARGP): Likewise.
28207         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
28208         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28209         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28210         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28211         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28212         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
28213         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
28214         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
28215         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28216         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28217         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28218         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
28219         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
28220         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28221         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28222         * m4/hostent.m4 (gl_HOSTENT): Likewise.
28223         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28224         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
28225         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28226         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
28227         Likewise.
28228         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
28229         Likewise.
28230         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
28231         Likewise.
28232         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28233         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
28234         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
28235         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
28236         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
28237         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28238         * m4/servent.m4 (gl_SERVENT): Likewise.
28239         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
28240         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
28241         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
28242         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
28243         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28244         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
28245         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28246         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28247         * modules/tsearch-tests (configure.ac): Likewise.
28248
28249 2010-08-26  Bruno Haible  <bruno@clisp.org>
28250
28251         Modernize AC_TRY_COMPILE invocations.
28252         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
28253         AC_TRY_COMPILE.
28254         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
28255         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
28256         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28257         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
28258         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28259         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28260         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28261         * m4/lock.m4 (gl_LOCK): Likewise.
28262         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
28263         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28264         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
28265         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28266         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28267         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
28268         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28269         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
28270         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28271         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28272         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28273         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28274         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
28275         extraneous semicolon.
28276
28277 2010-08-26  Jim Meyering  <meyering@redhat.com>
28278
28279         stat-time: relax license LGPL
28280         * modules/stat-time (License): Change from GPL to LGPL,
28281         with consent from all contributors, for use in libguile.
28282         Requested by Ludovic Courtès.
28283
28284 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
28285
28286         poll: return immediately on POLLHUP.
28287         * lib/poll.c (poll): Always set timeout before wait_timeout is
28288         computed.
28289
28290 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28291
28292         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
28293         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
28294         rmdir ("dir/.//"), unlinkat.
28295
28296 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28297
28298         stdbool: avoid spurious failure with modern xlc
28299         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28300
28301 2010-08-24  Bruno Haible  <bruno@clisp.org>
28302
28303         getloadavg: simplify code
28304         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
28305         gl_have_func. Update comments.
28306
28307 2010-08-24  Eric Blake  <eblake@redhat.com>
28308
28309         getloadavg: don't define SVR4 on cygwin
28310         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
28311         only define SVR4 when -lkvm is required.
28312         Reported by Yaakov Selkowitz.
28313
28314 2010-08-24  Bruno Haible  <bruno@clisp.org>
28315
28316         priv-set: fix comment
28317         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
28318
28319 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28320
28321         priv-set: fix comments
28322         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
28323         to match code, as suggested by David Bartley in:
28324         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
28325
28326 2010-08-23  Eric Blake  <eblake@redhat.com>
28327
28328         stdbool: avoid rejecting clang
28329         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28330         * tests/test-stdbool.c: Enable more tests if using the system
28331         <stdbool.h> instead of the gnulib replacement.
28332         (main): Move xlc bug test to a runtime test for all compilers.
28333         Reported by Anders Kaseorg.
28334
28335         argz: fix shell quoting issue
28336         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
28337         Reported by Charles Wilson.
28338
28339 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
28340             Erik Faye-Lund <kusmabite@gmail.com>
28341
28342         poll, select: handle ERROR_BROKEN_PIPE.
28343         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28344         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28345         * lib/select.c (win32_compute_revents): Do not mark a pipe
28346         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28347
28348 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28349
28350         fts: allow compilation with C++
28351         * lib/fts_.h: Specify extern "C" linkage with C++.
28352
28353 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28354
28355         Fix gnulib-tool sed script de-commentation for AIX sed.
28356         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28357         sed.
28358
28359 2010-08-17  Eric Blake  <eblake@redhat.com>
28360
28361         test-stddef: test for (some) offsetof bugs
28362         * tests/test-stddef.c: Enhance test to ensure correct type of
28363         offsetof.
28364         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28365         that we are not fixing at this time.
28366
28367 2010-08-15  Bruno Haible  <bruno@clisp.org>
28368
28369         stpncpy: Allow stpncpy to be defined as a macro.
28370         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28371         if it's already correctly declared.
28372         * lib/string.in.h (stpncpy): Undefine before redefining.
28373         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28374
28375 2010-08-14  Bruno Haible  <bruno@clisp.org>
28376
28377         Rename module 'memxfrm' to 'amemxfrm'.
28378         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28379         (amemxfrm): Renamed from memxfrm.
28380         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28381         (amemxfrm): Renamed from memxfrm.
28382         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28383         * NEWS: Mention the change.
28384         * MODULES.html.sh (String handling <string.h>): Update.
28385         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28386         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28387         * lib/unicase/u16-casexfrm.c: Likewise.
28388         * lib/unicase/u32-casexfrm.c: Likewise.
28389         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28390         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28391         * lib/uninorm/u16-normxfrm.c: Likewise.
28392         * lib/uninorm/u32-normxfrm.c: Likewise.
28393         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28394         memxfrm.
28395         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28396         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28397         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28398         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28399         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28400         Suggested by Paul Eggert.
28401
28402 2010-08-14  Bruno Haible  <bruno@clisp.org>
28403
28404         Tests for module 'astrxfrm'.
28405         * modules/astrxfrm-tests: New file.
28406         * tests/test-astrxfrm.c: New file.
28407
28408         New module 'astrxfrm'.
28409         * lib/astrxfrm.h: New file.
28410         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
28411         * modules/astrxfrm: New file.
28412
28413 2010-08-14  Reuben Thomas <rrt@sc3d.org>
28414
28415         regex: Tweak doc.
28416         * doc/regex.texi (Overview): Don't mention regex.c.
28417         (GNU Regular Expression Compiling): Likewise.
28418         (Match-end-of-line Operator): Mention 'not_eol'.
28419
28420 2010-08-14  Brian Gough  <bjg@gnu.org>
28421             Bruno Haible  <bruno@clisp.org>
28422
28423         git-merge-changelog: add doc relating to use with bzr and hg.
28424         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
28425
28426 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
28427
28428         pthread: fix pthread.h creation for srcdir != builddir
28429         * modules/pthread (Makefile.am): Fix the rule to work also in a
28430         non-srcdir build.
28431
28432 2010-08-13  Karl Berry  <karl@gnu.org>
28433
28434         * doc/regex.texi (Predefined Syntaxes): @smallexample.
28435         * doc/posix-*/*: force line break before @url of POSIX
28436         specifications.
28437         Suggested by Werner Lemberg.
28438
28439 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28440
28441         strtod: fix const diagnostic
28442         * lib/strtod.c (strtod): Don't assign const char * to char *,
28443         as this elicits a warning from GCC when warnings are enabled.
28444
28445 2010-08-10  Pádraig Brady <P@draigbrady.com>
28446         and Eric Blake  <eblake@redhat.com>
28447
28448         copy-acl: ignore ENOTSUP on HP-UX
28449         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
28450         so that it is available for HP-UX.
28451         * lib/copy-acl.c (qcopy_acl): Use it.
28452         Reported by Patrick M. Callahan.
28453
28454 2010-08-10  Eric Blake  <eblake@redhat.com>
28455
28456         open, chown: relax license
28457         * modules/open (License): Change to LGPLv2+, with consent by all
28458         authors, for use in augeas.
28459         * modules/chown (License): Likewise.
28460         * modules/lchown (Likewise): Likewise.
28461         Requested by Adam Stokes.
28462
28463 2010-08-09  Karl Berry  <karl@gnu.org>
28464
28465         * build-aux/ar-lib: new file, import from Automake.
28466         * config/srclist.txt: autocheck for updates.
28467
28468 2010-08-09  Eric Blake  <eblake@redhat.com>
28469
28470         readlinkat: adjust client modules
28471         * modules/areadlinkat (Depends-on): Use readlinkat, not
28472         symlinkat.
28473         * modules/areadlinkat-with-size (Depends-on): Likewise.
28474
28475         mknod: be more vocal about danger of running tests as root
28476         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
28477         root, since that is just asking for problems.
28478         Suggested by Bruno Haible, based on a report by Rainer Tammer.
28479
28480         readlinkat: split into its own module
28481         * modules/symlinkat: Split readlinkat...
28482         * modules/readlinkat: ...into separate module.
28483         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
28484         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
28485         * lib/symlinkat.c (readlinkat): Move...
28486         * lib/readlinkat.c: ...into new file.
28487         * modules/symlinkat-tests: Split readlinkat test...
28488         * modules/readlinkat-tests: ...into separate module.
28489         * tests/test-symlinkat.c: Split...
28490         * tests/test-readlinkat.c: ...into new file.
28491         * NEWS: Document the split.
28492         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28493         * lib/unistd.in.h (readlinkat): Likewise.
28494         Suggested by Bruno Haible.
28495
28496 2010-08-08  Bruno Haible  <bruno@clisp.org>
28497
28498         memxfrm: Speed up.
28499         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
28500         that usually only one call to strxfrm is necessary for each string
28501         part.
28502         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28503
28504 2010-08-07  Karl Berry  <karl@gnu.org>
28505
28506         * doc/posix-headers/limits.texi,
28507         * doc/posix-functions/malloc.texi,
28508         * doc/posix-functions/strsignal.texi: missing @item.
28509         * doc/ld-version-script.texi: spurious leading i.
28510         * doc/regex.texi (Interval Operators): no commas inside @var.
28511
28512 2010-08-01  Bruno Haible  <bruno@clisp.org>
28513
28514         Integrate the regex documentation.
28515         * doc/gnulib.texi: Define 'cn' index.
28516         (Regular expressions): New a chapter that includes regex.texi and
28517         regexprops-generic.texi.
28518         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
28519         syntax.
28520
28521         Whitespace cleanup.
28522         * doc/regex.texi: Remove trailing spaces.
28523
28524         Add regex documentation.
28525         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
28526         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
28527         Written by Kathy A. Hargreaves and Karl Berry.
28528
28529 2010-08-01  Bruno Haible  <bruno@clisp.org>
28530
28531         link: Update documentation.
28532         * doc/posix-functions/link.texi: Update regarding Solaris.
28533
28534 2010-07-31  Bruno Haible  <bruno@clisp.org>
28535
28536         Update modules list.
28537         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
28538         (String handling <string.h>): Add memcmp2, memxfrm.
28539         (Container data structures): Add xlist, xsublist, xoset.
28540         (Core language properties): Add alignof, unused-parameter.
28541         (Process control, Numeric conversion functions <stdlib.h>): Renamed
28542         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
28543         (Unibyte characters <ctype.h>): New section.
28544         (String handling <string.h>): New section.
28545         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
28546         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
28547         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
28548         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
28549         tan, tanh, tanl, y0, y1, yn.
28550         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
28551         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
28552         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
28553         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
28554         unlockpt, vdprintf, vdprintf-posix.
28555         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
28556         (File system functions): Add concat-filename, sys_file, sys_ioctl,
28557         xconcat-filename.
28558         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
28559         getdtablesize, pipe2, pipe2-safer.
28560         (Security): New section.
28561         (Networking functions): Add accept4.
28562         (Signal handling): Add sigpipe.
28563         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
28564         mbmemcasecoll.
28565         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
28566         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
28567         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
28568         pipe-filter-ii.
28569         (Misc): Add argp-version-etc, login_tty, parse-duration.
28570
28571 2010-07-31  Bruno Haible  <bruno@clisp.org>
28572
28573         Improve doc in MODULES.html.
28574         * modules/linkat (Description): Add the word "function".
28575         * modules/mkfifo (Description): Likewise.
28576         * modules/mknod (Description): Likewise.
28577         * modules/remove (Description): Likewise.
28578         * modules/renameat (Description): Likewise.
28579         * modules/stat (Description): Likewise.
28580         * modules/symlink (Description): Likewise.
28581         * modules/unlink (Description): Likewise.
28582
28583 2010-07-31  Bruno Haible  <bruno@clisp.org>
28584
28585         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
28586         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
28587         option --enable/disable-c++ instead of --enable/disable-cxx.
28588         * NEWS: Mention the change.
28589
28590 2010-07-31  Bruno Haible  <bruno@clisp.org>
28591
28592         readlink, areadlink: Relax test a bit.
28593         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
28594         alternative to ENOTDIR.
28595         * tests/test-areadlink.h (test_areadlink): Likewise.
28596         Reported by Rainer Tammer.
28597
28598 2010-07-31  Bruno Haible  <bruno@clisp.org>
28599
28600         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
28601         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
28602         character, perform the search using U_STRCHR.
28603         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
28604         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
28605         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
28606         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
28607         Suggested by Paolo Bonzini.
28608
28609 2010-07-31  Bruno Haible  <bruno@clisp.org>
28610
28611         unistr/u*-strstr: Fix dependencies.
28612         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
28613         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
28614         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
28615
28616 2010-07-31  Bruno Haible  <bruno@clisp.org>
28617
28618         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
28619         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
28620         the beginning of the loop.
28621         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
28622         cases in 'switch' statement.
28623
28624         unistr/u8-strchr: Fix several bugs.
28625         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
28626         the string. When not found, return NULL, not a pointer near the end.
28627
28628         More tests for unistr/u8-strchr.
28629         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
28630         that the function does not read past the first occurrence of the byte
28631         being searched.
28632         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
28633         * tests/unistr/test-u16-strchr.c (main): New function.
28634         * tests/unistr/test-u32-strchr.c (main): New function.
28635
28636 2010-07-31  Bruno Haible  <bruno@clisp.org>
28637
28638         posix-modules: Ignore backup files of documentation files.
28639         * posix-modules: grep only through files named *.texi.
28640
28641 2010-07-31  Bruno Haible  <bruno@clisp.org>
28642
28643         symlinkat: Fix documentation.
28644         * doc/posix-functions/readlinkat.texi: Fix module name.
28645
28646 2010-07-31  Bruno Haible  <bruno@clisp.org>
28647
28648         fchownat: Replace also when chown has the trailing slash bug.
28649         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
28650         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
28651         introduced on 2010-04-10.
28652         Reported by Rainer Tammer.
28653
28654 2010-07-31  Bruno Haible  <bruno@clisp.org>
28655
28656         linkat: Work around AIX 7.1 bug.
28657         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
28658         whether linkat handles trailing slash correctly. If not, replace linkat
28659         and define LINKAT_TRAILING_SLASH_BUG.
28660         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
28661         check whether (fd1,file1) points to a directory if file1 or file2 ends
28662         in a slash. Code taken from lib/link.c.
28663         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
28664         Reported by Rainer Tammer.
28665
28666 2010-07-31  Bruno Haible  <bruno@clisp.org>
28667
28668         Correctly determine whether pow is available in libc on AIX 7 with xlc.
28669         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
28670         This disables an xlc optimization that was causing wrong test results.
28671         Reported by Rainer Tammer.
28672
28673 2010-07-31  Bruno Haible  <bruno@clisp.org>
28674
28675         iconv: Work around AIX 6.1..7.1 bug.
28676         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
28677         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
28678         cross-compiling, guess no on all versions of AIX.
28679         Reported by Rainer Tammer.
28680
28681 2010-07-31  Bruno Haible  <bruno@clisp.org>
28682
28683         readlink: Relax test a bit.
28684         * tests/test-readlink.h (test_readlink): Allow different errno value
28685         when readlink is called with a file name that ends in / and refers to
28686         a file.
28687         Suggested by Eric Blake.
28688         Reported by Rainer Tammer.
28689
28690 2010-07-31  Bruno Haible  <bruno@clisp.org>
28691
28692         copysign: Does not require -lm on glibc systems.
28693         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
28694         gl_COMMON_DOUBLE_MATHFUNC.
28695         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
28696
28697 2010-07-31  Bruno Haible  <bruno@clisp.org>
28698
28699         duplocale: Work around AIX 7.1 bug.
28700         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
28701         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
28702         * lib/duplocale.c (rpl_duplocale): Update comment.
28703         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
28704         Reported by Rainer Tammer.
28705
28706 2010-07-30  Bruno Haible  <bruno@clisp.org>
28707
28708         dirfd: Avoid link error on AIX 7.1.
28709         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
28710         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
28711         exist, set REPLACE_DIRFD.
28712         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
28713         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
28714         * doc/posix-functions/dirfd.texi: Update.
28715         Reported by Rainer Tammer.
28716
28717 2010-07-30  Eric Blake  <eblake@redhat.com>
28718
28719         strtod: next round of AIX fixes
28720         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
28721         exponent.
28722         * tests/test-strtod.c (main): Enhance tests.
28723         * doc/posix-functions/strtod.texi (strtod): Document next bug.
28724         Reported by Rainer Tammer.
28725
28726         futimens: fix configure check
28727         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
28728         Reported by Bruno Haible.
28729
28730 2010-07-30  Bruno Haible  <bruno@clisp.org>
28731
28732         getline: Update regarding AIX.
28733         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
28734         Reported by Rainer Tammer.
28735
28736 2010-07-30  Bruno Haible  <bruno@clisp.org>
28737
28738         wcwidth: Drop replacement on AIX 7.
28739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
28740         AIX 7.
28741         Reported by Rainer Tammer.
28742
28743 2010-07-30  Bruno Haible  <bruno@clisp.org>
28744
28745         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
28746         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
28747         a 'char *'.
28748         Reported by Rainer Tammer.
28749
28750 2010-07-30  Bruno Haible  <bruno@clisp.org>
28751
28752         unlink: Update regarding AIX.
28753         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
28754         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
28755         Reported by Rainer Tammer.
28756
28757 2010-07-30  Bruno Haible  <bruno@clisp.org>
28758
28759         symlink: Update regarding AIX.
28760         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
28761         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
28762         Reported by Rainer Tammer.
28763
28764 2010-07-30  Bruno Haible  <bruno@clisp.org>
28765
28766         strndup: Update regarding AIX.
28767         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28768         AIX 7.
28769         Reported by Rainer Tammer.
28770
28771 2010-07-30  Bruno Haible  <bruno@clisp.org>
28772
28773         stat: Update regarding AIX.
28774         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28775         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28776         Reported by Rainer Tammer.
28777
28778 2010-07-30  Bruno Haible  <bruno@clisp.org>
28779
28780         truncl: Fix autoconf test.
28781         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28782         whether truncl works.
28783         Reported by Rainer Tammer.
28784
28785 2010-07-30  Bruno Haible  <bruno@clisp.org>
28786
28787         round: Update regarding AIX.
28788         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28789         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28790         Reported by Rainer Tammer.
28791
28792 2010-07-30  Bruno Haible  <bruno@clisp.org>
28793
28794         rename: Update regarding AIX.
28795         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28796         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28797         Reported by Rainer Tammer.
28798
28799 2010-07-30  Bruno Haible  <bruno@clisp.org>
28800
28801         printf.m4: Update regarding AIX.
28802         * m4/printf.m4: Update comments regarding AIX.
28803         Reported by Rainer Tammer.
28804
28805 2010-07-30  Bruno Haible  <bruno@clisp.org>
28806
28807         iconv: Update regarding AIX.
28808         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28809         AIX 7.
28810         Reported by Rainer Tammer.
28811
28812 2010-07-30  Bruno Haible  <bruno@clisp.org>
28813
28814         getopt: Update regarding AIX.
28815         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28816         no on AIX.
28817         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28818         Reported by Rainer Tammer.
28819
28820 2010-07-30  Bruno Haible  <bruno@clisp.org>
28821
28822         ldexpl; Update regarding AIX.
28823         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28824         on AIX 7.
28825         Reported by Rainer Tammer.
28826
28827 2010-07-30  Bruno Haible  <bruno@clisp.org>
28828
28829         frexpl: Update regarding AIX.
28830         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28831         on AIX 7.
28832         Reported by Rainer Tammer.
28833
28834 2010-07-30  Bruno Haible  <bruno@clisp.org>
28835
28836         open, fopen: Update regarding AIX.
28837         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28838         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28839         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28840         * doc/posix-functions/fopen.texi: Likewise.
28841         Reported by Rainer Tammer.
28842
28843 2010-07-30  Bruno Haible  <bruno@clisp.org>
28844
28845         chown: Update doc regarding AIX.
28846         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28847         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28848         Reported by Rainer Tammer.
28849
28850 2010-07-30  Eric Blake  <eblake@redhat.com>
28851
28852         strtod: fix bug in replacement function on AIX
28853         * lib/strtod.c (strtod): Special case broken "0x" parse in
28854         underlying strtod.
28855         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28856         * doc/posix-functions/strtod.texi (strtod): Likewise.
28857         Reported by Rainer Tammer.
28858
28859 2010-07-30  Bruno Haible  <bruno@clisp.org>
28860
28861         mbrlen: Fix cross-compilation guess for AIX.
28862         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28863         guess. Leftover from 2008-12-22.
28864
28865 2010-07-30  Bruno Haible  <bruno@clisp.org>
28866
28867         mbrtowc: Fix cross-compilation guess for AIX.
28868         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28869         guess. Leftover from 2008-12-21.
28870
28871 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28872
28873         init.sh: work around trap limitation of some shells
28874         * tests/init.sh (setup_): Move exit trap outside of shell function.
28875
28876 2010-07-29  Eric Blake  <eblake@redhat.com>
28877
28878         strtod: aid debugging
28879         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28880         understanding why strtod is rejected.
28881
28882 2010-07-28  Bruno Haible  <bruno@clisp.org>
28883
28884         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28885         * lib/unistr/u8-chr.c: Include <string.h>.
28886         * tests/unistr/test-u8-chr.c: Likewise.
28887         * tests/unistr/test-u16-chr.c: Likewise.
28888         * tests/unistr/test-u32-chr.c: Likewise.
28889         * tests/unistr/test-u8-strchr.c: Likewise.
28890         * tests/unistr/test-u16-strchr.c: Likewise.
28891         * tests/unistr/test-u32-strchr.c: Likewise.
28892         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28893         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28894         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28895         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28896
28897 2010-07-28  Bruno Haible  <bruno@clisp.org>
28898
28899         Use spaces for indentation, not tabs.
28900         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28901
28902 2010-07-27  Bruno Haible  <bruno@clisp.org>
28903
28904         mbspcasecmp: Fix function specification.
28905         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28906         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28907         Reported by Eric Blake <eblake@redhat.com>.
28908
28909 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28910
28911         timespec: use cast and not conditional, as truncation isn't possible
28912         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28913         instead of a conditional.  Comment about the situation in more detail.
28914         This undoes most of the 2009-10-29 patch.
28915
28916 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28917
28918         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28919         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28920         * lib/unistr/u8-strchr.c: Likewise.
28921         * modules/unistr/u8-chr: Depend on memchr.
28922
28923         unistr/u*-strchr: add tests
28924         * modules/unistr/u8-strchr-tests: New file.
28925         * modules/unistr/u16-strchr-tests: New file.
28926         * modules/unistr/u32-strchr-tests: New file.
28927         * tests/unistr/test-strchr.h: New file.
28928         * tests/unistr/test-u8-strchr.c: New file.
28929         * tests/unistr/test-u16-strchr.c: New file.
28930         * tests/unistr/test-u32-strchr.c: New file.
28931
28932         unistr/u*-chr: test multibyte sequences more
28933         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28934         test vector.
28935         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28936         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28937         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
28938
28939         unistr/u*-chr: test multibyte sequences
28940         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
28941
28942         unistr/u*-chr: prepare for multibyte tests
28943         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
28944         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
28945         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
28946         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
28947         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
28948         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
28949
28950 2010-07-18  Bruno Haible  <bruno@clisp.org>
28951
28952         unistr/u8-strchr: Optimize non-ASCII argument case.
28953         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
28954         because the first byte often matches anyway.
28955         Reported by Pádraig Brady <P@draigbrady.com>.
28956
28957 2010-07-15  Karl Berry  <karl@gnu.org>
28958
28959         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
28960
28961 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
28962
28963         getcwd: on Solaris, work better if ancestors are inaccessible
28964         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
28965         buffer and size, try again with a large buffer.  This works better
28966         on Solaris, since its getcwd succeeds even if the path to the root
28967         is inaccessible, and this is helpful in common cases such as .zfs
28968         hidden directories.  Problem reported by J Chapman Flack in
28969         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
28970         Use system getcwd if it's declared, not merely if it's partly
28971         working; use the partly-working test only to avoid needless effort
28972         if the system getcwd fails.
28973         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
28974         comment that was already obsolete and is now even more obsolete.
28975         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
28976         now might call strdup.
28977
28978 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28979
28980         pthread: Add enough so that coreutils/src/sort.c compiles.
28981         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28982         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28983         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28984         Include <sys/types.h>, in case it defines pthread_t.
28985         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28986         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28987         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28988         (pthread_rwlockattr_t, pthread_spinlock_t):
28989         New typedefs, if HAVE_PTHREAD_T is not defined.
28990         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28991         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28992         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28993         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28994         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28995         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28996         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28997         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28998         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28999         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
29000         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
29001         New macros.
29002         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
29003         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
29004         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
29005         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
29006         (pthread_spin_unlock): New dummy functions.
29007         (pthread_create): Return EAGAIN; don't set errno.
29008         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
29009         require AC_C_INLINE.
29010         * modules/pthread (Depends-on): Add sched, time.
29011         (pthread.h): Use AM_V_GEN.
29012
29013 2010-07-13  Bruno Haible  <bruno@clisp.org>
29014
29015         striconveh: Don't malloc memory if the result buffer is sufficient.
29016         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
29017         buffer if its size is sufficient.
29018         Reported by Ludovic Courtès <ludo@gnu.org>.
29019
29020 2010-07-13  Bruno Haible  <bruno@clisp.org>
29021
29022         strtod: Add safety check.
29023         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
29024
29025 2010-07-12  Bruno Haible  <bruno@clisp.org>
29026
29027         Unify tests that set gl_cv_func_ldexpl_no_libm.
29028         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
29029         gl_FUNC_LDEXPL.
29030         (gl_FUNC_LDEXPL): Invoke it.
29031         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29032
29033 2010-07-12  Bruno Haible  <bruno@clisp.org>
29034
29035         Unify tests that set gl_cv_func_ldexp_no_libm.
29036         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
29037         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
29038         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
29039         (configure.ac): Simply invoke gl_FUNC_LDEXP.
29040         * modules/strtod (Files): Add m4/ldexp.m4.
29041
29042 2010-07-12  Bruno Haible  <bruno@clisp.org>
29043
29044         Unify tests that set gl_cv_func_frexpl_no_libm.
29045         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
29046         gl_FUNC_FREXPL_NO_LIBM.
29047         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
29048         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29049
29050 2010-07-12  Bruno Haible  <bruno@clisp.org>
29051
29052         Unify tests that set gl_cv_func_frexp_no_libm.
29053         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
29054         gl_FUNC_FREXP_NO_LIBM.
29055         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
29056         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29057
29058 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29059
29060         memcoll: clarify sizes versus lengths, document better, and tweak perf
29061         * lib/memcoll.c (strcoll_loop, memcoll0):
29062         Improve quality of descriptive comments.  Name variables
29063         consistently as to whether they are lengths (which do not include
29064         terminating null) versus sizes (which do).
29065         * lib/xmemcoll.c (xmemcoll0): Likewise.
29066         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
29067         returned when s1size == 0; this is easier to compile and saves
29068         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
29069
29070 2010-07-12  Bruno Haible  <bruno@clisp.org>
29071
29072         Tests for module '_Exit'.
29073         * modules/_Exit-tests: New file.
29074         * tests/test-_Exit.sh: New file.
29075         * tests/test-_Exit.c: New file.
29076
29077         New module '_Exit'.
29078         * lib/stdlib.in.h (__attribute__): New macro.
29079         (_Exit): New declaration.
29080         * lib/_Exit.c: New file.
29081         * m4/_Exit.m4: New file.
29082         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
29083         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
29084         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
29085         * modules/_Exit: New file.
29086         * tests/test-stdlib-c++.cc (_Exit): Check signature.
29087         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
29088
29089 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29090
29091         strtod: make it more-accurate typically, and don't require libm
29092         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
29093         Include limits.h.  Don't include string.h.
29094         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
29095         (locale_isspace): New function, so that no casts are needed to
29096         check whether *s is a space.
29097         (ldexp): Provide an unused dummy if not available.
29098         (scale_radix_exp, parse_number, underlying_strtod): New functions.
29099         (strtod): Use them.  This implementation prefers to use the
29100         underlying strtod if available, falling back on our own code
29101         only to fix known bugs.  This is more likely to produce an
29102         accurate result.  Also, it avoids the use of libm functions.
29103         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
29104         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
29105         was absent, but it caused a test failure with coreutils.
29106         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
29107         with libm.
29108         * modules/strtod (Makefile.am, Link): libm is no longer needed.
29109         * modules/strtod-tests (Makefile.am): Likewise.
29110
29111 2010-07-11  Pádraig Brady  <P@draigBrady.com>
29112             Bruno Haible  <bruno@clisp.org>
29113
29114         unistr/u8-strchr: Optimize ASCII argument case.
29115         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
29116
29117 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29118
29119         (x)memcoll: minor tweaks
29120         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
29121         is after the type that it qualifies.
29122         (memcoll0): Likewise.
29123         * lib/memcoll.h (memcoll0): Likewise.
29124         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
29125         * lib/xmemcoll.h (xmemcoll0): Likewise.
29126         * lib/memcoll.c (memcoll0): Correct the comment.  This function
29127         differs from memcoll in that the NUL byte is part of the argument.
29128         Omit the abort-checks, as performance is a real issue here.  Plus,
29129         the checks were wrong anyway (an off-by-one error).  Omit local
29130         variable 'diff', as it's a bit clearer that way.
29131         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
29132         no longer needed.
29133
29134 2010-07-08  Chen Guo <chenguo4@yahoo.com>
29135
29136         (x)memcoll: speedup when input is known to be NUL delimited
29137         * lib/memcoll.c: Include stdlib.
29138         (memcoll0): New function.
29139         (strcoll_loop): New function, refactored for use in both memcoll
29140         and memcoll0.
29141         * lib/memcoll.h (memcoll0): Add prototype.
29142         * lib/xmemcoll.c (xmemcoll0): New function.
29143         (collate_error): New function, refactored for use in both xmemcoll
29144         and xmemcoll0.
29145         * lib/xmemcoll.h (xmemcoll0): Add prototype.
29146         * m4/memcoll.m4: add inline invocation.
29147
29148 2010-07-06  Pádraig Brady  <P@draigBrady.com>
29149
29150         * build-aux/bootstrap: Remove any local translations
29151         from the translation project synchronization directory,
29152         so that local only translations are not distributed.
29153
29154 2010-07-04  Bruno Haible  <bruno@clisp.org>
29155
29156         fsusage: Clarify which code applies to which platforms.
29157         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
29158         platform.
29159         * lib/fsusage.c (get_fs_usage): Likewise.
29160
29161 2010-07-04  Bruno Haible  <bruno@clisp.org>
29162
29163         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
29164         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
29165         Reported by Martin Lambers <marlam@marlam.de>.
29166
29167 2010-07-04  Jim Meyering  <meyering@redhat.com>
29168
29169         hash: once again explicitly disallow insertion of NULL
29170         * lib/hash.c (hash_insert0): Reinstate just-removed test:
29171         inserting a NULL pointer cannot work with these functions.
29172         Add a comment with details.
29173         This reverts part of the 2010-07-01 commit, 5bef1a35
29174         "hash: extend module to deal with non-pointer keys".
29175
29176 2010-07-01  Bruno Haible  <bruno@clisp.org>
29177
29178         stdbool: Update doc.
29179         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
29180         Info from Christian Weisgerber <naddy@mips.inka.de>.
29181
29182 2010-07-01  Jim Meyering  <meyering@redhat.com>
29183
29184         hash: extend module to deal with non-pointer keys
29185         * lib/hash.c (hash_insert0): New interface, much like hash_insert
29186         but that allows insertion of non-pointer entries.
29187         Do not disallow an ENTRY value of NULL.
29188         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
29189         * lib/hash.h (hash_insert0): Declare.
29190
29191 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29192
29193         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
29194         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
29195         not present (i.e. with autoconf 2.59 and when using gettextize, not
29196         gnulib), require AC_GNU_SOURCE instead.
29197
29198 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
29199
29200         idpriv-drop: Fix tests.
29201         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
29202         not to the test-idpriv-droptemp program.
29203
29204 2010-06-29  Bruno Haible  <bruno@clisp.org>
29205
29206         string: Fix syntax error with g++ 2.96.
29207         * lib/string.in.h (__pure__): Remove definition.
29208         (_GL_ATTRIBUTE_PURE): New macro.
29209         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
29210         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
29211         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29212
29213 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
29214
29215         unitypes: Fix bug introduced on 2010-05-18.
29216         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
29217
29218 2010-06-22  Eric Blake  <eblake@redhat.com>
29219
29220         memmem: slight optimization
29221         * lib/str-two-way.h (critical_factorization): Update comments.
29222         Reduce work during factorization phase.
29223         Reported by Carlos Bueno <carlos@bueno.org>.
29224
29225 2010-06-21  Bruno Haible  <bruno@clisp.org>
29226
29227         Fix HAVE_CALLOC_POSIX misnomer.
29228         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
29229         !HAVE_CALLOC_POSIX.
29230         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
29231         HAVE_CALLOC_POSIX.
29232         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
29233         instead of HAVE_CALLOC_POSIX.
29234         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
29235         HAVE_CALLOC_POSIX.
29236
29237         Use modern idiom for calloc() replacement.
29238         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
29239         AC_FUNC_CALLOC.
29240         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
29241         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
29242         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29243         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
29244         (gl_REPLACE_CALLOC): New macro.
29245
29246 2010-06-21  Bruno Haible  <bruno@clisp.org>
29247
29248         Fix HAVE_REALLOC_POSIX misnomer.
29249         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
29250         !HAVE_REALLOC_POSIX.
29251         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
29252         HAVE_REALLOC_POSIX.
29253         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
29254         instead of HAVE_REALLOC_POSIX.
29255         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
29256         HAVE_REALLOC_POSIX.
29257
29258         Use modern idiom for realloc() replacement.
29259         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
29260         AC_FUNC_REALLOC.
29261         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
29262         Autoconf's AC_FUNC_REALLOC.
29263         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29264         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
29265         (gl_REPLACE_REALLOC): New macro.
29266         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29267
29268 2010-06-21  Bruno Haible  <bruno@clisp.org>
29269
29270         Fix HAVE_MALLOC_POSIX misnomer.
29271         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
29272         !HAVE_MALLOC_POSIX.
29273         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
29274         HAVE_MALLOC_POSIX.
29275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
29276         instead of HAVE_MALLOC_POSIX.
29277         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
29278         HAVE_MALLOC_POSIX.
29279
29280         Use modern idiom for malloc() replacement.
29281         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
29282         AC_FUNC_MALLOC.
29283         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
29284         Autoconf's AC_FUNC_MALLOC.
29285         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29286         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
29287         (gl_REPLACE_MALLOC): New macro.
29288         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29289
29290 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
29291
29292         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
29293         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
29294         This macro takes 3 arguments, not 4.
29295
29296 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
29297
29298         ipv6: fix detection under mingw
29299         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
29300         in6_addr.
29301
29302 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
29303
29304         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
29305         that strtod() works when cross-compiling to a glibc version known
29306         to work.
29307
29308 2010-06-15  Bruno Haible  <bruno@clisp.org>
29309
29310         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
29311
29312 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
29313
29314         select: Correct timeout.
29315         * lib/select.c (rpl_select): Compute wait_timeout correctly.
29316
29317 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29318
29319         git-version-gen: init shell var to avoid env var influence
29320         * build-aux/git-version-gen (v): Init shell var to empty.
29321
29322 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
29323
29324         priv-set: Don't assume that priv.h exists merely because getppriv does.
29325         See Jan Andersen's bug report about AIX 5L in
29326         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
29327         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
29328         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
29329         * lib/priv-set.h: Likewise.
29330         * tests/test-priv-set.c: Likewise.
29331
29332 2010-06-13  Bruno Haible  <bruno@clisp.org>
29333
29334         relocatable: Make it easier to test whether to install wrappers.
29335         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
29336         RELOCATABLE_VIA_WRAPPER.
29337
29338 2010-06-13  Bruno Haible  <bruno@clisp.org>
29339
29340         gnulib-tool: Display specified modules and dependencies differently.
29341         * gnulib-tool (func_show_module_list): New function.
29342         (func_import, func_create_testdir): Invoke it.
29343         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29344
29345 2010-06-13  Bruno Haible  <bruno@clisp.org>
29346
29347         gnulib-tool: Align code of func_import and func_create_testdir.
29348         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29349         specified_modules.
29350
29351 2010-06-12  Jim Meyering  <meyering@redhat.com>
29352
29353         test-inttostr: avoid spurious failure on Solaris 9
29354         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29355         to accept "%ju".  Reported by Bruno Haible.
29356
29357 2010-06-11  Jim Meyering  <meyering@redhat.com>
29358
29359         test-sys_socket: mark variables as used more readably
29360         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29361         as "used" explicitly via (void) statement casts.  This is more
29362         readable than using them in an artificial return expression.
29363         Suggestion from Bruno Haible.
29364
29365 2010-06-11  Bruno Haible  <bruno@clisp.org>
29366
29367         Avoid some more warnings from "gcc -Wwrite-strings".
29368         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29369         to 'const char *'.
29370         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29371         * tests/test-c-strcasestr.c (main): Likewise.
29372         * tests/test-mbscasestr1.c (main): Likewise.
29373         * tests/test-mbscasestr2.c (main): Likewise.
29374         * tests/test-memmem.c (main): Likewise.
29375         * tests/test-strstr.c (main): Likewise.
29376         * tests/test-strcasestr.c (main): Likewise.
29377
29378 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29379
29380         init.sh: change framework_failure_ to fail with status 99, not 1
29381         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29382         automake's parallel-tests rule that this is an unexpected failure,
29383         even if the test is listed in XFAIL_TESTS.
29384
29385 2010-06-11  Jim Meyering  <meyering@redhat.com>
29386
29387         test-inttostr: avoid warnings about 4-6KB literal strings
29388         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29389         Include "macros.h", for its definition of ASSERT.
29390         (CK): s/assert/ASSERT/
29391         * modules/inttostr-tests (Files): Add macros.h.
29392
29393         init.sh: don't use $ME_ or skip_ before they are defined
29394         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29395         their first uses.  Also hoist their companions: warn_, fail_,
29396         framework_failure_, $stderr_fileno.  Prompted by a patch from
29397         Stefano Lattarini.
29398
29399         test-sys_socket: avoid set-but-not-used warnings from gcc
29400         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
29401         avoid warning about set-but-not-used variables.
29402
29403         test-xvasprintf: avoid 'const' discard warnings
29404         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
29405         "const" when assigning from literal strings.
29406         (test_xasprintf): Add "void" in function argument list to placate
29407         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
29408
29409         tests: avoid compilation warnings in argmatch and exclude tests...
29410         in packages that define ARGMATCH_DIE_DECL, like coreutils.
29411         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
29412         Since it always exits, declare with the "noreturn" attribute.
29413         * tests/test-argmatch.c: Likewise.
29414
29415         tests: avoid 'const' discard warnings in mbsstr tests
29416         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
29417         * tests/test-mbsstr2.c (main): Likewise.
29418
29419         test-verify: avoid warning from gcc's -Wmissing-declarations
29420         * tests/test-verify.c (function): Declare to be static.
29421
29422         test-inttostr.c: include <string.h> for use of strcmp
29423         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
29424
29425         test-linkat: avoid failed assertion on "other" architectures
29426         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
29427         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
29428         sparc: https://bugs.launchpad.net/bugs/591968
29429
29430 2010-06-11  Jim Meyering  <meyering@redhat.com>
29431
29432         printf.m4: avoid autoconf's "Expanded Before Required" warning
29433         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
29434         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
29435         autoconf warning.
29436
29437 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
29438
29439         Replacement header templates are now named with ".in", not "_".
29440         * doc/gnulib-intro.texi: Correct.
29441
29442 2010-06-10  Jim Meyering  <meyering@redhat.com>
29443
29444         inttostr-tests: depend on snprintf, not snprintf-posix
29445         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
29446         snprintf-posix, to avoid this aclocal failure:
29447           missing file gnulib-tests/vasnprintf.c
29448           configure.ac:45: error: expected source file, required through \
29449           AC_LIBSOURCES, not found
29450
29451 2010-06-10  Jim Meyering  <meyering@redhat.com>
29452
29453         inttostr: add a new function, inttostr, and tests
29454         The namesake function was not available.  The existence of the
29455         template file, inttostr.c makes its addition nontrivial.
29456         * lib/anytostr.c: Rename from inttostr.c.
29457         (anytostr): Rename from inttostr.
29458         * lib/inttostr.c: New file.
29459         * modules/inttostr (Files): Add anytostr.c.
29460         (Makefile.am): Set lib_SOURCES instead of ...
29461         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
29462         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
29463         * lib/offtostr.c: Likewise.
29464         * lib/uinttostr.c: Likewise.
29465         * lib/umaxtostr.c: Likewise.
29466         * modules/inttostr-tests: New file.
29467         * tests/test-inttostr.c: New file.  Test these functions.
29468
29469 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
29470             Bruno Haible  <bruno@clisp.org>
29471
29472         Add "Extending Gnulib" chapter to manual.
29473         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
29474         chapter.
29475         (Extending Gnulib): New chapter.
29476         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
29477         chapter.
29478
29479 2010-06-09  Bruno Haible  <bruno@clisp.org>
29480
29481         Avoid relocwrapper link errors due to gnulib replacement functions.
29482         * lib/areadlink.c: Use the system's malloc, realloc functions.
29483         (areadlink): Set errno to ENOMEM explicitly.
29484         * modules/areadlink (Depends-on): Remove malloc-posix.
29485         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29486
29487 2010-06-09  Bruno Haible  <bruno@clisp.org>
29488
29489         Avoid relocwrapper link errors due to gnulib replacement functions.
29490         * lib/canonicalize-lgpl.c: Use the system's malloc function.
29491         * lib/malloca.c: Likewise.
29492         * lib/relocatable.c: Likewise.
29493         * lib/progreloc.c: Use the system's malloc, sprintf functions.
29494         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
29495         * lib/setenv.c: Use the system's malloc, realloc functions.
29496         * lib/strerror.c: Use the system's sprintf function.
29497         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29498
29499 2010-06-04  Bruno Haible  <bruno@clisp.org>
29500
29501         Prefer documented low-level autoconf macro names.
29502         * m4/lib-link.m4: Use m4_translit instead of translit.
29503         * m4/environ.m4: Likewise.
29504         * m4/mathfunc.m4: Likewise.
29505         * m4/onceonly.m4: Likewise.
29506         * m4/stdint.m4: Likewise.
29507         Suggested by Eric Blake.
29508
29509 2010-06-04  Martin Lambers  <marlam@marlam.de>
29510             Bruno Haible  <bruno@clisp.org>
29511
29512         havelib: Allow library names with '+' characters.
29513         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29514         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
29515
29516 2010-06-09  Bruno Haible  <bruno@clisp.org>
29517
29518         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
29519         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
29520         realloc failed.
29521
29522 2010-06-08  Peter Simons  <simons@cryp.to>
29523
29524         maint.mk: make the news-check rule more configurable
29525         * top/maint.mk (news-check-lines-spec): New variable.
29526         (news-check): Use "sed -n 1,10p" in place of "head".
29527
29528 2010-06-07  Jim Meyering  <meyering@redhat.com>
29529
29530         do-release-commit-and-tag: fix typo in --help
29531         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
29532
29533         regex: avoid new dead-code warning with gcc-4.6.0
29534         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
29535         if-block containing a while-loop.  It's been unused for at least
29536         5 years.
29537
29538 2010-06-05  Bruno Haible  <bruno@clisp.org>
29539
29540         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
29541         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
29542
29543 2010-06-04  Bruno Haible  <bruno@clisp.org>
29544
29545         Update to GNU gettext 0.18.1.
29546         * modules/gettext (configure.ac): Require gettext infrastructure from
29547         version 0.18.1.
29548
29549 2010-06-03  Bruno Haible  <bruno@clisp.org>
29550
29551         Don't use AC_LIBOBJ with file names in subdirectories.
29552         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
29553         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
29554         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
29555         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
29556         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
29557         gl_LIBUNISTRING_LIBSOURCE.
29558         (Makefile.am): Augment lib_SOURCES here, conditionally.
29559         * NEWS: Drop requirement for Automake option 'subdir-objects'.
29560
29561 2010-06-03  Bruno Haible  <bruno@clisp.org>
29562
29563         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
29564         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
29565         expansion does not end with a newline.
29566         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
29567         unnecessary newline.
29568
29569 2010-06-03  Bruno Haible  <bruno@clisp.org>
29570
29571         Reduce dependencies.
29572         * tests/test-quotearg.h: New file, extracted from
29573         tests/test-quotearg.c.
29574         * tests/test-quotearg-simple.c: New file, extracted from
29575         tests/test-quotearg.c.
29576         * tests/test-quotearg.c: Don't include <ctype.h>.
29577         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
29578         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
29579         use_quote_double_quotes, use_quotearg_colon): Moved to
29580         tests/test-quotearg.h.
29581         (results_g, flag_results, custom_quotes, custom_results): Moved
29582         to tests/test-quotearg-simple.c.
29583         (main): Moved the part that does not depend on gettext to
29584         tests/test-quotearg-simple.c. Return 77 if the test cannot be
29585         performed.
29586         * modules/quotearg-simple: New file.
29587         * modules/quotearg-simple-tests: New file.
29588         * modules/quotearg (Depends-on): Add quotearg-simple.
29589         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
29590         (Files): Add tests/test-quotearg.h.
29591         Reported by Paolo Bonzini.
29592
29593 2010-06-03  Bruno Haible  <bruno@clisp.org>
29594
29595         Reduce dependencies.
29596         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
29597
29598 2010-06-03  Bruno Haible  <bruno@clisp.org>
29599
29600         time: Undefine more broken macros.
29601         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
29602         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
29603         Reported by Eric Blake.
29604
29605 2010-06-03  Bruno Haible  <bruno@clisp.org>
29606
29607         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
29608         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
29609         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
29610         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
29611         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
29612         Reported by Ludovic Courtès <ludo@gnu.org>.
29613
29614 2010-06-02  Eric Blake  <eblake@redhat.com>
29615
29616         time: work with mingw + pthreads-win32 library
29617         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
29618         if timespec is defined only in pthread.h.
29619         * modules/time (Makefile.am): Substitute it.
29620         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
29621         <pthread.h>, when needed.
29622         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
29623         from the library.
29624
29625 2010-05-31  Bruno Haible  <bruno@clisp.org>
29626
29627         Avoid expanding two macros in the wrong order.
29628         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
29629         gl_LIBUNISTRING if it is defined.
29630         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
29631         autoconf >= 2.64.
29632         Reported by Ludovic Courtès <ludo@gnu.org>.
29633
29634 2010-05-27  Jim Meyering  <meyering@redhat.com>
29635
29636         maint.mk: also prohibit "#undef" of always-defined symbols
29637         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
29638         Allow more than one space before the symbol name.
29639         (sc_prohibit_always-defined_macros): Use grep's -E, now that
29640         the regexp uses alternation.
29641
29642 2010-05-26  Eric Blake  <eblake@redhat.com>
29643
29644         maint.mk: avoid echo -e
29645         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
29646         Convert all uses of echo -* to printf.
29647         Reported by Matthias Bolte.
29648
29649 2010-05-25  Bruno Haible  <bruno@clisp.org>
29650
29651         Update to GNU gettext 0.18, part 2.
29652         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
29653         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
29654
29655 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29656
29657         Add missing include in test-pwrite.c.
29658         * tests/test-pwrite.c: Include string.h, for strcmp.
29659
29660 2010-05-24  Bruno Haible  <bruno@clisp.org>
29661
29662         * NEWS: Mention requirement for Automake option 'subdir-objects'.
29663
29664 2010-05-24  Bruno Haible  <bruno@clisp.org>
29665
29666         Don't use conversion with transliteration in u{8,16,32}_strcoll.
29667         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
29668         iconveh_error argument.
29669         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
29670         U_STRCONV_TO_LOCALE.
29671         * lib/unistr/u16-strcoll.c: Likewise.
29672         * lib/unistr/u32-strcoll.c: Likewise.
29673         * modules/unistr/u8-strcoll (Depends-on): Add
29674         uniconv/u8-strconv-to-enc, localcharset. Remove
29675         uniconv/u8-strconv-to-locale.
29676         (configure.ac): Bump version number.
29677         * modules/unistr/u16-strcoll (Depends-on): Add
29678         uniconv/u16-strconv-to-enc, localcharset. Remove
29679         uniconv/u16-strconv-to-locale.
29680         (configure.ac): Bump version number.
29681         * modules/unistr/u32-strcoll (Depends-on): Add
29682         uniconv/u32-strconv-to-enc, localcharset. Remove
29683         uniconv/u32-strconv-to-locale.
29684         (configure.ac): Bump version number.
29685
29686 2010-05-24  Bruno Haible  <bruno@clisp.org>
29687
29688         Avoid a test failure on NetBSD 5.0.
29689         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
29690         an iconv() bug.
29691
29692 2010-05-24  Bruno Haible  <bruno@clisp.org>
29693
29694         Adjust #include directive style.
29695         * modules/regex (Includes): Recommend to write <regex.h>.
29696
29697 2010-05-24  Bruno Haible  <bruno@clisp.org>
29698
29699         regex: Don't require alloca.
29700         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
29701         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
29702         only inside if (0).
29703
29704 2010-05-23  Jim Meyering  <meyering@redhat.com>
29705
29706         test-renameat.c: include <sys/stat.h>
29707         * tests/test-renameat.c: Include <sys/stat.h>; required for
29708         definition of S_IS* macros.
29709
29710 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
29711
29712         Update maintainer documentation for 'relocatable-prog' module.
29713         * doc/relocatable-maint.texi: Update.
29714         Comments by Bruno Haible.
29715
29716 2010-05-23  Bruno Haible  <bruno@clisp.org>
29717
29718         git-merge-changelog: Enable --split-merged-entry by default.
29719         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
29720         (usage): Don't mention this option any more.
29721         Reported by Ralf Wildenhues.
29722
29723 2010-05-23  Jim Meyering  <meyering@redhat.com>
29724
29725         test-pwrite: do not leave behind a test file named "out"
29726         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
29727         The trivial-looking use of init.sh is really necessary.
29728         It ensures that the temporary file, "out", is created in
29729         a temporary directory, and removed upon termination.
29730         * tests/test-pwrite.sh: Re-add file.
29731         * modules/pwrite-tests: Reference it.
29732
29733 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29734
29735         Fix output redirection buglet in init.sh.
29736         * tests/init.sh: Fix redirection of stderr.
29737
29738 2010-05-20  Simon Josefsson  <simon@josefsson.org>
29739
29740         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
29741
29742 2010-05-17  Simon Josefsson  <simon@josefsson.org>
29743
29744         * modules/valgrind-tests: New file.
29745         * m4/valgrind-tests.m4: New file.
29746         * doc/valgrind-tests.texi: New file.
29747         * doc/gnulib.texi (Running self-tests under valgrind): New
29748         section.
29749
29750 2010-05-19  Bruno Haible  <bruno@clisp.org>
29751
29752         Clean up dead code in recent commit.
29753         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
29754         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
29755         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
29756         Suggested by Paolo Bonzini.
29757
29758 2010-05-19  Bruno Haible  <bruno@clisp.org>
29759
29760         Avoid valgrind error reports from libunistring.
29761         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
29762         * modules/libunistring (Files): Add it.
29763         * modules/libunistring-optional (Files): Likewise.
29764
29765 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
29766             Bruno Haible  <bruno@clisp.org>
29767
29768         New module 'libunistring-optional'.
29769         * modules/libunistring-optional: New file.
29770         * m4/libunistring-base.m4: New file.
29771         * m4/libunistring-optional.m4: New file.
29772         * lib/unicase.in.h: Renamed from lib/unicase.h.
29773         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29774         * lib/unictype.in.h: Renamed from lib/unictype.h.
29775         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29776         * lib/uniname.in.h: Renamed from lib/uniname.h.
29777         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29778         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29779         * lib/unistr.in.h: Renamed from lib/unistr.h.
29780         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29781         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29782         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29783         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29784         gl_LIBUNISTRING. If the library was found, determine the installed
29785         version and set LIBUNISTRING_VERSION.
29786         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29787         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29788         handle a configuration option --with-included-libunistring.
29789         * modules/libunistring (Files): Add m4/absolute-header.m4.
29790         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29791         Add m4/libunistring-base.m4.
29792         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29793         (Makefile.am): Build unicase.h from unicase.in.h.
29794         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29795         Add m4/libunistring-base.m4.
29796         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29797         (Makefile.am): Build uniconv.h from uniconv.in.h.
29798         * modules/unictype/base (Files): Use unictype.in.h instead of
29799         unictype.h. Add m4/libunistring-base.m4.
29800         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29801         (Makefile.am): Build unictype.h from unictype.in.h.
29802         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29803         Add m4/libunistring-base.m4.
29804         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29805         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29806         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29807         Add m4/libunistring-base.m4.
29808         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29809         (Makefile.am): Build uniname.h from uniname.in.h.
29810         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29811         Add m4/libunistring-base.m4.
29812         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29813         (Makefile.am): Build uninorm.h from uninorm.in.h.
29814         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29815         unistdio.h. Add m4/libunistring-base.m4.
29816         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29817         (Makefile.am): Build unistdio.h from unistdio.in.h.
29818         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29819         Add m4/libunistring-base.m4.
29820         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29821         (Makefile.am): Build unistr.h from unistr.in.h.
29822         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29823         Add m4/libunistring-base.m4.
29824         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29825         (Makefile.am): Build unitypes.h from unitypes.in.h.
29826         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29827         Add m4/libunistring-base.m4.
29828         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29829         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29830         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29831         uniwidth.h. Add m4/libunistring-base.m4.
29832         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29833         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29834         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29835         instead of augmenting lib_SOURCES.
29836         * modules/unicase/empty-suffix-context: Likewise.
29837         * modules/unicase/locale-language: Likewise.
29838         * modules/unicase/tolower: Likewise.
29839         * modules/unicase/totitle: Likewise.
29840         * modules/unicase/toupper: Likewise.
29841         * modules/unicase/u8-casecmp: Likewise.
29842         * modules/unicase/u8-casecoll: Likewise.
29843         * modules/unicase/u8-casefold: Likewise.
29844         * modules/unicase/u8-casexfrm: Likewise.
29845         * modules/unicase/u8-ct-casefold: Likewise.
29846         * modules/unicase/u8-ct-tolower: Likewise.
29847         * modules/unicase/u8-ct-totitle: Likewise.
29848         * modules/unicase/u8-ct-toupper: Likewise.
29849         * modules/unicase/u8-is-cased: Likewise.
29850         * modules/unicase/u8-is-casefolded: Likewise.
29851         * modules/unicase/u8-is-lowercase: Likewise.
29852         * modules/unicase/u8-is-titlecase: Likewise.
29853         * modules/unicase/u8-is-uppercase: Likewise.
29854         * modules/unicase/u8-prefix-context: Likewise.
29855         * modules/unicase/u8-suffix-context: Likewise.
29856         * modules/unicase/u8-tolower: Likewise.
29857         * modules/unicase/u8-totitle: Likewise.
29858         * modules/unicase/u8-toupper: Likewise.
29859         * modules/unicase/u16-casecmp: Likewise.
29860         * modules/unicase/u16-casecoll: Likewise.
29861         * modules/unicase/u16-casefold: Likewise.
29862         * modules/unicase/u16-casexfrm: Likewise.
29863         * modules/unicase/u16-ct-casefold: Likewise.
29864         * modules/unicase/u16-ct-tolower: Likewise.
29865         * modules/unicase/u16-ct-totitle: Likewise.
29866         * modules/unicase/u16-ct-toupper: Likewise.
29867         * modules/unicase/u16-is-cased: Likewise.
29868         * modules/unicase/u16-is-casefolded: Likewise.
29869         * modules/unicase/u16-is-lowercase: Likewise.
29870         * modules/unicase/u16-is-titlecase: Likewise.
29871         * modules/unicase/u16-is-uppercase: Likewise.
29872         * modules/unicase/u16-prefix-context: Likewise.
29873         * modules/unicase/u16-suffix-context: Likewise.
29874         * modules/unicase/u16-tolower: Likewise.
29875         * modules/unicase/u16-totitle: Likewise.
29876         * modules/unicase/u16-toupper: Likewise.
29877         * modules/unicase/u32-casecmp: Likewise.
29878         * modules/unicase/u32-casecoll: Likewise.
29879         * modules/unicase/u32-casefold: Likewise.
29880         * modules/unicase/u32-casexfrm: Likewise.
29881         * modules/unicase/u32-ct-casefold: Likewise.
29882         * modules/unicase/u32-ct-tolower: Likewise.
29883         * modules/unicase/u32-ct-totitle: Likewise.
29884         * modules/unicase/u32-ct-toupper: Likewise.
29885         * modules/unicase/u32-is-cased: Likewise.
29886         * modules/unicase/u32-is-casefolded: Likewise.
29887         * modules/unicase/u32-is-lowercase: Likewise.
29888         * modules/unicase/u32-is-titlecase: Likewise.
29889         * modules/unicase/u32-is-uppercase: Likewise.
29890         * modules/unicase/u32-prefix-context: Likewise.
29891         * modules/unicase/u32-suffix-context: Likewise.
29892         * modules/unicase/u32-tolower: Likewise.
29893         * modules/unicase/u32-totitle: Likewise.
29894         * modules/unicase/u32-toupper: Likewise.
29895         * modules/unicase/ulc-casecmp: Likewise.
29896         * modules/unicase/ulc-casecoll: Likewise.
29897         * modules/unicase/ulc-casexfrm: Likewise.
29898         * modules/uniconv/u8-conv-from-enc: Likewise.
29899         * modules/uniconv/u8-conv-to-enc: Likewise.
29900         * modules/uniconv/u8-strconv-from-enc: Likewise.
29901         * modules/uniconv/u8-strconv-from-locale: Likewise.
29902         * modules/uniconv/u8-strconv-to-enc: Likewise.
29903         * modules/uniconv/u8-strconv-to-locale: Likewise.
29904         * modules/uniconv/u16-conv-from-enc: Likewise.
29905         * modules/uniconv/u16-conv-to-enc: Likewise.
29906         * modules/uniconv/u16-strconv-from-enc: Likewise.
29907         * modules/uniconv/u16-strconv-from-locale: Likewise.
29908         * modules/uniconv/u16-strconv-to-enc: Likewise.
29909         * modules/uniconv/u16-strconv-to-locale: Likewise.
29910         * modules/uniconv/u32-conv-from-enc: Likewise.
29911         * modules/uniconv/u32-conv-to-enc: Likewise.
29912         * modules/uniconv/u32-strconv-from-enc: Likewise.
29913         * modules/uniconv/u32-strconv-from-locale: Likewise.
29914         * modules/uniconv/u32-strconv-to-enc: Likewise.
29915         * modules/uniconv/u32-strconv-to-locale: Likewise.
29916         * modules/unictype/bidicategory-byname: Likewise.
29917         * modules/unictype/bidicategory-name: Likewise.
29918         * modules/unictype/bidicategory-of: Likewise.
29919         * modules/unictype/bidicategory-test: Likewise.
29920         * modules/unictype/block-list: Likewise.
29921         * modules/unictype/block-test: Likewise.
29922         * modules/unictype/category-C: Likewise.
29923         * modules/unictype/category-Cc: Likewise.
29924         * modules/unictype/category-Cf: Likewise.
29925         * modules/unictype/category-Cn: Likewise.
29926         * modules/unictype/category-Co: Likewise.
29927         * modules/unictype/category-Cs: Likewise.
29928         * modules/unictype/category-L: Likewise.
29929         * modules/unictype/category-Ll: Likewise.
29930         * modules/unictype/category-Lm: Likewise.
29931         * modules/unictype/category-Lo: Likewise.
29932         * modules/unictype/category-Lt: Likewise.
29933         * modules/unictype/category-Lu: Likewise.
29934         * modules/unictype/category-M: Likewise.
29935         * modules/unictype/category-Mc: Likewise.
29936         * modules/unictype/category-Me: Likewise.
29937         * modules/unictype/category-Mn: Likewise.
29938         * modules/unictype/category-N: Likewise.
29939         * modules/unictype/category-Nd: Likewise.
29940         * modules/unictype/category-Nl: Likewise.
29941         * modules/unictype/category-No: Likewise.
29942         * modules/unictype/category-P: Likewise.
29943         * modules/unictype/category-Pc: Likewise.
29944         * modules/unictype/category-Pd: Likewise.
29945         * modules/unictype/category-Pe: Likewise.
29946         * modules/unictype/category-Pf: Likewise.
29947         * modules/unictype/category-Pi: Likewise.
29948         * modules/unictype/category-Po: Likewise.
29949         * modules/unictype/category-Ps: Likewise.
29950         * modules/unictype/category-S: Likewise.
29951         * modules/unictype/category-Sc: Likewise.
29952         * modules/unictype/category-Sk: Likewise.
29953         * modules/unictype/category-Sm: Likewise.
29954         * modules/unictype/category-So: Likewise.
29955         * modules/unictype/category-Z: Likewise.
29956         * modules/unictype/category-Zl: Likewise.
29957         * modules/unictype/category-Zp: Likewise.
29958         * modules/unictype/category-Zs: Likewise.
29959         * modules/unictype/category-and: Likewise.
29960         * modules/unictype/category-and-not: Likewise.
29961         * modules/unictype/category-byname: Likewise.
29962         * modules/unictype/category-name: Likewise.
29963         * modules/unictype/category-none: Likewise.
29964         * modules/unictype/category-of: Likewise.
29965         * modules/unictype/category-or: Likewise.
29966         * modules/unictype/category-test: Likewise.
29967         * modules/unictype/combining-class: Likewise.
29968         * modules/unictype/ctype-alnum: Likewise.
29969         * modules/unictype/ctype-alpha: Likewise.
29970         * modules/unictype/ctype-blank: Likewise.
29971         * modules/unictype/ctype-cntrl: Likewise.
29972         * modules/unictype/ctype-digit: Likewise.
29973         * modules/unictype/ctype-graph: Likewise.
29974         * modules/unictype/ctype-lower: Likewise.
29975         * modules/unictype/ctype-print: Likewise.
29976         * modules/unictype/ctype-punct: Likewise.
29977         * modules/unictype/ctype-space: Likewise.
29978         * modules/unictype/ctype-upper: Likewise.
29979         * modules/unictype/ctype-xdigit: Likewise.
29980         * modules/unictype/decimal-digit: Likewise.
29981         * modules/unictype/digit: Likewise.
29982         * modules/unictype/mirror: Likewise.
29983         * modules/unictype/numeric: Likewise.
29984         * modules/unictype/property-alphabetic: Likewise.
29985         * modules/unictype/property-ascii-hex-digit: Likewise.
29986         * modules/unictype/property-bidi-arabic-digit: Likewise.
29987         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29988         * modules/unictype/property-bidi-block-separator: Likewise.
29989         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29990         * modules/unictype/property-bidi-common-separator: Likewise.
29991         * modules/unictype/property-bidi-control: Likewise.
29992         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29993         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29994         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29995         * modules/unictype/property-bidi-european-digit: Likewise.
29996         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29997         * modules/unictype/property-bidi-left-to-right: Likewise.
29998         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29999         * modules/unictype/property-bidi-other-neutral: Likewise.
30000         * modules/unictype/property-bidi-pdf: Likewise.
30001         * modules/unictype/property-bidi-segment-separator: Likewise.
30002         * modules/unictype/property-bidi-whitespace: Likewise.
30003         * modules/unictype/property-byname: Likewise.
30004         * modules/unictype/property-combining: Likewise.
30005         * modules/unictype/property-composite: Likewise.
30006         * modules/unictype/property-currency-symbol: Likewise.
30007         * modules/unictype/property-dash: Likewise.
30008         * modules/unictype/property-decimal-digit: Likewise.
30009         * modules/unictype/property-default-ignorable-code-point: Likewise.
30010         * modules/unictype/property-deprecated: Likewise.
30011         * modules/unictype/property-diacritic: Likewise.
30012         * modules/unictype/property-extender: Likewise.
30013         * modules/unictype/property-format-control: Likewise.
30014         * modules/unictype/property-grapheme-base: Likewise.
30015         * modules/unictype/property-grapheme-extend: Likewise.
30016         * modules/unictype/property-grapheme-link: Likewise.
30017         * modules/unictype/property-hex-digit: Likewise.
30018         * modules/unictype/property-hyphen: Likewise.
30019         * modules/unictype/property-id-continue: Likewise.
30020         * modules/unictype/property-id-start: Likewise.
30021         * modules/unictype/property-ideographic: Likewise.
30022         * modules/unictype/property-ids-binary-operator: Likewise.
30023         * modules/unictype/property-ids-trinary-operator: Likewise.
30024         * modules/unictype/property-ignorable-control: Likewise.
30025         * modules/unictype/property-iso-control: Likewise.
30026         * modules/unictype/property-join-control: Likewise.
30027         * modules/unictype/property-left-of-pair: Likewise.
30028         * modules/unictype/property-line-separator: Likewise.
30029         * modules/unictype/property-logical-order-exception: Likewise.
30030         * modules/unictype/property-lowercase: Likewise.
30031         * modules/unictype/property-math: Likewise.
30032         * modules/unictype/property-non-break: Likewise.
30033         * modules/unictype/property-not-a-character: Likewise.
30034         * modules/unictype/property-numeric: Likewise.
30035         * modules/unictype/property-other-alphabetic: Likewise.
30036         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
30037         * modules/unictype/property-other-grapheme-extend: Likewise.
30038         * modules/unictype/property-other-id-continue: Likewise.
30039         * modules/unictype/property-other-id-start: Likewise.
30040         * modules/unictype/property-other-lowercase: Likewise.
30041         * modules/unictype/property-other-math: Likewise.
30042         * modules/unictype/property-other-uppercase: Likewise.
30043         * modules/unictype/property-paired-punctuation: Likewise.
30044         * modules/unictype/property-paragraph-separator: Likewise.
30045         * modules/unictype/property-pattern-syntax: Likewise.
30046         * modules/unictype/property-pattern-white-space: Likewise.
30047         * modules/unictype/property-private-use: Likewise.
30048         * modules/unictype/property-punctuation: Likewise.
30049         * modules/unictype/property-quotation-mark: Likewise.
30050         * modules/unictype/property-radical: Likewise.
30051         * modules/unictype/property-sentence-terminal: Likewise.
30052         * modules/unictype/property-soft-dotted: Likewise.
30053         * modules/unictype/property-space: Likewise.
30054         * modules/unictype/property-terminal-punctuation: Likewise.
30055         * modules/unictype/property-test: Likewise.
30056         * modules/unictype/property-titlecase: Likewise.
30057         * modules/unictype/property-unassigned-code-value: Likewise.
30058         * modules/unictype/property-unified-ideograph: Likewise.
30059         * modules/unictype/property-uppercase: Likewise.
30060         * modules/unictype/property-variation-selector: Likewise.
30061         * modules/unictype/property-white-space: Likewise.
30062         * modules/unictype/property-xid-continue: Likewise.
30063         * modules/unictype/property-xid-start: Likewise.
30064         * modules/unictype/property-zero-width: Likewise.
30065         * modules/unictype/scripts: Likewise.
30066         * modules/unictype/syntax-c-ident: Likewise.
30067         * modules/unictype/syntax-c-whitespace: Likewise.
30068         * modules/unictype/syntax-java-ident: Likewise.
30069         * modules/unictype/syntax-java-whitespace: Likewise.
30070         * modules/unilbrk/u8-possible-linebreaks: Likewise.
30071         * modules/unilbrk/u8-width-linebreaks: Likewise.
30072         * modules/unilbrk/u16-possible-linebreaks: Likewise.
30073         * modules/unilbrk/u16-width-linebreaks: Likewise.
30074         * modules/unilbrk/u32-possible-linebreaks: Likewise.
30075         * modules/unilbrk/u32-width-linebreaks: Likewise.
30076         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
30077         * modules/unilbrk/ulc-width-linebreaks: Likewise.
30078         * modules/uniname/uniname: Likewise.
30079         * modules/uninorm/canonical-decomposition: Likewise.
30080         * modules/uninorm/composition: Likewise.
30081         * modules/uninorm/decomposing-form: Likewise.
30082         * modules/uninorm/decomposition: Likewise.
30083         * modules/uninorm/filter: Likewise.
30084         * modules/uninorm/nfc: Likewise.
30085         * modules/uninorm/nfd: Likewise.
30086         * modules/uninorm/nfkc: Likewise.
30087         * modules/uninorm/nfkd: Likewise.
30088         * modules/uninorm/u8-normalize: Likewise.
30089         * modules/uninorm/u8-normcmp: Likewise.
30090         * modules/uninorm/u8-normcoll: Likewise.
30091         * modules/uninorm/u8-normxfrm: Likewise.
30092         * modules/uninorm/u16-normalize: Likewise.
30093         * modules/uninorm/u16-normcmp: Likewise.
30094         * modules/uninorm/u16-normcoll: Likewise.
30095         * modules/uninorm/u16-normxfrm: Likewise.
30096         * modules/uninorm/u32-normalize: Likewise.
30097         * modules/uninorm/u32-normcmp: Likewise.
30098         * modules/uninorm/u32-normcoll: Likewise.
30099         * modules/uninorm/u32-normxfrm: Likewise.
30100         * modules/unistdio/u8-asnprintf: Likewise.
30101         * modules/unistdio/u8-asprintf: Likewise.
30102         * modules/unistdio/u8-snprintf: Likewise.
30103         * modules/unistdio/u8-sprintf: Likewise.
30104         * modules/unistdio/u8-u8-asnprintf: Likewise.
30105         * modules/unistdio/u8-u8-asprintf: Likewise.
30106         * modules/unistdio/u8-u8-snprintf: Likewise.
30107         * modules/unistdio/u8-u8-sprintf: Likewise.
30108         * modules/unistdio/u8-u8-vasnprintf: Likewise.
30109         * modules/unistdio/u8-u8-vasprintf: Likewise.
30110         * modules/unistdio/u8-u8-vsnprintf: Likewise.
30111         * modules/unistdio/u8-u8-vsprintf: Likewise.
30112         * modules/unistdio/u8-vasnprintf: Likewise.
30113         * modules/unistdio/u8-vasprintf: Likewise.
30114         * modules/unistdio/u8-vsnprintf: Likewise.
30115         * modules/unistdio/u8-vsprintf: Likewise.
30116         * modules/unistdio/u16-asnprintf: Likewise.
30117         * modules/unistdio/u16-asprintf: Likewise.
30118         * modules/unistdio/u16-snprintf: Likewise.
30119         * modules/unistdio/u16-sprintf: Likewise.
30120         * modules/unistdio/u16-u16-asnprintf: Likewise.
30121         * modules/unistdio/u16-u16-asprintf: Likewise.
30122         * modules/unistdio/u16-u16-snprintf: Likewise.
30123         * modules/unistdio/u16-u16-sprintf: Likewise.
30124         * modules/unistdio/u16-u16-vasnprintf: Likewise.
30125         * modules/unistdio/u16-u16-vasprintf: Likewise.
30126         * modules/unistdio/u16-u16-vsnprintf: Likewise.
30127         * modules/unistdio/u16-u16-vsprintf: Likewise.
30128         * modules/unistdio/u16-vasnprintf: Likewise.
30129         * modules/unistdio/u16-vasprintf: Likewise.
30130         * modules/unistdio/u16-vsnprintf: Likewise.
30131         * modules/unistdio/u16-vsprintf: Likewise.
30132         * modules/unistdio/u32-asnprintf: Likewise.
30133         * modules/unistdio/u32-asprintf: Likewise.
30134         * modules/unistdio/u32-snprintf: Likewise.
30135         * modules/unistdio/u32-sprintf: Likewise.
30136         * modules/unistdio/u32-u32-asnprintf: Likewise.
30137         * modules/unistdio/u32-u32-asprintf: Likewise.
30138         * modules/unistdio/u32-u32-snprintf: Likewise.
30139         * modules/unistdio/u32-u32-sprintf: Likewise.
30140         * modules/unistdio/u32-u32-vasnprintf: Likewise.
30141         * modules/unistdio/u32-u32-vasprintf: Likewise.
30142         * modules/unistdio/u32-u32-vsnprintf: Likewise.
30143         * modules/unistdio/u32-u32-vsprintf: Likewise.
30144         * modules/unistdio/u32-vasnprintf: Likewise.
30145         * modules/unistdio/u32-vasprintf: Likewise.
30146         * modules/unistdio/u32-vsnprintf: Likewise.
30147         * modules/unistdio/u32-vsprintf: Likewise.
30148         * modules/unistdio/ulc-asnprintf: Likewise.
30149         * modules/unistdio/ulc-asprintf: Likewise.
30150         * modules/unistdio/ulc-fprintf: Likewise.
30151         * modules/unistdio/ulc-snprintf: Likewise.
30152         * modules/unistdio/ulc-sprintf: Likewise.
30153         * modules/unistdio/ulc-vasnprintf: Likewise.
30154         * modules/unistdio/ulc-vasprintf: Likewise.
30155         * modules/unistdio/ulc-vfprintf: Likewise.
30156         * modules/unistdio/ulc-vsnprintf: Likewise.
30157         * modules/unistdio/ulc-vsprintf: Likewise.
30158         * modules/unistr/u8-check: Likewise.
30159         * modules/unistr/u8-chr: Likewise.
30160         * modules/unistr/u8-cmp: Likewise.
30161         * modules/unistr/u8-cmp2: Likewise.
30162         * modules/unistr/u8-cpy: Likewise.
30163         * modules/unistr/u8-cpy-alloc: Likewise.
30164         * modules/unistr/u8-endswith: Likewise.
30165         * modules/unistr/u8-mblen: Likewise.
30166         * modules/unistr/u8-mbsnlen: Likewise.
30167         * modules/unistr/u8-mbtouc: Likewise.
30168         * modules/unistr/u8-mbtouc-unsafe: Likewise.
30169         * modules/unistr/u8-mbtoucr: Likewise.
30170         * modules/unistr/u8-move: Likewise.
30171         * modules/unistr/u8-next: Likewise.
30172         * modules/unistr/u8-prev: Likewise.
30173         * modules/unistr/u8-set: Likewise.
30174         * modules/unistr/u8-startswith: Likewise.
30175         * modules/unistr/u8-stpcpy: Likewise.
30176         * modules/unistr/u8-stpncpy: Likewise.
30177         * modules/unistr/u8-strcat: Likewise.
30178         * modules/unistr/u8-strchr: Likewise.
30179         * modules/unistr/u8-strcmp: Likewise.
30180         * modules/unistr/u8-strcoll: Likewise.
30181         * modules/unistr/u8-strcpy: Likewise.
30182         * modules/unistr/u8-strcspn: Likewise.
30183         * modules/unistr/u8-strdup: Likewise.
30184         * modules/unistr/u8-strlen: Likewise.
30185         * modules/unistr/u8-strmblen: Likewise.
30186         * modules/unistr/u8-strmbtouc: Likewise.
30187         * modules/unistr/u8-strncat: Likewise.
30188         * modules/unistr/u8-strncmp: Likewise.
30189         * modules/unistr/u8-strncpy: Likewise.
30190         * modules/unistr/u8-strnlen: Likewise.
30191         * modules/unistr/u8-strpbrk: Likewise.
30192         * modules/unistr/u8-strrchr: Likewise.
30193         * modules/unistr/u8-strspn: Likewise.
30194         * modules/unistr/u8-strstr: Likewise.
30195         * modules/unistr/u8-strtok: Likewise.
30196         * modules/unistr/u8-to-u16: Likewise.
30197         * modules/unistr/u8-to-u32: Likewise.
30198         * modules/unistr/u8-uctomb: Likewise.
30199         * modules/unistr/u16-check: Likewise.
30200         * modules/unistr/u16-chr: Likewise.
30201         * modules/unistr/u16-cmp: Likewise.
30202         * modules/unistr/u16-cmp2: Likewise.
30203         * modules/unistr/u16-cpy: Likewise.
30204         * modules/unistr/u16-cpy-alloc: Likewise.
30205         * modules/unistr/u16-endswith: Likewise.
30206         * modules/unistr/u16-mblen: Likewise.
30207         * modules/unistr/u16-mbsnlen: Likewise.
30208         * modules/unistr/u16-mbtouc: Likewise.
30209         * modules/unistr/u16-mbtouc-unsafe: Likewise.
30210         * modules/unistr/u16-mbtoucr: Likewise.
30211         * modules/unistr/u16-move: Likewise.
30212         * modules/unistr/u16-next: Likewise.
30213         * modules/unistr/u16-prev: Likewise.
30214         * modules/unistr/u16-set: Likewise.
30215         * modules/unistr/u16-startswith: Likewise.
30216         * modules/unistr/u16-stpcpy: Likewise.
30217         * modules/unistr/u16-stpncpy: Likewise.
30218         * modules/unistr/u16-strcat: Likewise.
30219         * modules/unistr/u16-strchr: Likewise.
30220         * modules/unistr/u16-strcmp: Likewise.
30221         * modules/unistr/u16-strcoll: Likewise.
30222         * modules/unistr/u16-strcpy: Likewise.
30223         * modules/unistr/u16-strcspn: Likewise.
30224         * modules/unistr/u16-strdup: Likewise.
30225         * modules/unistr/u16-strlen: Likewise.
30226         * modules/unistr/u16-strmblen: Likewise.
30227         * modules/unistr/u16-strmbtouc: Likewise.
30228         * modules/unistr/u16-strncat: Likewise.
30229         * modules/unistr/u16-strncmp: Likewise.
30230         * modules/unistr/u16-strncpy: Likewise.
30231         * modules/unistr/u16-strnlen: Likewise.
30232         * modules/unistr/u16-strpbrk: Likewise.
30233         * modules/unistr/u16-strrchr: Likewise.
30234         * modules/unistr/u16-strspn: Likewise.
30235         * modules/unistr/u16-strstr: Likewise.
30236         * modules/unistr/u16-strtok: Likewise.
30237         * modules/unistr/u16-to-u32: Likewise.
30238         * modules/unistr/u16-to-u8: Likewise.
30239         * modules/unistr/u16-uctomb: Likewise.
30240         * modules/unistr/u32-check: Likewise.
30241         * modules/unistr/u32-chr: Likewise.
30242         * modules/unistr/u32-cmp: Likewise.
30243         * modules/unistr/u32-cmp2: Likewise.
30244         * modules/unistr/u32-cpy: Likewise.
30245         * modules/unistr/u32-cpy-alloc: Likewise.
30246         * modules/unistr/u32-endswith: Likewise.
30247         * modules/unistr/u32-mblen: Likewise.
30248         * modules/unistr/u32-mbsnlen: Likewise.
30249         * modules/unistr/u32-mbtouc: Likewise.
30250         * modules/unistr/u32-mbtouc-unsafe: Likewise.
30251         * modules/unistr/u32-mbtoucr: Likewise.
30252         * modules/unistr/u32-move: Likewise.
30253         * modules/unistr/u32-next: Likewise.
30254         * modules/unistr/u32-prev: Likewise.
30255         * modules/unistr/u32-set: Likewise.
30256         * modules/unistr/u32-startswith: Likewise.
30257         * modules/unistr/u32-stpcpy: Likewise.
30258         * modules/unistr/u32-stpncpy: Likewise.
30259         * modules/unistr/u32-strcat: Likewise.
30260         * modules/unistr/u32-strchr: Likewise.
30261         * modules/unistr/u32-strcmp: Likewise.
30262         * modules/unistr/u32-strcoll: Likewise.
30263         * modules/unistr/u32-strcpy: Likewise.
30264         * modules/unistr/u32-strcspn: Likewise.
30265         * modules/unistr/u32-strdup: Likewise.
30266         * modules/unistr/u32-strlen: Likewise.
30267         * modules/unistr/u32-strmblen: Likewise.
30268         * modules/unistr/u32-strmbtouc: Likewise.
30269         * modules/unistr/u32-strncat: Likewise.
30270         * modules/unistr/u32-strncmp: Likewise.
30271         * modules/unistr/u32-strncpy: Likewise.
30272         * modules/unistr/u32-strnlen: Likewise.
30273         * modules/unistr/u32-strpbrk: Likewise.
30274         * modules/unistr/u32-strrchr: Likewise.
30275         * modules/unistr/u32-strspn: Likewise.
30276         * modules/unistr/u32-strstr: Likewise.
30277         * modules/unistr/u32-strtok: Likewise.
30278         * modules/unistr/u32-to-u16: Likewise.
30279         * modules/unistr/u32-to-u8: Likewise.
30280         * modules/unistr/u32-uctomb: Likewise.
30281         * modules/uniwbrk/u8-wordbreaks: Likewise.
30282         * modules/uniwbrk/u16-wordbreaks: Likewise.
30283         * modules/uniwbrk/u32-wordbreaks: Likewise.
30284         * modules/uniwbrk/ulc-wordbreaks: Likewise.
30285         * modules/uniwbrk/wordbreak-property: Likewise.
30286         * modules/uniwidth/u8-strwidth: Likewise.
30287         * modules/uniwidth/u8-width: Likewise.
30288         * modules/uniwidth/u16-strwidth: Likewise.
30289         * modules/uniwidth/u16-width: Likewise.
30290         * modules/uniwidth/u32-strwidth: Likewise.
30291         * modules/uniwidth/u32-width: Likewise.
30292         * modules/uniwidth/width: Likewise.
30293         * modules/unicase/cased-tests (Makefile.am): Link all test programs
30294         with $(LIBUNISTRING).
30295         * modules/unicase/ignorable-tests: Likewise.
30296         * modules/unicase/locale-language-tests: Likewise.
30297         * modules/unicase/tolower-tests: Likewise.
30298         * modules/unicase/totitle-tests: Likewise.
30299         * modules/unicase/toupper-tests: Likewise.
30300         * modules/unicase/u8-casecmp-tests: Likewise.
30301         * modules/unicase/u8-casecoll-tests: Likewise.
30302         * modules/unicase/u8-casefold-tests: Likewise.
30303         * modules/unicase/u8-is-cased-tests: Likewise.
30304         * modules/unicase/u8-is-casefolded-tests: Likewise.
30305         * modules/unicase/u8-is-lowercase-tests: Likewise.
30306         * modules/unicase/u8-is-titlecase-tests: Likewise.
30307         * modules/unicase/u8-is-uppercase-tests: Likewise.
30308         * modules/unicase/u8-tolower-tests: Likewise.
30309         * modules/unicase/u8-totitle-tests: Likewise.
30310         * modules/unicase/u8-toupper-tests: Likewise.
30311         * modules/unicase/u16-casecmp-tests: Likewise.
30312         * modules/unicase/u16-casecoll-tests: Likewise.
30313         * modules/unicase/u16-casefold-tests: Likewise.
30314         * modules/unicase/u16-is-cased-tests: Likewise.
30315         * modules/unicase/u16-is-casefolded-tests: Likewise.
30316         * modules/unicase/u16-is-lowercase-tests: Likewise.
30317         * modules/unicase/u16-is-titlecase-tests: Likewise.
30318         * modules/unicase/u16-is-uppercase-tests: Likewise.
30319         * modules/unicase/u16-tolower-tests: Likewise.
30320         * modules/unicase/u16-totitle-tests: Likewise.
30321         * modules/unicase/u16-toupper-tests: Likewise.
30322         * modules/unicase/u32-casecmp-tests: Likewise.
30323         * modules/unicase/u32-casecoll-tests: Likewise.
30324         * modules/unicase/u32-casefold-tests: Likewise.
30325         * modules/unicase/u32-is-cased-tests: Likewise.
30326         * modules/unicase/u32-is-casefolded-tests: Likewise.
30327         * modules/unicase/u32-is-lowercase-tests: Likewise.
30328         * modules/unicase/u32-is-titlecase-tests: Likewise.
30329         * modules/unicase/u32-is-uppercase-tests: Likewise.
30330         * modules/unicase/u32-tolower-tests: Likewise.
30331         * modules/unicase/u32-totitle-tests: Likewise.
30332         * modules/unicase/u32-toupper-tests: Likewise.
30333         * modules/unicase/ulc-casecmp-tests: Likewise.
30334         * modules/unicase/ulc-casecoll-tests: Likewise.
30335         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
30336         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
30337         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
30338         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
30339         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
30340         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
30341         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
30342         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
30343         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30344         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30345         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30346         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30347         * modules/unictype/bidicategory-byname-tests: Likewise.
30348         * modules/unictype/bidicategory-name-tests: Likewise.
30349         * modules/unictype/bidicategory-of-tests: Likewise.
30350         * modules/unictype/bidicategory-test-tests: Likewise.
30351         * modules/unictype/block-list-tests: Likewise.
30352         * modules/unictype/block-of-tests: Likewise.
30353         * modules/unictype/block-test-tests: Likewise.
30354         * modules/unictype/category-C-tests: Likewise.
30355         * modules/unictype/category-Cc-tests: Likewise.
30356         * modules/unictype/category-Cf-tests: Likewise.
30357         * modules/unictype/category-Cn-tests: Likewise.
30358         * modules/unictype/category-Co-tests: Likewise.
30359         * modules/unictype/category-Cs-tests: Likewise.
30360         * modules/unictype/category-L-tests: Likewise.
30361         * modules/unictype/category-Ll-tests: Likewise.
30362         * modules/unictype/category-Lm-tests: Likewise.
30363         * modules/unictype/category-Lo-tests: Likewise.
30364         * modules/unictype/category-Lt-tests: Likewise.
30365         * modules/unictype/category-Lu-tests: Likewise.
30366         * modules/unictype/category-M-tests: Likewise.
30367         * modules/unictype/category-Mc-tests: Likewise.
30368         * modules/unictype/category-Me-tests: Likewise.
30369         * modules/unictype/category-Mn-tests: Likewise.
30370         * modules/unictype/category-N-tests: Likewise.
30371         * modules/unictype/category-Nd-tests: Likewise.
30372         * modules/unictype/category-Nl-tests: Likewise.
30373         * modules/unictype/category-No-tests: Likewise.
30374         * modules/unictype/category-P-tests: Likewise.
30375         * modules/unictype/category-Pc-tests: Likewise.
30376         * modules/unictype/category-Pd-tests: Likewise.
30377         * modules/unictype/category-Pe-tests: Likewise.
30378         * modules/unictype/category-Pf-tests: Likewise.
30379         * modules/unictype/category-Pi-tests: Likewise.
30380         * modules/unictype/category-Po-tests: Likewise.
30381         * modules/unictype/category-Ps-tests: Likewise.
30382         * modules/unictype/category-S-tests: Likewise.
30383         * modules/unictype/category-Sc-tests: Likewise.
30384         * modules/unictype/category-Sk-tests: Likewise.
30385         * modules/unictype/category-Sm-tests: Likewise.
30386         * modules/unictype/category-So-tests: Likewise.
30387         * modules/unictype/category-Z-tests: Likewise.
30388         * modules/unictype/category-Zl-tests: Likewise.
30389         * modules/unictype/category-Zp-tests: Likewise.
30390         * modules/unictype/category-Zs-tests: Likewise.
30391         * modules/unictype/category-and-not-tests: Likewise.
30392         * modules/unictype/category-and-tests: Likewise.
30393         * modules/unictype/category-byname-tests: Likewise.
30394         * modules/unictype/category-name-tests: Likewise.
30395         * modules/unictype/category-none-tests: Likewise.
30396         * modules/unictype/category-of-tests: Likewise.
30397         * modules/unictype/category-or-tests: Likewise.
30398         * modules/unictype/category-test-withtable-tests: Likewise.
30399         * modules/unictype/combining-class-tests: Likewise.
30400         * modules/unictype/ctype-alnum-tests: Likewise.
30401         * modules/unictype/ctype-alpha-tests: Likewise.
30402         * modules/unictype/ctype-blank-tests: Likewise.
30403         * modules/unictype/ctype-cntrl-tests: Likewise.
30404         * modules/unictype/ctype-digit-tests: Likewise.
30405         * modules/unictype/ctype-graph-tests: Likewise.
30406         * modules/unictype/ctype-lower-tests: Likewise.
30407         * modules/unictype/ctype-print-tests: Likewise.
30408         * modules/unictype/ctype-punct-tests: Likewise.
30409         * modules/unictype/ctype-space-tests: Likewise.
30410         * modules/unictype/ctype-upper-tests: Likewise.
30411         * modules/unictype/ctype-xdigit-tests: Likewise.
30412         * modules/unictype/decimal-digit-tests: Likewise.
30413         * modules/unictype/digit-tests: Likewise.
30414         * modules/unictype/mirror-tests: Likewise.
30415         * modules/unictype/numeric-tests: Likewise.
30416         * modules/unictype/property-alphabetic-tests: Likewise.
30417         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
30418         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
30419         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
30420         * modules/unictype/property-bidi-block-separator-tests: Likewise.
30421         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
30422         * modules/unictype/property-bidi-common-separator-tests: Likewise.
30423         * modules/unictype/property-bidi-control-tests: Likewise.
30424         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
30425         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
30426         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
30427         * modules/unictype/property-bidi-european-digit-tests: Likewise.
30428         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
30429         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
30430         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
30431         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
30432         * modules/unictype/property-bidi-pdf-tests: Likewise.
30433         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
30434         * modules/unictype/property-bidi-whitespace-tests: Likewise.
30435         * modules/unictype/property-byname-tests: Likewise.
30436         * modules/unictype/property-combining-tests: Likewise.
30437         * modules/unictype/property-composite-tests: Likewise.
30438         * modules/unictype/property-currency-symbol-tests: Likewise.
30439         * modules/unictype/property-dash-tests: Likewise.
30440         * modules/unictype/property-decimal-digit-tests: Likewise.
30441         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
30442         * modules/unictype/property-deprecated-tests: Likewise.
30443         * modules/unictype/property-diacritic-tests: Likewise.
30444         * modules/unictype/property-extender-tests: Likewise.
30445         * modules/unictype/property-format-control-tests: Likewise.
30446         * modules/unictype/property-grapheme-base-tests: Likewise.
30447         * modules/unictype/property-grapheme-extend-tests: Likewise.
30448         * modules/unictype/property-grapheme-link-tests: Likewise.
30449         * modules/unictype/property-hex-digit-tests: Likewise.
30450         * modules/unictype/property-hyphen-tests: Likewise.
30451         * modules/unictype/property-id-continue-tests: Likewise.
30452         * modules/unictype/property-id-start-tests: Likewise.
30453         * modules/unictype/property-ideographic-tests: Likewise.
30454         * modules/unictype/property-ids-binary-operator-tests: Likewise.
30455         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
30456         * modules/unictype/property-ignorable-control-tests: Likewise.
30457         * modules/unictype/property-iso-control-tests: Likewise.
30458         * modules/unictype/property-join-control-tests: Likewise.
30459         * modules/unictype/property-left-of-pair-tests: Likewise.
30460         * modules/unictype/property-line-separator-tests: Likewise.
30461         * modules/unictype/property-logical-order-exception-tests: Likewise.
30462         * modules/unictype/property-lowercase-tests: Likewise.
30463         * modules/unictype/property-math-tests: Likewise.
30464         * modules/unictype/property-non-break-tests: Likewise.
30465         * modules/unictype/property-not-a-character-tests: Likewise.
30466         * modules/unictype/property-numeric-tests: Likewise.
30467         * modules/unictype/property-other-alphabetic-tests: Likewise.
30468         * modules/unictype/property-other-default-ignorable-code-point-tests:
30469         Likewise.
30470         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
30471         * modules/unictype/property-other-id-continue-tests: Likewise.
30472         * modules/unictype/property-other-id-start-tests: Likewise.
30473         * modules/unictype/property-other-lowercase-tests: Likewise.
30474         * modules/unictype/property-other-math-tests: Likewise.
30475         * modules/unictype/property-other-uppercase-tests: Likewise.
30476         * modules/unictype/property-paired-punctuation-tests: Likewise.
30477         * modules/unictype/property-paragraph-separator-tests: Likewise.
30478         * modules/unictype/property-pattern-syntax-tests: Likewise.
30479         * modules/unictype/property-pattern-white-space-tests: Likewise.
30480         * modules/unictype/property-private-use-tests: Likewise.
30481         * modules/unictype/property-punctuation-tests: Likewise.
30482         * modules/unictype/property-quotation-mark-tests: Likewise.
30483         * modules/unictype/property-radical-tests: Likewise.
30484         * modules/unictype/property-sentence-terminal-tests: Likewise.
30485         * modules/unictype/property-soft-dotted-tests: Likewise.
30486         * modules/unictype/property-space-tests: Likewise.
30487         * modules/unictype/property-terminal-punctuation-tests: Likewise.
30488         * modules/unictype/property-test-tests: Likewise.
30489         * modules/unictype/property-titlecase-tests: Likewise.
30490         * modules/unictype/property-unassigned-code-value-tests: Likewise.
30491         * modules/unictype/property-unified-ideograph-tests: Likewise.
30492         * modules/unictype/property-uppercase-tests: Likewise.
30493         * modules/unictype/property-variation-selector-tests: Likewise.
30494         * modules/unictype/property-white-space-tests: Likewise.
30495         * modules/unictype/property-xid-continue-tests: Likewise.
30496         * modules/unictype/property-xid-start-tests: Likewise.
30497         * modules/unictype/property-zero-width-tests: Likewise.
30498         * modules/unictype/scripts-tests: Likewise.
30499         * modules/unictype/syntax-c-ident-tests: Likewise.
30500         * modules/unictype/syntax-c-whitespace-tests: Likewise.
30501         * modules/unictype/syntax-java-ident-tests: Likewise.
30502         * modules/unictype/syntax-java-whitespace-tests: Likewise.
30503         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
30504         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
30505         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
30506         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
30507         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
30508         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
30509         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
30510         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
30511         * modules/uniname/uniname-tests: Likewise.
30512         * modules/uninorm/canonical-decomposition-tests: Likewise.
30513         * modules/uninorm/compat-decomposition-tests: Likewise.
30514         * modules/uninorm/composition-tests: Likewise.
30515         * modules/uninorm/decomposing-form-tests: Likewise.
30516         * modules/uninorm/decomposition-tests: Likewise.
30517         * modules/uninorm/filter-tests: Likewise.
30518         * modules/uninorm/nfc-tests: Likewise.
30519         * modules/uninorm/nfd-tests: Likewise.
30520         * modules/uninorm/nfkc-tests: Likewise.
30521         * modules/uninorm/nfkd-tests: Likewise.
30522         * modules/uninorm/u8-normcmp-tests: Likewise.
30523         * modules/uninorm/u8-normcoll-tests: Likewise.
30524         * modules/uninorm/u16-normcmp-tests: Likewise.
30525         * modules/uninorm/u16-normcoll-tests: Likewise.
30526         * modules/uninorm/u32-normcmp-tests: Likewise.
30527         * modules/uninorm/u32-normcoll-tests: Likewise.
30528         * modules/unistdio/u8-asnprintf-tests: Likewise.
30529         * modules/unistdio/u8-vasnprintf-tests: Likewise.
30530         * modules/unistdio/u8-vasprintf-tests: Likewise.
30531         * modules/unistdio/u8-vsnprintf-tests: Likewise.
30532         * modules/unistdio/u8-vsprintf-tests: Likewise.
30533         * modules/unistdio/u16-asnprintf-tests: Likewise.
30534         * modules/unistdio/u16-vasnprintf-tests: Likewise.
30535         * modules/unistdio/u16-vasprintf-tests: Likewise.
30536         * modules/unistdio/u16-vsnprintf-tests: Likewise.
30537         * modules/unistdio/u16-vsprintf-tests: Likewise.
30538         * modules/unistdio/u32-asnprintf-tests: Likewise.
30539         * modules/unistdio/u32-vasnprintf-tests: Likewise.
30540         * modules/unistdio/u32-vasprintf-tests: Likewise.
30541         * modules/unistdio/u32-vsnprintf-tests: Likewise.
30542         * modules/unistdio/u32-vsprintf-tests: Likewise.
30543         * modules/unistdio/ulc-asnprintf-tests: Likewise.
30544         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
30545         * modules/unistdio/ulc-vasprintf-tests: Likewise.
30546         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
30547         * modules/unistdio/ulc-vsprintf-tests: Likewise.
30548         * modules/unistr/u8-check-tests: Likewise.
30549         * modules/unistr/u8-chr-tests: Likewise.
30550         * modules/unistr/u8-cmp-tests: Likewise.
30551         * modules/unistr/u8-cmp2-tests: Likewise.
30552         * modules/unistr/u8-cpy-alloc-tests: Likewise.
30553         * modules/unistr/u8-cpy-tests: Likewise.
30554         * modules/unistr/u8-mblen-tests: Likewise.
30555         * modules/unistr/u8-mbsnlen-tests: Likewise.
30556         * modules/unistr/u8-mbtouc-tests: Likewise.
30557         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
30558         * modules/unistr/u8-mbtoucr-tests: Likewise.
30559         * modules/unistr/u8-move-tests: Likewise.
30560         * modules/unistr/u8-next-tests: Likewise.
30561         * modules/unistr/u8-prev-tests: Likewise.
30562         * modules/unistr/u8-set-tests: Likewise.
30563         * modules/unistr/u8-stpcpy-tests: Likewise.
30564         * modules/unistr/u8-stpncpy-tests: Likewise.
30565         * modules/unistr/u8-strcat-tests: Likewise.
30566         * modules/unistr/u8-strcmp-tests: Likewise.
30567         * modules/unistr/u8-strcoll-tests: Likewise.
30568         * modules/unistr/u8-strcpy-tests: Likewise.
30569         * modules/unistr/u8-strdup-tests: Likewise.
30570         * modules/unistr/u8-strlen-tests: Likewise.
30571         * modules/unistr/u8-strmblen-tests: Likewise.
30572         * modules/unistr/u8-strmbtouc-tests: Likewise.
30573         * modules/unistr/u8-strncat-tests: Likewise.
30574         * modules/unistr/u8-strncmp-tests: Likewise.
30575         * modules/unistr/u8-strncpy-tests: Likewise.
30576         * modules/unistr/u8-strnlen-tests: Likewise.
30577         * modules/unistr/u8-to-u16-tests: Likewise.
30578         * modules/unistr/u8-to-u32-tests: Likewise.
30579         * modules/unistr/u8-uctomb-tests: Likewise.
30580         * modules/unistr/u16-check-tests: Likewise.
30581         * modules/unistr/u16-chr-tests: Likewise.
30582         * modules/unistr/u16-cmp-tests: Likewise.
30583         * modules/unistr/u16-cmp2-tests: Likewise.
30584         * modules/unistr/u16-cpy-alloc-tests: Likewise.
30585         * modules/unistr/u16-cpy-tests: Likewise.
30586         * modules/unistr/u16-mblen-tests: Likewise.
30587         * modules/unistr/u16-mbsnlen-tests: Likewise.
30588         * modules/unistr/u16-mbtouc-tests: Likewise.
30589         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
30590         * modules/unistr/u16-mbtoucr-tests: Likewise.
30591         * modules/unistr/u16-move-tests: Likewise.
30592         * modules/unistr/u16-next-tests: Likewise.
30593         * modules/unistr/u16-prev-tests: Likewise.
30594         * modules/unistr/u16-set-tests: Likewise.
30595         * modules/unistr/u16-stpcpy-tests: Likewise.
30596         * modules/unistr/u16-stpncpy-tests: Likewise.
30597         * modules/unistr/u16-strcat-tests: Likewise.
30598         * modules/unistr/u16-strcmp-tests: Likewise.
30599         * modules/unistr/u16-strcoll-tests: Likewise.
30600         * modules/unistr/u16-strcpy-tests: Likewise.
30601         * modules/unistr/u16-strdup-tests: Likewise.
30602         * modules/unistr/u16-strlen-tests: Likewise.
30603         * modules/unistr/u16-strmblen-tests: Likewise.
30604         * modules/unistr/u16-strmbtouc-tests: Likewise.
30605         * modules/unistr/u16-strncat-tests: Likewise.
30606         * modules/unistr/u16-strncmp-tests: Likewise.
30607         * modules/unistr/u16-strncpy-tests: Likewise.
30608         * modules/unistr/u16-strnlen-tests: Likewise.
30609         * modules/unistr/u16-to-u32-tests: Likewise.
30610         * modules/unistr/u16-to-u8-tests: Likewise.
30611         * modules/unistr/u16-uctomb-tests: Likewise.
30612         * modules/unistr/u32-check-tests: Likewise.
30613         * modules/unistr/u32-chr-tests: Likewise.
30614         * modules/unistr/u32-cmp-tests: Likewise.
30615         * modules/unistr/u32-cmp2-tests: Likewise.
30616         * modules/unistr/u32-cpy-alloc-tests: Likewise.
30617         * modules/unistr/u32-cpy-tests: Likewise.
30618         * modules/unistr/u32-mblen-tests: Likewise.
30619         * modules/unistr/u32-mbsnlen-tests: Likewise.
30620         * modules/unistr/u32-mbtouc-tests: Likewise.
30621         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
30622         * modules/unistr/u32-mbtoucr-tests: Likewise.
30623         * modules/unistr/u32-move-tests: Likewise.
30624         * modules/unistr/u32-next-tests: Likewise.
30625         * modules/unistr/u32-prev-tests: Likewise.
30626         * modules/unistr/u32-set-tests: Likewise.
30627         * modules/unistr/u32-stpcpy-tests: Likewise.
30628         * modules/unistr/u32-stpncpy-tests: Likewise.
30629         * modules/unistr/u32-strcat-tests: Likewise.
30630         * modules/unistr/u32-strcmp-tests: Likewise.
30631         * modules/unistr/u32-strcoll-tests: Likewise.
30632         * modules/unistr/u32-strcpy-tests: Likewise.
30633         * modules/unistr/u32-strdup-tests: Likewise.
30634         * modules/unistr/u32-strlen-tests: Likewise.
30635         * modules/unistr/u32-strmblen-tests: Likewise.
30636         * modules/unistr/u32-strmbtouc-tests: Likewise.
30637         * modules/unistr/u32-strncat-tests: Likewise.
30638         * modules/unistr/u32-strncmp-tests: Likewise.
30639         * modules/unistr/u32-strncpy-tests: Likewise.
30640         * modules/unistr/u32-strnlen-tests: Likewise.
30641         * modules/unistr/u32-to-u16-tests: Likewise.
30642         * modules/unistr/u32-to-u8-tests: Likewise.
30643         * modules/unistr/u32-uctomb-tests: Likewise.
30644         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
30645         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
30646         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
30647         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
30648         * modules/uniwidth/u8-strwidth-tests: Likewise.
30649         * modules/uniwidth/u8-width-tests: Likewise.
30650         * modules/uniwidth/u16-strwidth-tests: Likewise.
30651         * modules/uniwidth/u16-width-tests: Likewise.
30652         * modules/uniwidth/u32-strwidth-tests: Likewise.
30653         * modules/uniwidth/u32-width-tests: Likewise.
30654         * modules/uniwidth/width-tests: Likewise.
30655
30656 2010-05-18  Richard Jones  <rjones@redhat.com>
30657
30658         doc: users.txt: list hivex
30659         * users.txt: Add hivex.
30660
30661 2010-05-18  Richard Jones  <rjones@redhat.com>
30662
30663         doc: users.txt: list febootstrap
30664         * users.txt: Add febootstrap.
30665
30666 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
30667
30668         bootstrap: fix an error when gnulib is not used as a git submodule
30669         * build-aux/bootstrap (gnulib_path): If its length is zero then
30670         assign "gnulib" to it.
30671         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
30672
30673 2010-05-16  Bruno Haible  <bruno@clisp.org>
30674
30675         Avoid autoconf warnings about AM_ICONV.
30676         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
30677         2.64.
30678
30679 2010-05-16  Bruno Haible  <bruno@clisp.org>
30680
30681         absolute-header: Make the macro usable in more situations.
30682         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
30683         from gl_ABSOLUTE_HEADER.
30684         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
30685
30686 2010-05-16  James Youngman  <jay@gnu.org>
30687
30688         doc: update users.txt
30689         * users.txt: Add CSSC.
30690
30691 2010-05-16  Jim Meyering  <meyering@redhat.com>
30692
30693         init.sh: fix an error in the previous change; add more comments
30694         * tests/init.sh: Compare exit code in loop against 9, not 2.
30695         Patch by Bruno Haible.
30696         Make the two tests more similar by adding an empty "then" clause.
30697         Add comments.
30698
30699         init.sh: avoid unnecessary shell re-exec
30700         * tests/init.sh: Improve the re-exec-required check to first test the
30701         current shell.  If it passes the test, do not search for a shell that
30702         does pass, and do not re-exec.  This test is particularly contorted to
30703         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
30704         of $(...) evokes a syntax error and causes immediate shell exit with
30705         status 2.  Bruno Haible reported that the re-exec made it impossible
30706         to single-step through any init.sh-using script.
30707
30708 2010-05-16  Bruno Haible  <bruno@clisp.org>
30709
30710         Fix collision between gnulib's and libintl's printf replacements.
30711         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
30712         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
30713         (printf): When using GNU C, map the __printf__ function to rpl_printf
30714         via __asm__. When not using GNU C, define rpl_printf instead of
30715         __printf__.
30716         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
30717         commit.
30718         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
30719         commit.
30720         * m4/asm-underscore.m4: New file.
30721         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
30722         * modules/stdio (Files): Add m4/asm-underscore.m4.
30723         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
30724         Reported by Ben Pfaff.
30725
30726 2010-05-16  Bruno Haible  <bruno@clisp.org>
30727
30728         verify: Avoid skipping the test on openSUSE 11.0.
30729         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
30730
30731 2010-05-13  Bruno Haible  <bruno@clisp.org>
30732
30733         Avoid useless warnings from G++.
30734         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
30735         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
30736         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30737
30738 2010-05-11  Jim Meyering  <meyering@redhat.com>
30739
30740         maint.mk: tweak preceding change
30741         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
30742         regexps tighter by anchoring at EOL, and make the new group "shy"
30743         for slightly decreased overhead.
30744
30745 2010-05-11  Eric Blake  <eblake@redhat.com>
30746
30747         maint.mk: gnulib doesn't guarantee NSIG
30748         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
30749
30750 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30751
30752         test-pwrite.c: Remove unused variable declaration.
30753         * tests/test-pwrite.c (main): Remove read_buf declaration.
30754
30755         Remove useless test-pwrite.sh file.
30756         * tests/test-pwrite.sh: Delete file.
30757         * modules/pwrite-tests: Remove references.
30758         Reported by Bruno Haible.
30759
30760 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30761
30762         init.sh: fix a typo
30763         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
30764
30765 2010-05-10  Jim Meyering  <meyering@redhat.com>
30766
30767         maint.mk: avoid using a temporary file in the always-defined-macros check
30768         * top/maint.mk (.re-defmac): Remove rule.
30769         (gl_trap_): Remove definition.
30770         (sc_prohibit_always-defined_macros): Rewrite not to create and
30771         depend on a temporary file.  Instead, depend on GNU grep's ability
30772         to read a list of regular expressions from stdin when given "-f -".
30773
30774 2010-05-09  Bruno Haible  <bruno@clisp.org>
30775
30776         Update to GNU gettext 0.18, part 1.
30777         * m4/gettext.m4: Update to GNU gettext 0.18.
30778         * m4/intl.m4: Likewise.
30779         * m4/po.m4: Likewise.
30780         * modules/gettext (Files): Add m4/fcntl-o.m4.
30781         (configure.ac): Require gettext infrastructure from version 0.18.
30782
30783 2010-05-09  Jim Meyering  <meyering@redhat.com>
30784
30785         init.sh: enable MALLOC_PERTURB_
30786         * tests/init.sh: Enable glibc's malloc-perturbing option.
30787
30788         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30789         With my recent change in init.sh from the two-line form:
30790             -#   : ${srcdir=.}
30791             -#   . "$srcdir/init.sh"; path_prepend_ .
30792             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30793         I noticed that using the one-line form would cause this test
30794         to fail with a false-positive, or to stop working altogether,
30795         depending on whether help-version changed or all the tests did.
30796         * top/maint.mk (_hv_regex): Remove this definition.
30797         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30798         (_hv_regex_strong): Use a stronger regex to check for conformance.
30799         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30800         Give a separate diagnostic for lack of conforming use.
30801
30802         maint.mk: prohibit definition of symbols defined by gnulib
30803         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30804         definition of symbols defined by gnulib.
30805
30806 2010-05-09  Bruno Haible  <bruno@clisp.org>
30807
30808         acl: Avoid test failure on Cygwin-hosted mingw.
30809         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30810
30811 2010-05-09  Bruno Haible  <bruno@clisp.org>
30812
30813         error: Use system's fcntl function.
30814         * lib/error.c (fcntl): Undefine.
30815
30816 2010-05-09  Jim Meyering  <meyering@redhat.com>
30817
30818         verify: adjust formatting to be more consistent
30819         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30820         argument-list '('s, and after one comma.
30821
30822 2010-05-09  Bruno Haible  <bruno@clisp.org>
30823
30824         error: More reliable output on mingw.
30825         * lib/error.c: Include <windows.h>.
30826         (is_open): New function.
30827         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30828         defined.
30829
30830 2010-05-09  Bruno Haible  <bruno@clisp.org>
30831
30832         vasnprintf: Fix syntax errors in libintl build on mingw.
30833         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30834         pad_ourselves and prec_ourselves after use.
30835
30836 2010-05-08  Bruno Haible  <bruno@clisp.org>
30837
30838         * lib/config.charset: Update comments for Cygwin 1.7.
30839         * lib/localcharset.c: Likewise.
30840
30841 2010-05-07  Jim Meyering  <meyering@redhat.com>
30842
30843         init.sh: improve comments
30844         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30845         . "${srcdir=.}/init.sh"; path_prepend_ .
30846         Add a note about path_prepend_ and the alternative of using
30847         TESTS_ENVIRONMENT.
30848
30849 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30850
30851         exclude: Unescape hashed patterns in wildcard mode.
30852         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30853         to the hash list.
30854         * tests/test-exclude8.sh: New test case.
30855         * modules/exclude-tests: Add new test.
30856
30857 2010-05-05  Eric Blake  <eblake@redhat.com>
30858
30859         verify: automate tests
30860         * modules/verify-tests: New module.
30861         * tests/test-verify.sh: New file.
30862         * tests/test-verify.c: Guard each negative test with a unique id.
30863         Also avoid warning about unused left hand of comma expressions.
30864
30865 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30866
30867         Further improvements to verify.h, suggested by Eric Blake.
30868         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30869         the GL_* versions, to avoid collision with OpenGL.
30870         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30871         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30872         than testing merely whether it's defined.
30873
30874         Modify verify.h to pacify gcc -Wredundant_decls.
30875         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30876         These use the prefix "GL_" since they're likely to be useful elsewhere.
30877         We may need to break them out into a different .h file.
30878         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30879         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30880         of verify_function__.
30881
30882 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30883
30884         Tests for module pwrite.
30885         * modules/pwrite-tests: New file.
30886         * tests/test-pwrite.sh: New file.
30887         * tests/test-pwrite.c: New file.
30888
30889         New module pwrite.
30890         * lib/unistd.in.h (pwrite): New declaration.
30891         * lib/pwrite.c: New file, from glibc with modifications.
30892         * m4/pwrite.m4: New file.
30893         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30894         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30895         REPLACE_PWRITE.
30896         * modules/pwrite: New file.
30897         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30898         REPLACE_PWRITE.
30899         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30900         * doc/posix-functions/pwrite.texi: Mention the new module.
30901
30902 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30903
30904         pread: Update documentation.
30905         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30906
30907 2010-05-04  Eric Blake  <eblake@redhat.com>
30908
30909         docs: update cygwin progress
30910         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30911         this bug.
30912         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30913         Added in cygwin 1.7.2.
30914         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30915         Likewise.
30916         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30917         Likewise.
30918         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30919         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30920         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30921         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30922         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30923         Mention nproc module.
30924         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30925         bug in cygwin 1.7.5 addition.
30926         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30927         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30928         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30929         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30930         1.7.5.
30931         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30932         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30933         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30934         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30935         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30936         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30937         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
30938         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
30939         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
30940         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
30941         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
30942         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
30943         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
30944         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
30945         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
30946         Likewise.
30947         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
30948         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
30949         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
30950         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
30951         Likewise.
30952         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
30953         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
30954         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
30955         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
30956         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
30957         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
30958         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
30959         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
30960         Likewise.
30961         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
30962         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
30963         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
30964         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
30965         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
30966         Likewise.
30967         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
30968         Likewise.
30969         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
30970         Likewise.
30971         * doc/glibc-functions/xdrrec_endofrecord.texi
30972         (xdrrec_endofrecord): Likewise.
30973         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
30974         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
30975         Likewise.
30976         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
30977         Likewise.
30978
30979 2010-05-04  Jim Meyering  <meyering@redhat.com>
30980
30981         gendocs.sh: make its "-s FILE" option more useful
30982         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30983         $PACKAGE to reflect the probably-different basename of "FILE".
30984
30985 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30986
30987         bootstrap: don't ignore download_po_files failure
30988         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30989         failure.
30990
30991 2010-05-03  Jim Meyering  <meyering@redhat.com>
30992
30993         maint.mk: allow to pass options to gendocs.sh
30994         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30995         (gendocs_options_): New overridable variable.
30996
30997         gnu-web-doc-update: don't ignore configure or build failure
30998         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30999
31000         announce-gen: backslash-escape '@'s in --help output
31001         * build-aux/announce-gen: Fix syntax errors.
31002
31003         maint.mk, announce-gen: allow project-specific announcement mail headers
31004         * top/maint.mk (translation_project_): Define default.
31005         (announcement_Cc_, announcement_mail_headers_): Likewise.
31006         (announcement): Invoke announce-gen with new --mail-headers option.
31007         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
31008
31009         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
31010         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
31011         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
31012         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
31013         line in the "err2" output file when running "make check" in verbose
31014         mode (i.e., with set -x enabled).
31015
31016 2010-05-03  Bruno Haible  <bruno@clisp.org>
31017
31018         wctob: Fix for weird platforms.
31019         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
31020         argument value.
31021
31022 2010-05-03  Jim Meyering  <meyering@redhat.com>
31023
31024         maint.mk: prohibit unwarranted use of <strings.h>
31025         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
31026         strings.h in a file that does not also use strcasecmp, strncasecmp,
31027         ffs or ffsll.
31028
31029         maint.mk: remove obsolete comments
31030         * top/maint.mk: Remove stale, commented-out rules.
31031
31032 2010-05-02  Bruno Haible  <bruno@clisp.org>
31033
31034         wcwidth: Declare also when it's aliased.
31035         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
31036         macro.
31037
31038 2010-05-02  Bruno Haible  <bruno@clisp.org>
31039
31040         Fix regression from 2010-04-25.
31041         * gnulib-tool (func_modules_transitive_closure): Check the status of
31042         all modules, not only of the tests that are of the form foo-tests where
31043         foo is a module.
31044
31045 2010-05-02  Bruno Haible  <bruno@clisp.org>
31046
31047         wctob: Work around nasty Cygwin 1.7.2 bug.
31048         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
31049         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
31050
31051 2010-05-01  Bruno Haible  <bruno@clisp.org>
31052
31053         fpurge: Sharper test.
31054         * tests/test-fpurge.c (main): Add one more ftell check.
31055         * modules/fpurge-tests (Depends-on): Add ftell.
31056         Suggested by Eric Blake.
31057
31058 2010-05-01  Bruno Haible  <bruno@clisp.org>
31059
31060         ftello: Another test.
31061         * tests/test-ftello3.c: New file.
31062         * modules/ftello-tests (Files): Add it.
31063         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31064         MOSTLYCLEANFILES.
31065
31066         ftell: Another test.
31067         * tests/test-ftell3.c: New file.
31068         * modules/ftell-tests (Files): Add it.
31069         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31070         MOSTLYCLEANFILES.
31071
31072 2010-05-01  Bruno Haible  <bruno@clisp.org>
31073
31074         ftell, ftello: Work around Solaris bug.
31075         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
31076         * lib/ftello.c: Include stdio-impl.h.
31077         (ftello): On Solaris, when _IOWRT is set, compute the result without
31078         looking at _IOREAD.
31079         * modules/ftello (Files): Add lib/stdio-impl.h.
31080         * doc/posix-functions/ftell.texi: Mention Solaris bug.
31081         * doc/posix-functions/ftello.texi: Likewise.
31082         Reported by Eric Blake.
31083
31084 2010-05-01  Bruno Haible  <bruno@clisp.org>
31085
31086         freading: Adapt to special meaning of _IOREAD flag on Solaris.
31087         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
31088         the _IOWRT flag is also set.
31089
31090 2010-05-01  Bruno Haible  <bruno@clisp.org>
31091
31092         Fix doc about a HP-UX stdio bug.
31093         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
31094         * doc/posix-functions/ftello.texi: Likewise.
31095
31096 2010-05-01  Bruno Haible  <bruno@clisp.org>
31097
31098         lseek test: Fix failure on Solaris.
31099         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
31100         output.
31101
31102 2010-04-30  Jim Meyering  <meyering@redhat.com>
31103
31104         bootstrap: don't ignore failure to generate po*/Makevars
31105         * build-aux/bootstrap (with_gettext): Don't ignore failure
31106         to create po/Makevars or runtime-po/Makevars.
31107
31108 2010-04-29  Eric Blake  <eblake@redhat.com>
31109
31110         headers: relax license to LGPLv2+
31111         * modules/fcntl-h (License): Relax license.
31112         * modules/getopt-posix (License): Likewise.
31113         * modules/locale (License): Likewise.
31114         * modules/math (License): Likewise.
31115         * modules/pty (License): Likewise.
31116         * modules/sched (License): Likewise.
31117         * modules/search (License): Likewise.
31118         * modules/spawn (License): Likewise.
31119         * modules/stdarg (License): Likewise.
31120         * modules/sysexits (License): Likewise.
31121
31122 2010-04-29  Jim Meyering  <meyering@redhat.com>
31123
31124         inttypes: relax license to LGPLv2+
31125         * modules/inttypes (License): Relax license.
31126
31127 2010-04-29  Simon Josefsson  <simon@josefsson.org>
31128
31129         * top/maint.mk (indent): Run twice to produce idempotent results.
31130
31131 2010-04-28  Bruno Haible  <bruno@clisp.org>
31132
31133         getdate: Generate getdate.c in the source directory.
31134         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
31135         MOSTLYCLEANFILES.
31136         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
31137
31138 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
31139
31140         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
31141         is not declared as a const *; avoid warnings in that case.
31142
31143 2010-04-28  Eric Blake  <eblake@redhat.com>
31144
31145         canonicalize-lgpl: avoid compiler warning
31146         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
31147         declaration' / 'extraneous semicolon' warning with some compilers.
31148         Reported by Andreas Gruenbacher.
31149
31150 2010-04-28  Jim Meyering  <meyering@redhat.com>
31151
31152         init.sh: ensure a more reliable exit status when exiting via trap
31153         * tests/init.sh (setup_): Don't rely on $? in signal handler.
31154         Inspired by patches from Dmitry V. Levin.
31155         Also trap on signal 3 (SIGQUIT).
31156
31157 2010-04-27  Bruno Haible  <bruno@clisp.org>
31158
31159         Update doc about utimes().
31160         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
31161         'utimens' module.
31162         Reported by Andreas Gruenbacher <agruen@suse.de>.
31163
31164 2010-04-27  Eric Blake  <eblake@redhat.com>
31165
31166         full-read, full-write: relax license
31167         * modules/full-read (License): Drop to LGPLv2+.
31168         * modules/full-write (License): Likewise.
31169         * modules/safe-read (License): Likewise.
31170         * modules/safe-write (License): Likewise.
31171
31172         pthread: mention library for linking
31173         * modules/pthread (Link): Mention $(LIB_PTHREAD).
31174
31175 2010-04-27  Jim Meyering  <meyering@redhat.com>
31176
31177         maint.mk: fix a bug introduced in last change
31178         * top/maint.mk (gl_assured_headers_): Now that all names are on
31179         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
31180         is not anchored to end of word, it should be adequate.
31181
31182         maint.mk: avoid side-effect in latest syntax-check
31183         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
31184         to run commands via $(shell...), and hence to incur cost only when
31185         the new rule is actually run.
31186
31187         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
31188         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
31189         and use that to create a regexp used to detect all #if HAVE_..._H uses.
31190         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
31191         (gl_assured_headers_, az_, AZ_): Define.
31192         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
31193
31194 2010-04-26  Jim Meyering  <jim@meyering.net>
31195             Bruno Haible  <bruno@clisp.org>
31196
31197         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
31198         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
31199         Prompted by an exchange with Gilles Espinasse.
31200
31201 2010-04-26  Jim Meyering  <meyering@redhat.com>
31202
31203         git-version-gen: aesthetic tweak
31204         * build-aux/git-version-gen: Use "$nl" rather than a literal,
31205         so that the command remains on a single line.
31206
31207 2010-04-26  Eric Blake  <eblake@redhat.com>
31208
31209         git-version-gen: allow use on EBCDIC hosts
31210         * build-aux/git-version-gen (dirty): Use literal rather than tying
31211         ourselves to ascii.
31212         Reported by Steve Goetze.
31213
31214 2010-04-25  Bruno Haible  <bruno@clisp.org>
31215
31216         netdb: Add support for GNULIB_POSIXCHECK.
31217         * lib/netdb.in.h: Include warn-on-use.h.
31218         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
31219         functions are used when GNULIB_POSIXCHECK is defined and the
31220         getaddrinfo module is not in use.
31221         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
31222         freeaddrinfo, gai_strerror, getnameinfo are declared.
31223         * modules/netdb (Depends-on): Add warn-on-use.
31224         (Makefile.am): Include warn-on-use.h in netdb.h.
31225
31226 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
31227
31228         build: avoid "make check" failure without .git/ directory
31229         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
31230         there is no .git/ directory.
31231
31232 2010-04-25  Bruno Haible  <bruno@clisp.org>
31233
31234         ptsname: Fix misuse of ttyname_r.
31235         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
31236         of errno.
31237
31238 2010-04-25  Bruno Haible  <bruno@clisp.org>
31239
31240         ttyname_r: Make it work on Solaris 10.
31241         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
31242         if the system function has the POSIX declaration. Test whether the
31243         function fails if the buffer is less than 128 bytes large.
31244         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
31245         system's ttyname_r function. Provide a reasonably large buffer.
31246         * modules/ttyname_r (Depends-on): Add extensions.
31247         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
31248
31249 2010-04-25  Bruno Haible  <bruno@clisp.org>
31250
31251         Use the 'extensions' module for some more functions on Solaris.
31252         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
31253         module.
31254         * doc/posix-functions/ctime_r.texi: Likewise.
31255         * doc/posix-functions/getgrgid_r.texi: Likewise.
31256         * doc/posix-functions/getgrnam_r.texi: Likewise.
31257         * doc/posix-functions/getpwnam_r.texi: Likewise.
31258         * doc/posix-functions/getpwuid_r.texi: Likewise.
31259         * doc/posix-functions/readdir_r.texi: Likewise.
31260         * doc/posix-functions/sigwait.texi: Likewise.
31261         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31262         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
31263
31264 2010-04-25  Bruno Haible  <bruno@clisp.org>
31265
31266         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
31267         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
31268         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
31269         * lib/ttyname_r.c: Include <limits.h>.
31270         (ttyname_r): Define using the system's ttyname_r function, if it exists
31271         and not on Solaris.
31272         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
31273         set.
31274         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
31275         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
31276         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
31277         Reported by Simon Josefsson.
31278
31279 2010-04-25  Bruno Haible  <bruno@clisp.org>
31280
31281         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
31282         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
31283         * doc/posix-functions/ctime_r.texi: Likewise.
31284         * doc/posix-functions/getgrgid_r.texi: Likewise.
31285         * doc/posix-functions/getgrnam_r.texi: Likewise.
31286         * doc/posix-functions/getlogin_r.texi: Likewise.
31287         * doc/posix-functions/getpwnam_r.texi: Likewise.
31288         * doc/posix-functions/getpwuid_r.texi: Likewise.
31289         * doc/posix-functions/readdir_r.texi: Likewise.
31290         * doc/posix-functions/sigwait.texi: Likewise.
31291         * doc/posix-functions/ttyname_r.texi: Likewise.
31292         Reported by Simon Josefsson.
31293
31294 2010-04-25  Bruno Haible  <bruno@clisp.org>
31295
31296         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
31297         * gnulib-tool (func_usage): Document that --with-*-tests options apply
31298         also to --create-testdir.
31299         (func_acceptable): Don't consider the status of *-tests modules here.
31300         (func_modules_transitive_closure): Consider it here, before including a
31301         test module.
31302         (func_import, func_create_testdir): Set inc_all_direct_tests,
31303         inc_all_indirect_tests.
31304         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
31305         --create-testdir and --create-megatestdir.
31306
31307 2010-04-25  Bruno Haible  <bruno@clisp.org>
31308
31309         gnulib-tool: Add --without-*-tests options.
31310         * gnulib-tool (func_usage): Document the --without-*-tests options.
31311         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
31312         excl_unportable_tests): New variables.
31313         Fail if they are specified with --import or --update.
31314         (func_acceptable): Respect the excl_*_tests variables.
31315         (func_import): Set the excl_*_tests variables to empty.
31316
31317 2010-04-25  Simon Josefsson  <simon@josefsson.org>
31318             Bruno Haible  <bruno@clisp.org>
31319
31320         Work around a MacOS X 10.4 bug with openpty.
31321         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
31322         * tests/test-openpty.c (main): Close the master side explicitly.
31323
31324 2010-04-25  Bruno Haible  <bruno@clisp.org>
31325
31326         strnlen: Fix a C++ test error on MacOS X and Solaris.
31327         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
31328         the function is not declared.
31329         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
31330         Simon Josefsson.
31331
31332 2010-04-24  Bruno Haible  <bruno@clisp.org>
31333
31334         Avoid a gcc warning.
31335         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
31336         of correct type for %08lx directive.
31337         Reported by Eric Blake.
31338
31339 2010-04-24  Bruno Haible  <bruno@clisp.org>
31340
31341         vasnprintf: Correct errno value in case of out-of-memory.
31342         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
31343         or sprintf. Use the errno value from SNPRINTF or sprintf.
31344         Reported by Ian Beckwith <ianb@erislabs.net>.
31345
31346 2010-04-24  Bruno Haible  <bruno@clisp.org>
31347
31348         ansi-c++-opt: Find correct compiler when cross-compiling.
31349         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31350         AC_CHECK_PROGS.
31351         Reported by Simon Josefsson.
31352
31353 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31354
31355         vc-list-files: Add support for subversion
31356         * build-aux/vc-list-files: Use "svn list" to generate the list of
31357         files controlled by subversion.
31358
31359 2010-04-23  Jim Meyering  <meyering@redhat.com>
31360
31361         vc-list-files tests: convert to use init.sh
31362         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31363         path_prepend_.
31364         Use Exit, not exit.
31365         Use skip_ rather than open coding it.
31366         Remove trap set-up and compare definitions.
31367         * tests/test-vc-list-files-git.sh: Likewise.
31368         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31369
31370 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31371
31372         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31373         backup files.
31374
31375 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31376
31377         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31378
31379 2010-04-20  Eric Blake  <eblake@redhat.com>
31380
31381         tests: be robust to ignored SIGPIPE
31382         * tests/test-select-in.sh: Consume all output.
31383         * tests/test-lseek.sh: Check correct exit status, while avoiding
31384         EPIPE.
31385
31386 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31387             Bruno Haible  <bruno@clisp.org>
31388
31389         visibility: Don't use -fvisibility if it leads to a warning.
31390         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31391         yes, don't pretend that visibility works if it leads to a warning.
31392         Reported by Mike Gran <spk121@yahoo.com>.
31393
31394 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31395
31396         * build-aux/bootstrap: Use "git -h" for testing for supported options
31397         instead of "git --help".  The short-form option only shows a summary,
31398         and doesn't layout the full man page.  Grep for the full option name
31399         in the summary, too.
31400
31401 2010-04-19  Bruno Haible  <bruno@clisp.org>
31402
31403         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
31404         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
31405         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
31406         mention of RELOCATABLE_STRIP.
31407         Reported by Sylvain Beucler <beuc@beuc.net>.
31408
31409 2010-04-19  Bruno Haible  <bruno@clisp.org>
31410
31411         * lib/diffseq.h: Fix typo in comment.
31412         Reported by Eric Blake.
31413
31414 2010-04-19  Bruno Haible  <bruno@clisp.org>
31415
31416         ioctl: Move autoconf macro to a .m4 file.
31417         * m4/ioctl.m4: New file, extracted from modules/ioctl.
31418         * modules/ioctl (Files): Add it.
31419         (configure.ac): Simply invoke gl_FUNC_IOCTL.
31420         Reported by Ian Beckwith <ianb@erislabs.net>.
31421
31422 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
31423             Bruno Haible  <bruno@clisp.org>
31424
31425         diffseq: Accommodate use-case with abstract arrays.
31426         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
31427         is not defined.
31428         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
31429         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
31430
31431 2010-04-18  Bruno Haible  <bruno@clisp.org>
31432
31433         * doc/posix-headers/stdbool.texi: More precise wording.
31434
31435 2010-04-17  Jim Meyering  <meyering@redhat.com>
31436
31437         maint.mk: use gnu-style indentation in an embedded perl script
31438         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
31439         Rename variable: s/two/last_two_bytes/
31440
31441 2010-04-16  Eric Blake  <eblake@redhat.com>
31442
31443         test-stdbool: skip test that fails with Solaris CC
31444         * tests/test-stdbool.c (f): Skip test that causes compilation
31445         error under buggy C++ compiler.
31446         * lib/stdbool.in.h: Document the limitation.
31447         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
31448
31449         setenv: allow compilation with C++
31450         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
31451         register keyword.
31452
31453         stdint: allow test to pass with C++
31454         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
31455
31456         getopt: allow compilation with C++
31457         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
31458         struct.
31459         * lib/getopt.c (_getopt_internal_r): Use correct type.
31460         Reported by Dagobert Michelson, via Joel E. Denny.
31461
31462 2010-04-16  Bruno Haible  <bruno@clisp.org>
31463
31464         Override netdb.h always.
31465         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
31466         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
31467         Reported by Ludovic Courtès <ludo@gnu.org>.
31468
31469 2010-04-15  Bruno Haible  <bruno@clisp.org>
31470
31471         openpty: Fix mistake from 2010-03-21.
31472         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
31473         Reported by Simon Josefsson.
31474
31475 2010-04-15  Eric Blake  <eblake@redhat.com>
31476
31477         test-forkpty: fix expected signature
31478         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
31479         Reported by Simon Josefsson.
31480
31481 2010-04-15  Jim Meyering  <meyering@redhat.com>
31482
31483         maint.mk: texinfo_suffix_re_: correct the default regexp
31484         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
31485
31486         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
31487         make it configurable via texinfo_suffix_re_.
31488
31489 2010-04-14  Eric Blake  <eblake@redhat.com>
31490
31491         strtok_r: relax license to LGPLv2+
31492         * modules/strtok_r (License): Relax license.
31493         Reported by Matthias Bolte.
31494
31495 2010-04-14  Simon Josefsson  <simon@josefsson.org>
31496
31497         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
31498         version 1.4.4 by default instead of requiring the libgcrypt
31499         version used during build.  This makes it possible to use the
31500         application with older but still binary compatible libgcrypt
31501         versions.
31502
31503 2010-04-13  Eric Blake  <eblake@redhat.com>
31504
31505         getopt-gnu: match recent glibc fixes and posix ruling
31506         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
31507         '+' handling, when requesting extensions.
31508         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
31509         'W;' handling.
31510         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
31511         * doc/posix-functions/getopt.texi (getopt): Document this.
31512         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31513         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31514         Likewise.
31515
31516         getopt: merge bug fixes from glibc
31517         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
31518         diagnostics.  Honor '+:' correctly.  Reject ';'.
31519
31520         getopt-posix: detect MacOS bug
31521         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
31522         optind when missing a required argument.
31523         * doc/posix-functions/getopt.texi (getopt): Document the bug.
31524         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31525         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31526         Likewise.
31527
31528         getopt-posix: avoid spurious failure on Solaris
31529         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
31530         an indicator that setting optind=1 is sufficient for reset.
31531
31532         getopt-posix: avoid spurious failure on FreeBSD
31533         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
31534         in POSIX mode, since the m4 test uses it.
31535
31536         gnulib-tool: silence warning on BSD sh
31537         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
31538
31539 2010-04-13  Jim Meyering  <meyering@redhat.com>
31540
31541         doc: users.txt: GNU patch now uses gnulib
31542         * users.txt: Add patch.
31543
31544 2010-04-12  Jim Meyering  <meyering@redhat.com>
31545
31546         maint.mk: generate more concise timing data for syntax-check rules
31547         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
31548         " done" from each line that reports a syntax-check test duration.
31549
31550 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
31551
31552         git-version-gen: use "git update-index..." rather than "git status"
31553         * build-aux/git-version-gen: Use git update-index --refresh, not
31554         "git status".  With some versions of git, "git status" would fail
31555         to update the index and result in an unwarranted "-dirty" suffix.
31556
31557 2010-04-11  Jim Meyering  <meyering@redhat.com>
31558
31559         openat: correct formatting (no semantic change)
31560         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
31561         Suggested by Bruno Haible.
31562
31563 2010-04-11  Bruno Haible  <bruno@clisp.org>
31564
31565         Stricter declaration checking in testdirs.
31566         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31567         If for_tests is true, augment AM_CPPFLAGS to define
31568         GNULIB_STRICT_CHECKING.
31569         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
31570         GNULIB_STRICT_CHECKING is defined, verify that the function is
31571         declared.
31572
31573 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
31574             Bruno Haible  <bruno@clisp.org>
31575
31576         libunistring: Improve configure output.
31577         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
31578         Don't say "consider installing GNU libunistring" when checking again
31579         with libiconv.
31580
31581 2010-04-11  Bruno Haible  <bruno@clisp.org>
31582
31583         libunistring: Correct value of $LTLIBUNISTRING.
31584         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
31585         correct the value of $LTLIBUNISTRING.
31586
31587 2010-04-11  Bruno Haible  <bruno@clisp.org>
31588
31589         havelib: Add static libraries to LIBS in the right order.
31590         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
31591         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
31592
31593 2010-04-11  Bruno Haible  <bruno@clisp.org>
31594
31595         libunistring: Detect libunistring also when it depends on libiconv.
31596         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
31597         the second AC_LIB_HAVE_LINKFLAGS invocation.
31598
31599 2010-04-11  James Youngman  <jay@gnu.org>
31600
31601         close-stream: declare local scalars to be "const"
31602         * lib/close-stream.c (close_stream): Make boolean variables const
31603         to document the fact that we set but do not change them.
31604
31605 2010-04-11  Bruno Haible  <bruno@clisp.org>
31606
31607         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
31608
31609 2010-04-11  Jim Meyering  <meyering@redhat.com>
31610
31611         maint.mk: don't include dist-check.mk
31612         * top/maint.mk: Remove bogus include directive.
31613
31614         maint.mk: improve empty-line-at-EOF check
31615         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
31616         solution, rather than tail+Perl-based one.  The latter would read
31617         a few kilobytes from the end of each file, and did not handle empty
31618         files properly.
31619
31620         maint.mk: print the elapsed time for each syntax-check rule
31621         * top/maint.mk (sc_m_rules_): Save start time in a file.
31622         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31623         (local-check): Interpose the .z rules
31624
31625 2010-04-11  Jim Meyering  <meyering@redhat.com>
31626
31627         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
31628         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
31629         empty file with one that ends in an empty line.
31630
31631 2010-04-10  Bruno Haible  <bruno@clisp.org>
31632
31633         mkdir: Make it work on mingw64.
31634         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
31635         * lib/mkdir.c: Update comment.
31636         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
31637
31638 2010-04-10  Bruno Haible  <bruno@clisp.org>
31639
31640         Don't override improved macro from newer autoconf.
31641         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
31642         autoconf >= 2.62.
31643         Reported by Joel E. Denny <jdenny@clemson.edu>.
31644
31645 2010-04-10  Jim Meyering  <meyering@redhat.com>
31646
31647         maint.mk: new syntax-check rule: prohibit empty lines at end of file
31648         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
31649
31650         maint.mk: correct a diagnostic
31651         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
31652         in diagnostic; now use $prohibit.
31653
31654 2010-04-10  Bruno Haible  <address@hidden>
31655
31656         fchownat: Fix a C++ test error on Solaris 8.
31657         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
31658         the function does not exist.
31659
31660 2010-04-10  Bruno Haible  <bruno@clisp.org>
31661
31662         vasnprintf: Add more tests.
31663         * tests/test-vasnprintf-posix.c: Include <errno.h>.
31664         (test_function): Test converting an invalid wide string.
31665
31666         vasnprintf: Correct handling of unconvertible wide string arguments.
31667         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
31668         VASNPRINTF.
31669         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
31670         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
31671         smaller than the expected maximum need for the directive. Set errno to
31672         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
31673         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
31674         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
31675         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
31676         * modules/vasnprintf (Files): Add m4/printf.m4.
31677         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31678
31679 2010-04-10  Bruno Haible  <bruno@clisp.org>
31680
31681         vasnprintf: Fix crash in %ls directive.
31682         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
31683         string is passed as argument to %ls, with no precision and no width.
31684         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31685
31686 2010-04-10  Bruno Haible  <bruno@clisp.org>
31687
31688         vasnprintf: Fix multiple test failures on mingw.
31689         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
31690         _snprintf, or snwprintf, not _snwprintf.
31691
31692 2010-04-10  Bruno Haible  <bruno@clisp.org>
31693
31694         write: Fix a C++ test error on mingw.
31695         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
31696
31697 2010-04-10  Bruno Haible  <bruno@clisp.org>
31698
31699         vasnprintf test: Reduce code duplication.
31700         * tests/test-vasnprintf.c (test_function): New function, extracted from
31701         test_vasnprintf.
31702         (test_vasnprintf, test_asnprintf): Invoke it.
31703
31704 2010-04-10  Bruno Haible  <bruno@clisp.org>
31705
31706         strnlen: Fix warning in C++ mode on MacOS X.
31707         * lib/string.in.h (strnlen): Use the modern idiom.
31708         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
31709         defining strnlen as a macro already in <config.h>.
31710         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31711         REPLACE_STRNLEN.
31712         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
31713         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31714
31715 2010-04-08  James Youngman  <jay@gnu.org>
31716
31717         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
31718         the example.
31719
31720 2010-04-09  Jim Meyering  <meyering@redhat.com>
31721
31722         maint.mk: print better diagnostic when there is no $(_hv_file)
31723         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
31724         announce that when $(_hv_file) (aka help-version) does not exist.
31725
31726         init.sh: run tr in the "C" locale to avoid multibyte interpretation
31727         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
31728         not try to interpret its random input bytes.  Jarno Rajahalme reported
31729         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
31730         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
31731         (mktempd_): Likewise, just in case.
31732
31733         ftruncate: add two years to projected module removal date: 2012
31734         * m4/ftruncate.m4: Adjust comments.
31735
31736         ftruncate: mark module as obsolete; even MinGW provides it, now
31737         * modules/ftruncate (Status): Obsolete.
31738         (Notice): Say that.
31739         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
31740         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
31741
31742 2010-04-08  Bruno Haible  <bruno@clisp.org>
31743
31744         Fix side effects from tests-related modules.
31745         * modules/dprintf-posix (Comment): New section.
31746         * modules/fprintf-posix (Comment): Likewise.
31747         * modules/obstack-printf-posix (Comment): Likewise.
31748         * modules/printf-posix (Comment): Likewise.
31749         * modules/snprintf-posix (Comment): Likewise.
31750         * modules/sprintf-posix (Comment): Likewise.
31751         * modules/vasnprintf-posix (Comment): Likewise.
31752         * modules/vasprintf-posix (Comment): Likewise.
31753         * modules/vdprintf-posix (Comment): Likewise.
31754         * modules/vfprintf-posix (Comment): Likewise.
31755         * modules/vprintf-posix (Comment): Likewise.
31756         * modules/vsnprintf-posix (Comment): Likewise.
31757         * modules/vsprintf-posix (Comment): Likewise.
31758         * modules/xprintf-posix (Comment): Likewise.
31759         * modules/xvasprintf-posix (Comment): Likewise.
31760         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
31761         * modules/floorf-tests (Depends-on): Likewise.
31762         * modules/round-tests (Depends-on): Likewise.
31763         * modules/roundf-tests (Depends-on): Likewise.
31764         * modules/trunc-tests (Depends-on): Likewise.
31765         * modules/truncf-tests (Depends-on): Likewise.
31766         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31767         'fprintf-posix' module is not present.
31768         * tests/test-floorf2.c (check): Likewise.
31769         * tests/test-trunc2.c (check): Likewise.
31770         * tests/test-truncf2.c (check): Likewise.
31771         * tests/test-round2.c (equal): Likewise.
31772         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31773
31774 2010-04-07  Karl Berry  <karl@gnu.org>
31775
31776         * config/srclist.txt,
31777         * config/srclistvars.sh,
31778         * config/srclist-update: doc fixes.
31779
31780 2010-04-07  Jim Meyering  <meyering@redhat.com>
31781
31782         maint.mk: add a PATH crosschecking syntax-check rule
31783         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31784         Useful if you use a test like the one in help-version (coreutils,
31785         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31786         printed by prog --version.
31787
31788 2010-04-06  Bruno Haible  <bruno@clisp.org>
31789
31790         Fix link error on mingw.
31791         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31792         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31793
31794 2010-04-06  Bruno Haible  <bruno@clisp.org>
31795
31796         Assume rmdir exists.
31797         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31798
31799 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31800
31801         doc: update users.txt
31802         * users.txt: Add gcal.
31803
31804 2010-04-06  Jim Meyering  <meyering@redhat.com>
31805
31806         init.sh: simply unset TMPDIR rather than risking env -i
31807         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31808         although it probably works fine on all Unix-based systems, some
31809         systems (Cygwin?) cannot tolerate a totally cleared environment.
31810         Suggestion from Eric Blake.
31811
31812 2010-04-06  Jim Meyering  <meyering@redhat.com>
31813
31814         init.sh: portability fix: use env's POSIX-specified -i option not -u
31815         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31816         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31817
31818 2010-04-05  Bruno Haible  <bruno@clisp.org>
31819
31820         btowc: Work around Cygwin 1.7.2 bug.
31821         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31822         does not map NUL to 0.
31823         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31824
31825 2010-04-05  Bruno Haible  <bruno@clisp.org>
31826
31827         Make the multithread modules work on Cygwin 1.7.2.
31828         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31829         imported symbols can be declared weak, so that it returns "no" on
31830         Cygwin 1.7.2.
31831
31832 2010-04-05  Bruno Haible  <bruno@clisp.org>
31833
31834         Use the module 'strncat'.
31835         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31836
31837         Tests for module 'strncat'.
31838         * modules/strncat-tests: New file.
31839         * tests/test-strncat.c: New file.
31840
31841         New module 'strncat'.
31842         * lib/string.in.h (strncat): New declaration.
31843         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31844         * m4/strncat.m4: New file, based on m4/memchr.m4.
31845         * modules/strncat: New file.
31846         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31847         is declared.
31848         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31849         REPLACE_STRNCAT.
31850         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31851         REPLACE_STRNCAT.
31852         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31853         module.
31854         * tests/test-string-c++.cc: Check signature of strncat.
31855
31856 2010-04-05  Jim Meyering  <meyering@redhat.com>
31857
31858         xstrtoumax-tests: convert to use init.sh
31859         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31860         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31861         Use Exit, not exit.
31862         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31863
31864         xstrtoimax-tests: convert to use init.sh
31865         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31866         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31867         Use Exit, not exit.
31868         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31869
31870 2010-04-05  Bruno Haible  <bruno@clisp.org>
31871
31872         sys_socket: Avoid #define replacements in C++ mode.
31873         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31874         warning to the function if possible, rather than #defining the symbol
31875         to a dysfunctional alias.
31876
31877 2010-04-05  Bruno Haible  <bruno@clisp.org>
31878
31879         fseeko: Fix C++ test error on mingw.
31880         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31881         gl_FUNC_FSEEKO.
31882         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31883         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31884         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31885         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31886
31887 2010-04-05  Bruno Haible  <bruno@clisp.org>
31888
31889         duplocale: Improve test output.
31890         * tests/test-duplocale.c (main): Print reason for skipped test.
31891
31892 2010-04-05  Bruno Haible  <bruno@clisp.org>
31893
31894         Assume rmdir exists.
31895         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31896         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31897
31898 2010-04-05  Bruno Haible  <bruno@clisp.org>
31899
31900         Fix link error on Solaris 8 with cc.
31901         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31902
31903 2010-04-05  Bruno Haible  <bruno@clisp.org>
31904
31905         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31906         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31907
31908 2010-04-05  Bruno Haible  <bruno@clisp.org>
31909
31910         vasprintf: Update documentation.
31911         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31912
31913 2010-04-05  Bruno Haible  <bruno@clisp.org>
31914
31915         ptsname: Improve test.
31916         * tests/test-ptsname.c (main): Also try the various master names of BSD
31917         systems.
31918
31919 2010-04-05  Bruno Haible  <bruno@clisp.org>
31920
31921         memchr: Avoid a possible C++ test error.
31922         * lib/string.in.h (memchr): Provide declaration if function is missing.
31923         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31924         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31926         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31927
31928 2010-04-05  Bruno Haible  <bruno@clisp.org>
31929
31930         strtok_r: Improve idiom.
31931         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31932         AC_LIBOBJ is used.
31933
31934 2010-04-05  Bruno Haible  <bruno@clisp.org>
31935
31936         strdup: Improve idiom.
31937         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
31938         AC_LIBOBJ is used.
31939         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
31940         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
31941         when AC_LIBOBJ is used.
31942
31943 2010-04-05  Bruno Haible  <bruno@clisp.org>
31944
31945         mbsinit, mbrtowc, wcrtomb: Improve idioms.
31946         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
31947         don't set REPLACE_MBSINIT to 1.
31948         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
31949         don't set REPLACE_MBRTOWC to 1.
31950         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
31951         exist, don't set REPLACE_MBSRTOWCS to 1.
31952         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
31953         exist, don't set REPLACE_MBSNRTOWCS to 1.
31954         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
31955         don't set REPLACE_WCRTOMB to 1.
31956         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
31957         exist, don't set REPLACE_WCSRTOMBS to 1.
31958         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
31959         exist, don't set REPLACE_WCSNRTOMBS to 1.
31960
31961 2010-04-05  Bruno Haible  <bruno@clisp.org>
31962
31963         ldexpl: Improve idiom.
31964         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
31965         make sure to set HAVE_DECL_LDEXPL to 0.
31966
31967 2010-04-05  Jim Meyering  <meyering@redhat.com>
31968
31969         xstrtol-tests: convert to use init.sh
31970         * modules/xstrtol-tests (Files): Add tests/init.sh.
31971         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31972         Use Exit, not exit.
31973         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31974
31975         atexit-tests: convert to use init.sh
31976         * modules/atexit-tests (Files): Add tests/init.sh.
31977         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31978         Use Exit, not exit.
31979         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31980
31981         init.sh: fix typo
31982         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31983
31984         init.sh: make it easier for a test script to write to the tty, ...
31985         when using automake's parallel-tests mode.
31986         * tests/init.sh (stderr_fileno_): Define overridable variable.
31987         (warn_): New function, to use it.
31988         (fail_, skip_, framework_failure_): Use warn_.
31989
31990 2010-04-04  Bruno Haible  <bruno@clisp.org>
31991
31992         btowc: Avoid warning.
31993         * lib/btowc.c: Include <stdlib.h>.
31994         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31995
31996 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31997             Bruno Haible  <bruno@clisp.org>
31998
31999         wchar: Port to NetBSD 1.5.
32000         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
32001         * lib/wctype.in.h (WEOF): Likewise.
32002
32003 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32004             Bruno Haible  <bruno@clisp.org>
32005
32006         Port extended stdio to NetBSD 1.5.
32007         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
32008         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
32009         older.
32010
32011 2010-04-04  Bruno Haible  <bruno@clisp.org>
32012
32013         string: Remove unused substitution.
32014         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
32015         HAVE_DECL_STRERROR.
32016         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
32017
32018 2010-04-04  Bruno Haible  <bruno@clisp.org>
32019
32020         strtod: Avoid a possible C++ test error.
32021         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
32022         set REPLACE_STRTOD.
32023
32024 2010-04-04  Bruno Haible  <bruno@clisp.org>
32025
32026         strerror: Update documentation.
32027         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
32028
32029 2010-04-04  Bruno Haible  <bruno@clisp.org>
32030
32031         stdio: Fix some C++ test errors on Solaris 8 with GCC.
32032         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
32033         _GL_CXXALIAS_SYS_CAST.
32034
32035 2010-04-04  Bruno Haible  <bruno@clisp.org>
32036
32037         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32038         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
32039         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
32040         REPLACE_FREXPL to 1.
32041         * doc/posix-functions/frexpl.texi: Update documentation.
32042
32043 2010-04-04  Bruno Haible  <bruno@clisp.org>
32044
32045         math: Fix some C++ test errors on Solaris 8 and Cygwin.
32046         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
32047
32048 2010-04-04  Bruno Haible  <bruno@clisp.org>
32049
32050         Implement nanosleep for native Windows.
32051         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
32052
32053 2010-04-04  Bruno Haible  <bruno@clisp.org>
32054
32055         math: Fix some C++ test errors on Solaris 8.
32056         * lib/math.in.h (truncf, trunc): Use simpler idiom.
32057
32058 2010-04-04  Bruno Haible  <bruno@clisp.org>
32059
32060         math: Fix some C++ test errors on Cygwin.
32061         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
32062         truncl): Provide declaration if the system does not have it.
32063         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
32064         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
32065         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
32066         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
32067         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
32068         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
32069         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
32070         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
32071         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
32072         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
32073         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
32074         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
32075         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
32076         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
32077         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
32078         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
32079         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
32080         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32081         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32082         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
32083         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32084         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32085
32086 2010-04-04  Bruno Haible  <bruno@clisp.org>
32087
32088         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
32089         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32090         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32091         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32092         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32093         * m4/isinf.m4 (gl_ISINF): Likewise.
32094         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32095
32096 2010-04-04  Bruno Haible  <bruno@clisp.org>
32097
32098         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
32099         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32100
32101 2010-04-04  Bruno Haible  <bruno@clisp.org>
32102
32103         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
32104         * modules/tmpfile (configure.ac): Update.
32105
32106         tmpfile: Fix C++ test error on mingw.
32107         * lib/stdio.in.h (tmpfile): New declaration.
32108         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
32109         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
32110         * modules/tmpfile (Depends-on): Add stdio.
32111         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32112         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
32113         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
32114         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
32115         REPLACE_TMPFILE.
32116         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
32117
32118 2010-04-04  Bruno Haible  <bruno@clisp.org>
32119
32120         ioctl: Fix C++ test error on mingw.
32121         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
32122         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
32123         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
32124
32125 2010-04-03  Bruno Haible  <bruno@clisp.org>
32126
32127         wcwidth: Fix C++ test error on mingw.
32128         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
32129         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
32130         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
32131
32132 2010-04-03  Bruno Haible  <bruno@clisp.org>
32133
32134         nanosleep: Fix C++ test error on mingw.
32135         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
32136         * lib/time.in.h (nanosleep): Use modern idiom.
32137         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
32138         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
32139         REPLACE_NANOSLEEP to 1.
32140         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
32141         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
32142
32143 2010-04-03  Bruno Haible  <bruno@clisp.org>
32144
32145         strptime: Fix C++ test error on mingw.
32146         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
32147         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
32148         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
32149         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
32150         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
32151         not REPLACE_STRPTIME.
32152         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
32153         REPLACE_STRPTIME.
32154
32155 2010-04-03  Bruno Haible  <bruno@clisp.org>
32156
32157         timegm: Fix C++ test error on mingw.
32158         * lib/time.in.h (timegm): Use modern idiom.
32159         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
32160         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
32161         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
32162         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
32163
32164 2010-04-03  Bruno Haible  <bruno@clisp.org>
32165
32166         timegm: Assume declaration if function exists.
32167         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
32168         if it exists. Don't clobber ac_cv_func_timegm.
32169
32170 2010-04-03  Bruno Haible  <bruno@clisp.org>
32171
32172         time_r: Fix C++ test error on mingw.
32173         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
32174         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
32175         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
32176         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
32177         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
32178
32179 2010-04-03  Bruno Haible  <bruno@clisp.org>
32180
32181         time_r: Minor updates.
32182         * modules/time_r (Description): Mention the provided functions.
32183         * lib/time_r.c: Don't include <string.h>.
32184         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
32185         * doc/posix-functions/localtime_r.texi: Likewise.
32186
32187 2010-04-03  Bruno Haible  <bruno@clisp.org>
32188
32189         time: Fix regression introduced on 2010-03-08.
32190         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
32191         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
32192
32193 2010-04-03  Jim Meyering  <meyering@redhat.com>
32194
32195         maint.mk: don't silently disable project-specific syntax-check rules
32196         * top/maint.mk (_prohibit_regexp): Define, to help people realize
32197         that they need to convert their project-specific syntax-check rules
32198         to use the new _sc_search_regexp.
32199
32200 2010-04-03  Bruno Haible  <bruno@clisp.org>
32201
32202         fchdir: Fix regression introduced on 2010-03-08.
32203         * lib/unistd.in.h (fchdir): Fix declaration.
32204         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
32205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
32206         REPLACE_FCHDIR.
32207         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
32208         REPLACE_FCHDIR.
32209
32210 2010-04-03  Bruno Haible  <bruno@clisp.org>
32211
32212         getpagesize: Fix C++ test error on mingw.
32213         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
32214         system does not declare the function.
32215         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
32216         declared.
32217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32218         HAVE_DECL_GETPAGESIZE.
32219         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
32220
32221 2010-04-03  Bruno Haible  <bruno@clisp.org>
32222
32223         stdio: Make C++ tests work on mingw.
32224         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
32225         does not declare the function.
32226
32227 2010-04-03  Bruno Haible  <bruno@clisp.org>
32228
32229         ftello: Fix C++ test error on mingw.
32230         * lib/stdio.in.h (ftello): Use modern idiom.
32231         * lib/ftello.c (ftello): Renamed from rpl_ftello.
32232         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
32233         is missing and that it needs to be replaced.
32234         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
32235         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
32236         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
32237
32238 2010-04-03  Bruno Haible  <bruno@clisp.org>
32239
32240         fseeko: Fix C++ test error on mingw.
32241         * lib/stdio.in.h (fseeko): Use modern idiom.
32242         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
32243         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
32244         is missing and that it needs to be replaced.
32245         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
32246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
32247         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
32248
32249 2010-04-03  Bruno Haible  <bruno@clisp.org>
32250
32251         mkstemp: Fix C++ test error on mingw.
32252         * lib/stdlib.in.h (mkstemp): Use modern idiom.
32253         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
32254         function is missing and that it needs to be replaced.
32255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
32256         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
32257
32258 2010-04-03  Bruno Haible  <bruno@clisp.org>
32259
32260         stpncpy: Fix C++ test error on mingw.
32261         * lib/string.in.h (stpncpy): Use modern idiom.
32262         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
32263         function is missing and that it needs to be replaced.
32264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32265         REPLACE_STPNCPY.
32266         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
32267
32268 2010-04-03  Bruno Haible  <bruno@clisp.org>
32269
32270         sys_stat: Fix C++ test error on mingw.
32271         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
32272         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
32273
32274 2010-04-03  Bruno Haible  <bruno@clisp.org>
32275
32276         pty: Update doc.
32277         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
32278
32279 2010-04-03  Bruno Haible  <bruno@clisp.org>
32280
32281         unistd: Fix C++ test error on mingw.
32282         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
32283
32284 2010-04-03  Bruno Haible  <bruno@clisp.org>
32285
32286         Update doc regarding mingw.
32287         * doc/glibc-functions/openpty.texi: Update regarding mingw.
32288         * doc/glibc-functions/login_tty.texi: Likewise.
32289         * doc/glibc-functions/forkpty.texi: Likewise.
32290
32291 2010-04-03  Bruno Haible  <bruno@clisp.org>
32292
32293         stdlib: Avoid compilation failure of c-strtold on mingw.
32294         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
32295
32296 2010-04-03  Bruno Haible  <bruno@clisp.org>
32297
32298         locale: Make C++ tests work on Cygwin and mingw.
32299         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
32300         cannot provide the function.
32301         Reported by Simon Josefsson.
32302
32303 2010-04-03  Bruno Haible  <bruno@clisp.org>
32304
32305         localename: Port to MacOS X 10.6.
32306         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
32307         memory layout of the locales in MacOS X 10.6 as well.
32308         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
32309
32310 2010-04-02  Bruno Haible  <bruno@clisp.org>
32311
32312         gnulib-tool: Ensure that long-running tests are executed last.
32313         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
32314         running tests after the one for the other tests.
32315
32316 2010-04-02  Bruno Haible  <bruno@clisp.org>
32317
32318         gnulib-tool: Ensure the tests in the main directory are executed first.
32319         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
32320         start with the current directory.
32321
32322 2010-04-02  Bruno Haible  <bruno@clisp.org>
32323
32324         Tests for module 'havelib', moved here from GNU gettext.
32325         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
32326         modifications.
32327         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
32328         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
32329         with modifications.
32330         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
32331         modifications.
32332         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
32333         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
32334         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
32335         with modifications.
32336         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
32337         with modifications.
32338         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
32339         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
32340         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
32341         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
32342         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
32343         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32344         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32345         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32346         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32347         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32348         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32349         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32350         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32351         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32352         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32353         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32354         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32355         with modifications.
32356         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32357         with modifications.
32358         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32359         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32360         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32361         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32362         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32363         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32364         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32365         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32366         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32367         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32368         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32369         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32370         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32371         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32372         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32373         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32374         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32375         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32376         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32377         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32378         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32379         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32380         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32381         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32382         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32383         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32384         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32385         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32386         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32387         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32388         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32389         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32390         * tests/havelib/rpathx/rpathx.c: New file, from
32391         gettext/autoconf-lib-link.
32392         * tests/havelib/rpathx/Makefile.am: New file, from
32393         gettext/autoconf-lib-link.
32394         * tests/havelib/rpathx/configure.ac: New file, from
32395         gettext/autoconf-lib-link with modifications.
32396         * tests/havelib/rpathy/rpathy.c: New file, from
32397         gettext/autoconf-lib-link.
32398         * tests/havelib/rpathy/Makefile.am: New file, from
32399         gettext/autoconf-lib-link.
32400         * tests/havelib/rpathy/configure.ac: New file, from
32401         gettext/autoconf-lib-link with modifications.
32402         * tests/havelib/rpathz/rpathz.c: New file, from
32403         gettext/autoconf-lib-link.
32404         * tests/havelib/rpathz/Makefile.am: New file, from
32405         gettext/autoconf-lib-link.
32406         * tests/havelib/rpathz/configure.ac: New file, from
32407         gettext/autoconf-lib-link with modifications.
32408         * tests/havelib/rpathlx/usex.c: New file, from
32409         gettext/autoconf-lib-link.
32410         * tests/havelib/rpathlx/Makefile.am: New file, from
32411         gettext/autoconf-lib-link.
32412         * tests/havelib/rpathlx/configure.ac: New file, from
32413         gettext/autoconf-lib-link with modifications.
32414         * tests/havelib/rpathly/usey.c: New file, from
32415         gettext/autoconf-lib-link.
32416         * tests/havelib/rpathly/Makefile.am: New file, from
32417         gettext/autoconf-lib-link.
32418         * tests/havelib/rpathly/configure.ac: New file, from
32419         gettext/autoconf-lib-link with modifications.
32420         * tests/havelib/rpathlz/usez.c: New file, from
32421         gettext/autoconf-lib-link.
32422         * tests/havelib/rpathlz/Makefile.am: New file, from
32423         gettext/autoconf-lib-link.
32424         * tests/havelib/rpathlz/configure.ac: New file, from
32425         gettext/autoconf-lib-link with modifications.
32426         * tests/havelib/rpathlyx/usey.c: New file, from
32427         gettext/autoconf-lib-link.
32428         * tests/havelib/rpathlyx/Makefile.am: New file, from
32429         gettext/autoconf-lib-link.
32430         * tests/havelib/rpathlyx/configure.ac: New file, from
32431         gettext/autoconf-lib-link with modifications.
32432         * tests/havelib/rpathlzyx/usez.c: New file, from
32433         gettext/autoconf-lib-link.
32434         * tests/havelib/rpathlzyx/Makefile.am: New file, from
32435         gettext/autoconf-lib-link.
32436         * tests/havelib/rpathlzyx/configure.ac: New file, from
32437         gettext/autoconf-lib-link with modifications.
32438         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
32439         with modifications.
32440
32441 2010-04-02  Bruno Haible  <bruno@clisp.org>
32442
32443         gnulib-tool: Create distributed built sources also for the tests.
32444         * gnulib-tool (func_create_testdir): Also generate distributed built
32445         sources in the tests directory.
32446
32447 2010-04-02  Bruno Haible  <bruno@clisp.org>
32448
32449         gnulib-tool: Obey user's environment variables.
32450         * gnulib-tool (func_create_testdir): When creating built sources,
32451         respect the environment variables for autoconf, automake, etc. given by
32452         the user.
32453
32454 2010-04-02  Bruno Haible  <bruno@clisp.org>
32455
32456         gnulib-tool: Provide the value of --m4-base to modules.
32457         * gnulib-tool (func_import, func_create_testdir): Emit a definition
32458         of gl_m4_base.
32459
32460 2010-04-02  Eric Blake  <eblake@redhat.com>
32461
32462         maint.mk: fix some fallout
32463         * NEWS: Document the incompatible change, and its effect on cfg.mk.
32464         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
32465
32466 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32467
32468         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
32469         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
32470         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
32471         (sc_cast_of_x_alloc_return_value): Likewise.
32472         (sc_cast_of_alloca_return_value): Likewise.
32473         (sc_space_tab): Likewise.
32474         (sc_prohibit_atoi_atof): Likewise.
32475         (sc_prohibit_magic_number_exit): Likewise.
32476         (sc_error_exit_success): Likewise.
32477         (sc_file_system): Likewise.
32478         (sc_prohibit_have_config_h): Likewise.
32479         (sc_require_config_h): Likewise.
32480         (sc_prohibit_HAVE_MBRTOWC): Likewise.
32481         (sc_obsolete_symbols): Likewise.
32482         (sc_changelog): Likewise.
32483         (sc_program_name): Likewise.
32484         (sc_the_the): Likewise.
32485         (sc_trailing_blank): Likewise.
32486         (sc_two_space_separator_in_usage): Likewise.
32487         (sc_useless_cpp_parens): Likewise.
32488         (sc_GPL_version): Likewise.
32489         (sc_GFDL_version): Likewise.
32490         (sc_texinfo_acronym): Likewise.
32491         (sc_prohibit_cvs_keyword): Likewise.
32492         (sc_prohibit_stat_st_blocks): Likewise.
32493         (sc_prohibit_S_IS_definition): Likewise.
32494         (sc_redundant_const): Likewise.
32495         (sc_makefile_TAB_only_indentation): Likewise.
32496         (sc_m4_quote_check): Likewise.
32497         (sc_makefile_path_separator_check): Likewise.
32498         (sc_copyright_check): Likewise.
32499         (sc_Wundef_boolean): Likewise.
32500         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
32501
32502         maint.mk: match 0 or more whitespace-before-function-call '('
32503         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
32504         that have zero or two-and-more spaces between the function name
32505         and the open parenthesis.
32506         (sc_error_message_warn_fatal): Likewise.
32507         (sc_error_message_uppercase): Likewise.
32508         (sc_error_message_period): Likewise.
32509
32510 2010-03-31  Eric Blake  <eblake@redhat.com>
32511
32512         maint.mk: check for [ as well as test
32513         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
32514         Based on a libvirt report by Matthias Bolte.
32515
32516         gnumakefile: don't squelch _version output
32517         * top/GNUmakefile (_version): Create one-shot dependency rather
32518         than using $(shell) when version must be regenerated.
32519         (_autoreconf): Run verbosely, by default.
32520
32521         sys_time: avoid compiler warnings
32522         * lib/sys_time.in.h (includes): Ensure gcc pragma is
32523         unconditional, fixing regression from 2010-03-29.
32524         Reported by Simon Josefsson.
32525
32526 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32527
32528         maint.mk: s/_header_without_use/_sc_header_without_use/
32529         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
32530         (sc_prohibit_assert_without_use): Use the new name.
32531         (sc_prohibit_close_stream_without_use): Likewise.
32532         (sc_prohibit_getopt_without_use): Likewise.
32533         (sc_prohibit_quotearg_without_use): Likewise.
32534         (sc_prohibit_quote_without_use): Likewise.
32535         (sc_prohibit_long_options_without_use): Likewise.
32536         (sc_prohibit_inttostr_without_use): Likewise.
32537         (sc_prohibit_ignore_value_without_use): Likewise.
32538         (sc_prohibit_error_without_use): Likewise.
32539         (sc_prohibit_xalloc_without_use): Likewise.
32540         (sc_prohibit_hash_without_use): Likewise.
32541         (sc_prohibit_hash_pjw_without_use): Likewise.
32542         (sc_prohibit_safe_read_without_use): Likewise.
32543         (sc_prohibit_argmatch_without_use): Likewise.
32544         (sc_prohibit_canonicalize_without_use): Likewise.
32545         (sc_prohibit_root_dev_ino_without_use): Likewise.
32546         (sc_prohibit_openat_without_use): Likewise.
32547         (sc_prohibit_c_ctype_without_use): Likewise.
32548         (sc_prohibit_signal_without_use): Likewise.
32549         (sc_prohibit_intprops_without_use): Likewise.
32550
32551 2010-03-30  Eric Blake  <eblake@redhat.com>
32552
32553         maint: improve module indicators
32554         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
32555         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
32556         columns, and avoid extra macro expansion.
32557
32558         fdopendir: work around FreeBSD bug
32559         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32560         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
32561         * modules/dirent (Makefile.am): Substitute it.
32562         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
32563         declaration.
32564         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
32565         fix.
32566         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32567
32568 2010-03-29  Bruno Haible  <bruno@clisp.org>
32569
32570         Emit #pragma system_header after the inclusion guard, not before.
32571         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
32572         guard that spans the entire file, not before. This enables an
32573         optimization in GCC's preprocessor.
32574         * lib/ctype.in.h: Likewise.
32575         * lib/dirent.in.h: Likewise.
32576         * lib/errno.in.h: Likewise.
32577         * lib/float.in.h: Likewise.
32578         * lib/getopt.in.h: Likewise.
32579         * lib/iconv.in.h: Likewise.
32580         * lib/langinfo.in.h: Likewise.
32581         * lib/locale.in.h: Likewise.
32582         * lib/math.in.h: Likewise.
32583         * lib/netdb.in.h: Likewise.
32584         * lib/netinet_in.in.h: Likewise.
32585         * lib/pty.in.h: Likewise.
32586         * lib/sched.in.h: Likewise.
32587         * lib/se-selinux.in.h: Likewise.
32588         * lib/search.in.h: Likewise.
32589         * lib/spawn.in.h: Likewise.
32590         * lib/stdarg.in.h: Likewise.
32591         * lib/stdint.in.h: Likewise.
32592         * lib/string.in.h: Likewise.
32593         * lib/strings.in.h: Likewise.
32594         * lib/sys_file.in.h: Likewise.
32595         * lib/sys_ioctl.in.h: Likewise.
32596         * lib/sys_time.in.h: Likewise.
32597         * lib/sys_times.in.h: Likewise.
32598         * lib/sys_utsname.in.h: Likewise.
32599         * lib/sys_wait.in.h: Likewise.
32600         * lib/sysexits.in.h: Likewise.
32601         * lib/wctype.in.h: Likewise.
32602
32603 2010-03-28  James Youngman  <jay@gnu.org>
32604
32605         save-cwd: don't leak a file descriptor when the caller execs.
32606         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
32607         saved file descriptor.
32608         * modules/save-cwd (Depends-on): Depend on cloexec.
32609
32610 2010-03-29  Bruno Haible  <bruno@clisp.org>
32611
32612         Remove vestiges of fts-lgpl module.
32613         * lib/fts_.h: Assume GNULIB_FTS is 1.
32614         * lib/fts.c: Likewise.
32615         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32616
32617 2010-03-28  Bruno Haible  <bruno@clisp.org>
32618
32619         Fix definition of tests witness macro.
32620         * gnulib-tool (func_import): Fix definition of witness macro.
32621
32622 2010-03-28  Bruno Haible  <bruno@clisp.org>
32623
32624         Fix ioctl's protoype on glibc systems.
32625         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
32626         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
32627         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
32628         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
32629         signature. If not, arrange to replace the ioctl function.
32630         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32631         REPLACE_IOCTL.
32632         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
32633         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
32634         Reported by Ludovic Courtès <ludo@gnu.org>.
32635
32636 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
32637
32638         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
32639         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
32640         made it so grep -r --include=GLOB* ... did not work.
32641
32642 2010-03-26  Jim Meyering  <meyering@redhat.com>
32643             Eric Blake  <eblake@redhat.com>
32644
32645         maint.mk: prohibit use of test's -o and -a operators
32646         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
32647
32648 2010-03-28  Bruno Haible  <bruno@clisp.org>
32649
32650         Remove unused GNULIB_XYZ macro definitions.
32651         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
32652         invocation.
32653
32654 2010-03-28  Bruno Haible  <bruno@clisp.org>
32655
32656         Mark privileged tests modules.
32657         * modules/idpriv-drop-tests (Status): New section.
32658         * modules/idpriv-droptemp-tests (Status): New section.
32659
32660 2010-03-28  Bruno Haible  <bruno@clisp.org>
32661
32662         Split C++ tests into separate tests modules.
32663         * modules/dirent-c++-tests: New file, extracted from
32664         modules/dirent-tests.
32665         * modules/dirent-tests: Depend on it.
32666         * modules/fcntl-h-c++-tests: New file, extracted from
32667         modules/fcntl-h-tests.
32668         * modules/fcntl-h-tests: Depend on it.
32669         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
32670         * modules/glob-tests: Depend on it.
32671         * modules/iconv-h-c++-tests: New file, extracted from
32672         modules/iconv-h-tests.
32673         * modules/iconv-h-tests: Depend on it.
32674         * modules/langinfo-c++-tests: New file, extracted from
32675         modules/langinfo-tests.
32676         * modules/langinfo-tests: Depend on it.
32677         * modules/locale-c++-tests: New file, extracted from
32678         modules/locale-tests.
32679         * modules/locale-tests: Depend on it.
32680         * modules/math-c++-tests: New file, extracted from modules/math-tests.
32681         * modules/math-tests: Depend on it.
32682         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
32683         * modules/pty-tests: Depend on it.
32684         * modules/search-c++-tests: New file, extracted from
32685         modules/search-tests.
32686         * modules/search-tests: Depend on it.
32687         * modules/signal-c++-tests: New file, extracted from
32688         modules/signal-tests.
32689         * modules/signal-tests: Depend on it.
32690         * modules/spawn-c++-tests: New file, extracted from
32691         modules/spawn-tests.
32692         * modules/spawn-tests: Depend on it.
32693         * modules/stdio-c++-tests: New file, extracted from
32694         modules/stdio-tests.
32695         * modules/stdio-tests: Depend on it.
32696         * modules/stdlib-c++-tests: New file, extracted from
32697         modules/stdlib-tests.
32698         * modules/stdlib-tests: Depend on it.
32699         * modules/string-c++-tests: New file, extracted from
32700         modules/string-tests.
32701         * modules/string-tests: Depend on it.
32702         * modules/sys_ioctl-c++-tests: New file, extracted from
32703         modules/sys_ioctl-tests.
32704         * modules/sys_ioctl-tests: Depend on it.
32705         * modules/sys_select-c++-tests: New file, extracted from
32706         modules/sys_select-tests.
32707         * modules/sys_select-tests: Depend on it.
32708         * modules/sys_socket-c++-tests: New file, extracted from
32709         modules/sys_socket-tests.
32710         * modules/sys_socket-tests: Depend on it.
32711         * modules/sys_stat-c++-tests: New file, extracted from
32712         modules/sys_stat-tests.
32713         * modules/sys_stat-tests: Depend on it.
32714         * modules/sys_time-c++-tests: New file, extracted from
32715         modules/sys_time-tests.
32716         * modules/sys_time-tests: Depend on it.
32717         * modules/time-c++-tests: New file, extracted from modules/time-tests.
32718         * modules/time-tests: Depend on it.
32719         * modules/unistd-c++-tests: New file, extracted from
32720         modules/unistd-tests.
32721         * modules/unistd-tests: Depend on it.
32722         * modules/wchar-c++-tests: New file, extracted from
32723         modules/wchar-tests.
32724         * modules/wchar-tests: Depend on it.
32725         * modules/wctype-c++-tests: New file, extracted from
32726         modules/wctype-tests.
32727         * modules/wctype-tests: Depend on it.
32728         Reported by Simon Josefsson.
32729
32730 2010-03-28  Bruno Haible  <bruno@clisp.org>
32731
32732         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
32733         * gnulib-tool (func_exists_module): New function, extracted from
32734         func_verify_module.
32735         (func_verify_module): Use it.
32736         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
32737         'foo' only if 'foo' exists.
32738         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
32739         module.
32740
32741 2010-03-28  Bruno Haible  <bruno@clisp.org>
32742
32743         gnulib-tool: Add support for special categories of tests.
32744         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
32745         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
32746         (func_usage): Document them.
32747         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
32748         inc_unportable_tests, inc_all_tests): New variables.
32749         (func_acceptable): Consider these variables.
32750         (func_modules_transitive_closure): Make it work when the 'Status' field
32751         consists of multiple words.
32752         (func_import): Store and restore the values of inc_cxx_tests,
32753         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
32754         inc_all_tests in gnulib-comp.m4.
32755         (func_create_testdir): Set inc_all_tests to true.
32756         * doc/gnulib.texi (Extra tests modules): New section.
32757         Suggested by Jim Meyering.
32758
32759 2010-03-28  Bruno Haible  <bruno@clisp.org>
32760
32761         ansi-c++-opt: Allow turning off the C++ build by default.
32762         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
32763         gl_CXX_CHOICE_DEFAULT_NO is defined.
32764         Requested by Eric Blake.
32765
32766 2010-03-28  Bruno Haible  <bruno@clisp.org>
32767
32768         unistd: Avoid #define replacements in C++ mode.
32769         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32770         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32771         setsockopt, shutdown, select): In C++, attach a warning to the function
32772         if possible, rather than #defining the symbol to a dysfunctional alias.
32773         Reported by John W. Eaton <jwe@gnu.org>.
32774
32775 2010-03-28  Bruno Haible  <bruno@clisp.org>
32776
32777         Fix link errors on mingw.
32778         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32779         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32780         $(LIBSOCKET).
32781         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32782         $(LIBSOCKET).
32783
32784 2010-03-28  Bruno Haible  <bruno@clisp.org>
32785             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32786
32787         lib-ignore: Determine different options for different compilers.
32788         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32789         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32790         Add comments.
32791         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32792         * NEWS: Mention the change.
32793
32794 2010-03-27  Bruno Haible  <bruno@clisp.org>
32795
32796         Remove unused GNULIB_XYZ macro definitions.
32797         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32798         * modules/fseek (configure.ac): Likewise.
32799         * modules/ioctl (configure.ac): Likewise.
32800         * modules/open (configure.ac): Likewise.
32801         * modules/stdlib-safer (configure.ac): Likewise.
32802
32803 2010-03-27  Bruno Haible  <bruno@clisp.org>
32804
32805         Add a remark about certain modules.
32806         * modules/malloc (Comment): New section.
32807         * modules/realloc (Comment): Likewise.
32808         * modules/sigpipe (Comment): Likewise.
32809
32810 2010-03-27  Bruno Haible  <bruno@clisp.org>
32811
32812         Resolve conflict between the two kinds of module indicators.
32813         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32814         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32815         * modules/canonicalize (configure.ac): Invoke
32816         gl_MODULE_INDICATOR_FOR_TESTS.
32817         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32818         GNULIB_XYZ.
32819         * tests/test-dirent-c++.cc: Likewise.
32820         * tests/test-dirent-safer.c: Likewise.
32821         * tests/test-dup2.c: Likewise.
32822         * tests/test-fchdir.c: Likewise.
32823         * tests/test-fcntl-h-c++.cc: Likewise.
32824         * tests/test-getopt.c: Likewise.
32825         * tests/test-getopt.h: Likewise.
32826         * tests/test-langinfo-c++.cc: Likewise.
32827         * tests/test-locale-c++.cc: Likewise.
32828         * tests/test-math-c++.cc: Likewise.
32829         * tests/test-pty-c++.cc: Likewise.
32830         * tests/test-search-c++.cc: Likewise.
32831         * tests/test-signal-c++.cc: Likewise.
32832         * tests/test-spawn-c++.cc: Likewise.
32833         * tests/test-stdio-c++.cc: Likewise.
32834         * tests/test-stdlib-c++.cc: Likewise.
32835         * tests/test-string-c++.cc: Likewise.
32836         * tests/test-sys_ioctl-c++.cc: Likewise.
32837         * tests/test-sys_select-c++.cc: Likewise.
32838         * tests/test-sys_socket-c++.cc: Likewise.
32839         * tests/test-sys_stat-c++.cc: Likewise.
32840         * tests/test-sys_time-c++.cc: Likewise.
32841         * tests/test-time-c++.cc: Likewise.
32842         * tests/test-unistd-c++.cc: Likewise.
32843         * tests/test-wchar-c++.cc: Likewise.
32844         * tests/uninorm/test-u8-nfc.c: Likewise.
32845         * tests/uninorm/test-u8-nfd.c: Likewise.
32846         * tests/uninorm/test-u8-nfkc.c: Likewise.
32847         * tests/uninorm/test-u8-nfkd.c: Likewise.
32848         * tests/uninorm/test-u16-nfc.c: Likewise.
32849         * tests/uninorm/test-u16-nfd.c: Likewise.
32850         * tests/uninorm/test-u16-nfkc.c: Likewise.
32851         * tests/uninorm/test-u16-nfkd.c: Likewise.
32852         * tests/uninorm/test-u32-nfc.c: Likewise.
32853         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32854         * tests/uninorm/test-u32-nfd.c: Likewise.
32855         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32856         * tests/uninorm/test-u32-nfkc.c: Likewise.
32857         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32858         * tests/uninorm/test-u32-nfkd.c: Likewise.
32859         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32860         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32861
32862 2010-03-27  Bruno Haible  <bruno@clisp.org>
32863
32864         Distinguish two kinds of module indicators.
32865         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32866         gl_MODULE_INDICATOR.
32867         (gl_MODULE_INDICATOR): New macro.
32868         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32869         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32870         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32871         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32872         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32873         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32874         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32875         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32876         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32877         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32878         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32879         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32880         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32881         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32882         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32883         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32884         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32885         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32886         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32887         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32888         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32889         * modules/cloexec (configure.ac): Likewise.
32890         * modules/getopt-gnu (configure.ac): Likewise.
32891         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32892         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32893         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32894         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32895
32896 2010-03-27  Bruno Haible  <bruno@clisp.org>
32897
32898         New module description field 'Comment'.
32899         * gnulib-tool: New option --extract-comment.
32900         (func_usage): Document it.
32901         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32902         (func_get_comment): New function.
32903         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32904
32905 2010-03-27  Bruno Haible  <bruno@clisp.org>
32906
32907         Addendum to 2010-02-07 commit.
32908         * gnulib-tool (func_usage): Document --extract-applicability option.
32909
32910 2010-03-27  Bruno Haible  <bruno@clisp.org>
32911
32912         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32913         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32914         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32915         rather than link errors.
32916
32917 2010-03-27  Bruno Haible  <bruno@clisp.org>
32918
32919         Avoid side effects from tests-related modules on the compilation of lib.
32920         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32921         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32922         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32923         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32924         macro.
32925         (func_import): Define a witness macro. Assign it a value that depends
32926         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32927         tests-related modules.
32928         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32929         Reported by Jim Meyering.
32930
32931 2010-03-27  Bruno Haible  <bruno@clisp.org>
32932
32933         Factorize common .m4 code.
32934         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32935         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32936         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32937         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
32938         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32939         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
32940         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
32941         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32942         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32943         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32944         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
32945         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32946         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32947         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32948         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32949         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
32950         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32951         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32952         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32953         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
32954         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
32955         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32956         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32957         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32958         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32959         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32960         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
32961         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
32962         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
32963         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32964         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32965         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32966
32967 2010-03-27  Bruno Haible  <bruno@clisp.org>
32968
32969         Fix a compilation error on Cygwin with g++ >= 4.3.
32970         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
32971         if it is undefined or if we alias it to chmod.
32972         (lstat): Don't warn about the use of this function if it is undefined
32973         or if we alias it to stat.
32974         Reported by Simon Josefsson.
32975
32976 2010-03-27  Bruno Haible  <bruno@clisp.org>
32977
32978         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32979         * modules/getlogin (configure.ac): Update.
32980
32981         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32982         * modules/getlogin_r (configure.ac): Update.
32983
32984         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32986         * modules/inet_ntop (configure.ac): Update.
32987
32988         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32989         * modules/inet_pton (configure.ac): Update.
32990
32991         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32992         * modules/mbslen (configure.ac): Update.
32993
32994         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32995         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32996         * modules/forkpty (configure.ac): Update.
32997         * modules/openpty (configure.ac): Update.
32998
32999 2010-03-26  Simon Josefsson  <simon@josefsson.org>
33000
33001         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
33002         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
33003
33004 2010-03-25  Eric Blake  <eblake@redhat.com>
33005
33006         maint: use pragma consistently across replacement headers
33007         * lib/ctype.in.h (system_header): Hoist for consistent placement.
33008         * lib/dirent.in.h (system_header): Likewise.
33009         * lib/errno.in.h (system_header): Likewise.
33010         * lib/float.in.h (system_header): Likewise.
33011         * lib/getopt.in.h (system_header): Likewise.
33012         * lib/iconv.in.h (system_header): Likewise.
33013         * lib/inttypes.in.h (system_header): Likewise.
33014         * lib/langinfo.in.h (system_header): Likewise.
33015         * lib/locale.in.h (system_header): Likewise.
33016         * lib/math.in.h (system_header): Likewise.
33017         * lib/netdb.in.h (system_header): Likewise.
33018         * lib/netinet_in.in.h (system_header): Likewise.
33019         * lib/pty.in.h (system_header): Likewise.
33020         * lib/sched.in.h (system_header): Likewise.
33021         * lib/se-selinux.in.h (system_header): Likewise.
33022         * lib/search.in.h (system_header): Likewise.
33023         * lib/spawn.in.h (system_header): Likewise.
33024         * lib/stdarg.in.h (system_header): Likewise.
33025         * lib/stdint.in.h (system_header): Likewise.
33026         * lib/string.in.h (system_header): Likewise.
33027         * lib/strings.in.h (system_header): Likewise.
33028         * lib/sys_file.in.h (system_header): Likewise.
33029         * lib/sys_ioctl.in.h (system_header): Likewise.
33030         * lib/sys_socket.in.h (system_header): Likewise.
33031         * lib/sys_times.in.h (system_header): Likewise.
33032         * lib/sys_utsname.in.h (system_header): Likewise.
33033         * lib/sys_wait.in.h (system_header): Likewise.
33034         * lib/sysexits.in.h (system_header): Likewise.
33035         * lib/unistd.in.h (system_header): Likewise.
33036         * lib/wctype.in.h (system_header): Likewise.
33037
33038         arpa/inet: fix mingw compilation warning
33039         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
33040         Reported by Matthew Bolte.
33041
33042 2010-03-25  Bruno Haible  <bruno@clisp.org>
33043
33044         Avoid collision between gnulib wrapper and libintl wrapper.
33045         * lib/printf.c (printf): Don't define if a printf wrapper is already
33046         defined in intl/printf.c.
33047         Reported by Michel Boaventura <michel@michelboaventura.com>.
33048
33049 2010-03-25  Bruno Haible  <bruno@clisp.org>
33050
33051         Use ANSI C.
33052         * lib/readutmp.h (getutent): Provide ANSI C prototype.
33053
33054 2010-03-25  Bruno Haible  <bruno@clisp.org>
33055
33056         Minor formatting changes.
33057         * lib/acosl.c: Insert space before function argument list.
33058         * lib/argz.c: Likewise.
33059         * lib/asinl.c: Likewise.
33060         * lib/expl.c: Likewise.
33061         * lib/gen-uni-tables.c: Likewise.
33062         * lib/gettext.h: Likewise.
33063         * lib/glthread/lock.h: Likewise.
33064         * lib/tanl.c: Likewise.
33065         * lib/uniname/uniname.c: Likewise.
33066         * tests/test-idpriv-drop.c: Likewise.
33067         * tests/test-idpriv-droptemp.c: Likewise.
33068         * tests/test-lock.c: Likewise.
33069         * tests/test-tls.c: Likewise.
33070         * lib/argp-help.c: Insert space before function-like macro argument
33071         list.
33072         * lib/memcmp.c: Likewise.
33073         * tests/test-base64.c: Likewise.
33074         * lib/localename.c: Insert space before sizeof's argument list.
33075         * lib/safe-alloc.h: Likewise.
33076         * lib/file-set.h: Insert space before macro argument list.
33077         * tests/test-argp.c: Likewise.
33078         * lib/argp-namefrob.h: Insert space before function parameter list.
33079         * lib/getaddrinfo.c: Likewise.
33080         * lib/netdb.in.h: Likewise.
33081         * lib/parse-duration.h: Likewise.
33082         * lib/parse-duration.c: Likewise.
33083         * lib/poll.c: Likewise.
33084         * lib/select.c: Likewise.
33085         * lib/trim.h: Likewise.
33086         * tests/test-usleep.c: Likewise.
33087         * lib/ldexpl.c: Insert space before function parameter list and before
33088         function argument list.
33089         * lib/logl.c: Likewise.
33090         * lib/sqrtl.c: Likewise.
33091         * lib/trim.c: Likewise.
33092         * lib/cosl.c: Use GNU style indentation. Insert space before function
33093         argument list.
33094         * lib/sinl.c: Likewise.
33095         * lib/tsearch.c: Insert space after 'for'.
33096         Reported by Jim Meyering.
33097
33098 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
33099
33100         * maint.mk (sc_Wundef_boolean): Check for the presence of the
33101         config header before grepping, as it's not present before
33102         autoreconf/configure are run.  Reported by Simon Josefsson.
33103
33104 2010-03-23  Bruno Haible  <bruno@clisp.org>
33105
33106         pt_chown: Make it work with automake < 1.11.
33107         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
33108         Reported by Simon Josefsson.
33109
33110 2010-03-23  Bruno Haible  <bruno@clisp.org>
33111
33112         pt_chown: Don't depend on GPLed modules.
33113         * lib/pt_chown.c: Don't include idpriv.h.
33114         (main): Don't drop privileges.
33115         * modules/pt_chown (Depends-on): Remove idpriv-drop.
33116         Reported by Simon Josefsson.
33117
33118 2010-03-24  Simon Josefsson  <simon@josefsson.org>
33119
33120         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
33121         suggestions from karl@freefriends.org (Karl Berry).
33122
33123 2010-03-22  Eric Blake  <eblake@redhat.com>
33124
33125         gethostname: further tweaks
33126         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
33127         are overriding gethostname.
33128         Suggested by Bruno Haible.
33129
33130 2010-03-21  Bruno Haible  <bruno@clisp.org>
33131
33132         Fix comments.
33133         * lib/forkpty.c (rpl_forkpty): Fix comment.
33134         * lib/openpty.c (rpl_openpty): Likewise.
33135         Reported by Eric Blake.
33136
33137 2010-03-22  Eric Blake  <eblake@redhat.com>
33138
33139         gethostname: fix build on mingw
33140         * lib/unistd.in.h (includes): Work around fact that mingw
33141         <winsock2.h> re-includes <unistd.h>, by avoiding any
33142         redeclarations if we are being included by <winsock2.h>.
33143         Reported by Matthias Bolte.
33144
33145 2010-03-21  Bruno Haible  <bruno@clisp.org>
33146
33147         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33148         * lib/forkpty.c (forkpty): New replacement function, from glibc with
33149         modifications.
33150         * lib/pty.in.h (forkpty): Update declaration. Add comments.
33151         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
33152         provide the replacement.
33153         * modules/forkpty (Depends-on): Add openpty, login_tty.
33154         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
33155         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
33156         * doc/glibc-functions/forkpty.texi: More supported platforms.
33157         * config/srclist.txt: Add forkpty.c (commented).
33158
33159 2010-03-21  Bruno Haible  <bruno@clisp.org>
33160
33161         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
33162         (Makefile.am): Verify that PTY_LIB is defined.
33163
33164         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
33165
33166 2010-03-21  Bruno Haible  <bruno@clisp.org>
33167
33168         Tests for module 'login_tty'.
33169         * modules/login_tty-tests: New file.
33170         * tests/test-login_tty.c: New file.
33171
33172         New module 'login_tty'.
33173         * lib/login_tty.c: New file.
33174         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
33175         * modules/login_tty: New file.
33176         * doc/glibc-functions/login_tty.texi: Mention the new module.
33177
33178 2010-03-21  Bruno Haible  <bruno@clisp.org>
33179
33180         login_tty: Documentation.
33181         * doc/glibc-functions/login_tty.texi: New file.
33182         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
33183
33184 2010-03-21  Bruno Haible  <bruno@clisp.org>
33185
33186         pty: Consistent macro naming.
33187         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
33188         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
33189         * modules/pty (configure.ac): Update.
33190
33191 2010-03-21  Bruno Haible  <bruno@clisp.org>
33192
33193         Tests for openpty: Make stricter.
33194         * tests/test-openpty.c (main): Add test of canonical processing and
33195         erase.
33196         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
33197
33198         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33199         * lib/openpty.c (openpty): New replacement function.
33200         * lib/pty.in.h: Include <termios.h>.
33201         (openpty): Update declaration. Add comments.
33202         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
33203         is not declared, arrange to provide the replacement. Check for _getpty
33204         and posix_openpt.
33205         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
33206         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
33207         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
33208         * modules/pty-tests (test_pty_c___LDADD): New variable.
33209         * doc/glibc-functions/openpty.texi: More supported platforms.
33210
33211 2010-03-21  Bruno Haible  <bruno@clisp.org>
33212
33213         setenv: Tweaks.
33214         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
33215         the test program.
33216         * doc/posix-functions/setenv.texi: Update platforms list.
33217
33218 2010-03-21  Bruno Haible  <bruno@clisp.org>
33219
33220         New module 'unlockpt'.
33221         * lib/unlockpt.c: New file, from glibc with modifications.
33222         * m4/unlockpt.m4: New file.
33223         * modules/unlockpt: New file.
33224         * lib/stdlib.in.h (unlockpt): New declaration.
33225         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
33226         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
33227         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
33228         HAVE_UNLOCKPT.
33229         * doc/posix-functions/unlockpt.texi: Mention the new module.
33230         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
33231         * config/srclist.txt: Add unlockpt.c (commented).
33232
33233 2010-03-21  Jim Meyering  <meyering@redhat.com>
33234
33235         maint.mk: prohibit inclusion of "intprops.h" without use
33236         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
33237
33238 2010-03-21  Bruno Haible  <bruno@clisp.org>
33239
33240         New module 'grantpt'.
33241         * lib/grantpt.c: New file, from glibc with modifications.
33242         * m4/grantpt.m4: New file.
33243         * modules/grantpt: New file.
33244         * lib/stdlib.in.h (grantpt): New declaration.
33245         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
33246         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
33247         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
33248         HAVE_GRANTPT.
33249         * doc/posix-functions/grantpt.texi: Mention the new module.
33250         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
33251         * config/srclist.txt: Add grantpt.c (commented).
33252
33253 2010-03-21  Bruno Haible  <bruno@clisp.org>
33254
33255         New module 'pt_chown'.
33256         * lib/pt_chown.c: New file, from glibc with modifications.
33257         * lib/pty-private.h: New file, from glibc with modifications.
33258         * modules/pt_chown: New file.
33259         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
33260
33261 2010-03-21  Bruno Haible  <bruno@clisp.org>
33262
33263         Tests for module 'ptsname'.
33264         * modules/ptsname-tests: New file.
33265         * tests/test-ptsname.c: New file.
33266
33267         New module 'ptsname'.
33268         * lib/ptsname.c: New file, from glibc with modifications.
33269         * m4/ptsname.m4: New file.
33270         * modules/ptsname: New file.
33271         * lib/stdlib.in.h (ptsname): New declaration.
33272         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
33273         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
33274         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
33275         HAVE_PTSNAME.
33276         * doc/posix-functions/ptsname.texi: Mention the new module.
33277         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
33278         * config/srclist.txt: Add ptsname.c (commented).
33279
33280 2010-03-21  Bruno Haible  <bruno@clisp.org>
33281
33282         Tests for module 'ttyname_r'.
33283         * modules/ttyname_r-tests: New file.
33284         * tests/test-ttyname_r.c: New file.
33285
33286         New module 'ttyname_r'.
33287         * lib/ttyname_r.c: New file.
33288         * m4/ttyname_r.m4: New file.
33289         * modules/ttyname_r: New file.
33290         * lib/unistd.in.h (ttyname_r): New declaration.
33291         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
33292         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
33293         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
33294         HAVE_TTYNAME_R.
33295         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
33296         * doc/posix-functions/ttyname_r.texi: Mention the new module.
33297
33298 2010-03-20  Bruno Haible  <bruno@clisp.org>
33299
33300         signal: Undefine macro definitions in C++ mode.
33301         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
33302         sigfillset): Undefine macro definitions from the system header in C++
33303         mode.
33304         Reported by John W. Eaton <jwe@gnu.org>.
33305
33306 2010-03-20  Bruno Haible  <bruno@clisp.org>
33307
33308         Ensure no #include statements inside extern "C" { ... }.
33309         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
33310         contain #include statements.
33311         * lib/time.in.h: Likewise.
33312
33313 2010-03-20  Bruno Haible  <bruno@clisp.org>
33314
33315         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
33316         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
33317         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
33318         Reported by John W. Eaton <jwe@gnu.org>.
33319
33320 2010-03-20  Bruno Haible  <bruno@clisp.org>
33321
33322         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
33323         Reported by Jim Meyering.
33324
33325 2010-03-20  Bruno Haible  <bruno@clisp.org>
33326
33327         pipe: Set errno upon failure.
33328         * lib/pipe.h: Specify that when -1 is returned, errno is set.
33329         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
33330         errno value in error message.
33331
33332 2010-03-20  Bruno Haible  <bruno@clisp.org>
33333             Jim Meyering  <meyering@redhat.com>
33334
33335         lchown: Avoid "unused variable" warning.
33336         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
33337
33338 2010-03-20  Bruno Haible  <bruno@clisp.org>
33339
33340         Work around unlink() bug on MacOS X 10.5.6.
33341         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
33342         attempting to unlink a parent directory.
33343         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33344         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33345         activate for the replacement function.
33346         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33347
33348 2010-03-20  Bruno Haible  <bruno@clisp.org>
33349
33350         Fix link errors on Solaris 8.
33351         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33352         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33353
33354 2010-03-19  Jim Meyering  <meyering@redhat.com>
33355
33356         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33357         The _LIBC implementation of build_range_exp correctly honors the
33358         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33359         However, the non-_LIBC implementation would ignore that syntax-bit
33360         flag and return REG_ERANGE unconditionally.
33361         This change makes it honor that flag.
33362         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33363         Make two pointer parameters "const".
33364         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33365         (parse_bracket_exp): Update caller.
33366
33367         regex.m4: correct the reversed range endpoint ([b-a]) test
33368         * m4/regex.m4: When requiring that [b-a] evoke failure,
33369         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33370         test pass once again for x86-based systems.
33371
33372 2010-03-19  Bruno Haible  <bruno@clisp.org>
33373
33374         scandir: Fix link error on Solaris 8.
33375         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33376         macros.
33377
33378 2010-03-19  Bruno Haible  <bruno@clisp.org>
33379
33380         getusershell: Fix documentation.
33381         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33382         module.
33383         * doc/glibc-functions/setusershell.texi: Likewise.
33384
33385         getusershell: Provide declaration, missing on Solaris 9.
33386         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33387         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33388         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33389         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33391         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33392         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33393         HAVE_GETUSERSHELL.
33394         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33395
33396 2010-03-19  Bruno Haible  <bruno@clisp.org>
33397
33398         wctype: Provide iswblank function.
33399         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33400         exists and is fine.
33401         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
33402         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
33403         * tests/test-wctype.c (main): Re-enable the iswblank tests.
33404         * doc/posix-functions/iswblank.texi: Update.
33405
33406 2010-03-19  Bruno Haible  <bruno@clisp.org>
33407
33408         Tests of module 'pty' in C++ mode.
33409         * modules/pty-tests: New file.
33410         * tests/test-pty-c++.cc: New file.
33411         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33412
33413 2010-03-19  Eric Blake  <eblake@redhat.com>
33414
33415         logb: fix documentation
33416         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
33417         1.5 declaration bug.
33418
33419         forkpty, openpty: prefer glibc's const-safe prototype
33420         * lib/forkpty.c (rpl_forkpty): New file.
33421         * lib/openpty.c (rpl_openpty): Likewise.
33422         * modules/forkpty (Files): Distribute it.
33423         * modules/openpty (Files): Likewise.
33424         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
33425         check...
33426         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
33427         replacement for for non-const BSD signature.
33428         * modules/pty (Makefile.am): Substitute witnesses.
33429         * lib/pty.in.h (forkpty, openpty): Declare replacements.
33430         * tests/test-forkpty.c: Update signature check.
33431         * tests/test-openpty.c: Likewise.
33432         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
33433         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33434
33435         forkpty, openpty: split functions into new modules
33436         * modules/pty (Makefile.am): Substitute new witnesses.
33437         (Libraries): Move library detection...
33438         * modules/forkpty: ...into new module.
33439         * modules/openpty: Another new module.
33440         * modules/pty-tests: Rename and split...
33441         * modules/forkpty-tests: ...to this...
33442         * modules/openpty-tests: ...and this.
33443         * tests/test-pty.c: Rename and split...
33444         * tests/test-forkpty.c: ...to this...
33445         * tests/test-openpty.c: ...and this.
33446         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
33447         (gl_PTY): Split library searching...
33448         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
33449         (gl_FORKPTY, gl_OPENPTY): New macros.
33450         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
33451         * NEWS: Mention the split.
33452         * MODULES.html.sh (Misc): Document the modules.
33453         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
33454         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33455
33456         pty: improve replacement header
33457         * lib/pty.in.h: New file.
33458         * modules/pty (Files): Ship it.
33459         (Makefile.am): Always build replacement.
33460         * m4/pty.m4: Rename...
33461         * m4/pty_h.m4: ...to this.
33462         (gl_PTY): Modernize setting of witness macros; update check of
33463         forkpty to take proper advantage of cache.
33464         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
33465
33466         getopt: avoid compiler warning
33467         * lib/getopt.c (attribute_hidden): Remove unused macro.
33468
33469 2010-03-18  Bruno Haible  <bruno@clisp.org>
33470
33471         Fix link errors on Solaris 8.
33472         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
33473         * modules/search-tests (test_search_c___LDADD): Likewise.
33474         * modules/signal-tests (test_signal_c___LDADD): Likewise.
33475         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
33476         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
33477         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
33478         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
33479         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
33480         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
33481
33482 2010-03-18  Bruno Haible  <bruno@clisp.org>
33483
33484         Fix bug introduced on 2010-03-14.
33485         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
33486         (gl_SPAWN_H): Require it.
33487         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
33488         Reported by Simon Josefsson.
33489
33490 2010-03-18  Bruno Haible  <bruno@clisp.org>
33491
33492         Fix typo introduced on 2009-12-31.
33493         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
33494         posix_spawn_file_actions_adddup2.
33495
33496 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
33497         and Eric Blake  <eblake@redhat.com>
33498
33499         test-vc-list-files-git: make more robust
33500         * tests/test-vc-list-files-git.sh: Unset problematic environment
33501         variables.  Chain commands together.
33502
33503 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
33504
33505         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
33506         `AC_CHECK_DECL' invocation.
33507
33508 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
33509
33510         * lib/inttostr.c (inttostr): Make sure the invocation of verify
33511         appears before executable statements. Suggested by Petr Sumbera
33512         <Petr.Sumbera@Sun.COM>.
33513
33514 2010-03-14  Bruno Haible  <bruno@clisp.org>
33515
33516         * tests/test-flock.c (test_exclusive): Comment out a test that causes
33517         portability problems. Instead use a simpler test.
33518         (main): Check that invalid arguments are rejected only on Linux.
33519
33520 2010-03-14  Bruno Haible  <bruno@clisp.org>
33521
33522         Fix bug introduced on 2009-12-31.
33523         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33524         gl_PREREQ_SYS_H_WINSOCK2 always.
33525         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
33526         SYS_SOCKET_H variable.
33527         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
33528         Update comments.
33529         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
33530         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33531         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33532         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33533         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33534
33535 2010-03-14  Bruno Haible  <bruno@clisp.org>
33536
33537         Fix values returned by sinl, cosl.
33538         * lib/trigl.h: Add specification comments.
33539         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
33540         that combines the values from the precomputed table with the values of
33541         the Chebyshev polynomials.
33542
33543 2010-03-14  Bruno Haible  <bruno@clisp.org>
33544
33545         Fix compilation error when modules 'posix_spawn[p]' are not used.
33546         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
33547         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
33548
33549 2010-03-14  Bruno Haible  <bruno@clisp.org>
33550
33551         Fix compilation error on mingw when module 'time_r' is not used.
33552         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
33553         is 1.
33554         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
33555         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33556         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
33557         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
33558
33559 2010-03-14  Bruno Haible  <bruno@clisp.org>
33560
33561         Fix compilation error with Sun C.
33562         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
33563         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
33564         instead of GCC specific ULONG_LONG_MAX.
33565         * lib/xstrtoll.c: Likewise.
33566         * lib/xstrtoull.c: Likewise.
33567
33568 2010-03-13  Bruno Haible  <bruno@clisp.org>
33569
33570         Allow the user to disable C++ code and tests.
33571         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
33572         (gl_PROG_ANSI_CXX): Require it.
33573
33574 2010-03-13  Bruno Haible  <bruno@clisp.org>
33575
33576         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
33577         cases.
33578
33579 2010-03-13  Bruno Haible  <bruno@clisp.org>
33580
33581         Test that gnulib does not break the standard C++ headers.
33582         * tests/test-locale-c++2.cc: New file.
33583         * modules/locale-tests (Files): Add it.
33584         (Makefile.am): Compile it for test-locale-c++.
33585         * tests/test-math-c++2.cc: New file.
33586         * modules/math-tests (Files): Add it.
33587         (Makefile.am): Compile it for test-math-c++.
33588         * tests/test-signal-c++2.cc: New file.
33589         * modules/signal-tests (Files): Add it.
33590         (Makefile.am): Compile it for test-signal-c++.
33591         * tests/test-stdio-c++2.cc: New file.
33592         * modules/stdio-tests (Files): Add it.
33593         (Makefile.am): Compile it for test-stdio-c++.
33594         * tests/test-stdlib-c++2.cc: New file.
33595         * modules/stdlib-tests (Files): Add it.
33596         (Makefile.am): Compile it for test-stdlib-c++.
33597         * tests/test-string-c++2.cc: New file.
33598         * modules/string-tests (Files): Add it.
33599         (Makefile.am): Compile it for test-string-c++.
33600         * tests/test-time-c++2.cc: New file.
33601         * modules/time-tests (Files): Add it.
33602         (Makefile.am): Compile it for test-time-c++.
33603         Reported by John W. Eaton <jwe@gnu.org>.
33604
33605 2010-03-13  Bruno Haible  <bruno@clisp.org>
33606
33607         * gnulib-tool (func_usage): Clarify which options are available for
33608         --create-testdir and --create-megatestdir.
33609
33610 2010-03-13  Bruno Haible  <bruno@clisp.org>
33611
33612         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
33613         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
33614         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
33615         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
33616         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
33617         when appropriate.
33618         Reported by Jim Meyering.
33619
33620 2010-03-12  Simon Josefsson  <simon@josefsson.org>
33621
33622         * gnulib-tool (func_import): Explain origin of code.
33623
33624 2010-03-12  Bruno Haible  <bruno@clisp.org>
33625
33626         Fix problem with automake's definition of CXXLINK.
33627         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
33628         Reported by Simon Josefsson and Ludovic Courtès.
33629
33630 2010-03-12  Bruno Haible  <bruno@clisp.org>
33631
33632         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
33633         stable releases.
33634
33635 2010-03-11  Bruno Haible  <bruno@clisp.org>
33636
33637         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
33638         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
33639         whether the system provides one variant or multiple variants of the
33640         function.
33641         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
33642         C++ compilers.
33643         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
33644         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
33645         Reported by Jim Meyering.
33646
33647 2010-03-09  Simon Josefsson  <simon@josefsson.org>
33648
33649         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
33650
33651 2010-03-08  Bruno Haible  <bruno@clisp.org>
33652
33653         gnulib-tool: Add support for --libtool in --create-testdir.
33654         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
33655         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
33656
33657 2010-03-08  Eric Blake  <eblake@redhat.com>
33658
33659         gnulib-tool.texi: mention possibility of git submodule
33660         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
33661         submodules.
33662         * doc/.gitignore: Ignore another generated file.
33663
33664 2010-03-08  Karl Berry  <karl@gnu.org>
33665
33666         * doc/gnulib-tool.texi (VCS Issues): Mention third option
33667         of committing gnulib files while skipping others.
33668
33669 2010-03-07  Bruno Haible  <bruno@clisp.org>
33670
33671         Tests of module 'wctype' in C++ mode.
33672         * tests/test-wctype-c++.cc: New file.
33673         * modules/wctype-tests (Files): Add it and tests/signature.h.
33674         (Depends-on): Add ansi-c++-opt.
33675         (Makefile.am): Arrange to compile and run test-wctype-c++.
33676
33677         Tests of module 'wchar' in C++ mode.
33678         * tests/test-wchar-c++.cc: New file.
33679         * modules/wchar-tests (Files): Add it and tests/signature.h.
33680         (Depends-on): Add ansi-c++-opt.
33681         (Makefile.am): Arrange to compile and run test-wchar-c++.
33682         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
33683         gl_MODULE_INDICATOR.
33684
33685         Tests of module 'unistd' in C++ mode.
33686         * tests/test-unistd-c++.cc: New file.
33687         * modules/unistd-tests (Files): Add it and tests/signature.h.
33688         (Depends-on): Add ansi-c++-opt.
33689         (Makefile.am): Arrange to compile and run test-unistd-c++.
33690         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
33691         gl_MODULE_INDICATOR.
33692
33693         Tests of module 'time' in C++ mode.
33694         * tests/test-time-c++.cc: New file.
33695         * modules/time-tests (Files): Add it and tests/signature.h.
33696         (Depends-on): Add ansi-c++-opt.
33697         (Makefile.am): Arrange to compile and run test-time-c++.
33698         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33699
33700         Tests of module 'sys_time' in C++ mode.
33701         * tests/test-sys_time-c++.cc: New file.
33702         * modules/sys_time-tests (Files): Add it and tests/signature.h.
33703         (Depends-on): Add ansi-c++-opt.
33704         (Makefile.am): Arrange to compile and run test-sys_time-c++.
33705         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
33706         gl_MODULE_INDICATOR.
33707
33708         Tests of module 'sys_stat' in C++ mode.
33709         * tests/test-sys_stat-c++.cc: New file.
33710         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
33711         (Depends-on): Add ansi-c++-opt.
33712         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
33713         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
33714         gl_MODULE_INDICATOR.
33715
33716         Tests of module 'sys_socket' in C++ mode.
33717         * tests/test-sys_socket-c++.cc: New file.
33718         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
33719         (Depends-on): Add ansi-c++-opt.
33720         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
33721         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
33722         gl_MODULE_INDICATOR.
33723
33724         Tests of module 'sys_select' in C++ mode.
33725         * tests/test-sys_select-c++.cc: New file.
33726         * modules/sys_select-tests (Files): Add it and tests/signature.h.
33727         (Depends-on): Add ansi-c++-opt.
33728         (Makefile.am): Arrange to compile and run test-sys_select-c++.
33729         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
33730         gl_MODULE_INDICATOR.
33731
33732         Tests of module 'sys_ioctl' in C++ mode.
33733         * tests/test-sys_ioctl-c++.cc: New file.
33734         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
33735         (Depends-on): Add ansi-c++-opt.
33736         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
33737         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
33738         gl_MODULE_INDICATOR.
33739
33740         Tests of module 'string' in C++ mode.
33741         * tests/test-string-c++.cc: New file.
33742         * modules/string-tests (Files): Add it and tests/signature.h.
33743         (Depends-on): Add ansi-c++-opt.
33744         (Makefile.am): Arrange to compile and run test-string-c++.
33745         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
33746         gl_MODULE_INDICATOR.
33747
33748         Tests of module 'stdlib' in C++ mode.
33749         * tests/test-stdlib-c++.cc: New file.
33750         * modules/stdlib-tests (Files): Add it and tests/signature.h.
33751         (Depends-on): Add ansi-c++-opt.
33752         (Makefile.am): Arrange to compile and run test-stdlib-c++.
33753         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
33754         gl_MODULE_INDICATOR.
33755
33756         Tests of module 'stdio' in C++ mode.
33757         * tests/test-stdio-c++.cc: New file.
33758         * modules/stdio-tests (Files): Add it and tests/signature.h.
33759         (Depends-on): Add ansi-c++-opt.
33760         (Makefile.am): Arrange to compile and run test-stdio-c++.
33761         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
33762         gl_MODULE_INDICATOR.
33763
33764         Tests of module 'spawn' in C++ mode.
33765         * tests/test-spawn-c++.cc: New file.
33766         * modules/spawn-tests (Files): Add it and tests/signature.h.
33767         (Depends-on): Add ansi-c++-opt.
33768         (Makefile.am): Arrange to compile and run test-spawn-c++.
33769         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33770         gl_MODULE_INDICATOR.
33771
33772         Tests of module 'signal' in C++ mode.
33773         * tests/test-signal-c++.cc: New file.
33774         * modules/signal-tests (Files): Add it and tests/signature.h.
33775         (Depends-on): Add ansi-c++-opt.
33776         (Makefile.am): Arrange to compile and run test-signal-c++.
33777         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33778         gl_MODULE_INDICATOR.
33779
33780         Tests of module 'search' in C++ mode.
33781         * tests/test-search-c++.cc: New file.
33782         * modules/search-tests (Files): Add it and tests/signature.h.
33783         (Depends-on): Add ansi-c++-opt.
33784         (Makefile.am): Arrange to compile and run test-search-c++.
33785         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33786         gl_MODULE_INDICATOR.
33787
33788         Tests of module 'math' in C++ mode.
33789         * tests/test-math-c++.cc: New file.
33790         * modules/math-tests (Files): Add it and tests/signature.h.
33791         (Depends-on): Add ansi-c++-opt.
33792         (Makefile.am): Arrange to compile and run test-math-c++.
33793         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33794
33795         Tests of module 'locale' in C++ mode.
33796         * tests/test-locale-c++.cc: New file.
33797         * modules/locale-tests (Files): Add it and tests/signature.h.
33798         (Depends-on): Add ansi-c++-opt.
33799         (Makefile.am): Arrange to compile and run test-locale-c++.
33800         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33801         gl_MODULE_INDICATOR.
33802
33803         Tests of module 'langinfo' in C++ mode.
33804         * tests/test-langinfo-c++.cc: New file.
33805         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33806         (Depends-on): Add ansi-c++-opt.
33807         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33808         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33809         gl_MODULE_INDICATOR.
33810
33811         Tests of module 'iconv-h' in C++ mode.
33812         * tests/test-iconv-h-c++.cc: New file.
33813         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33814         (Depends-on): Add ansi-c++-opt.
33815         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33816
33817         Tests of module 'glob' in C++ mode.
33818         * tests/test-glob-c++.cc: New file.
33819         * modules/glob-tests (Files): Add it.
33820         (Depends-on): Add ansi-c++-opt.
33821         (Makefile.am): Arrange to compile and run test-glob-c++.
33822
33823         Tests of module 'fcntl-h' in C++ mode.
33824         * tests/test-fcntl-h-c++.cc: New file.
33825         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33826         (Depends-on): Add ansi-c++-opt.
33827         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33828         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33829         gl_MODULE_INDICATOR.
33830
33831         Tests of module 'dirent' in C++ mode.
33832         * tests/test-dirent-c++.cc: New file.
33833         * modules/dirent-tests (Files): Add it and tests/signature.h.
33834         (Depends-on): Add ansi-c++-opt.
33835         (Makefile.am): Arrange to compile and run test-dirent-c++.
33836         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33837         gl_MODULE_INDICATOR.
33838
33839         New module 'ansi-c++-opt'.
33840         * modules/ansi-c++-opt: New file.
33841         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33842
33843         Document C++ namespace mode.
33844         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33845
33846         wctype: Avoid #define replacements in C++ mode.
33847         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33848         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33849         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33850         In C++, define a namespaced alias symbol.
33851         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33852         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33853         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33854         rule.
33855
33856         wchar: Avoid #define replacements in C++ mode.
33857         * lib/wchar.in.h: Include c++defs.h.
33858         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33859         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33860         symbol.
33861         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33862         * modules/wchar (Depends-on): Add c++defs.
33863         (Makefile.am): Update wchar.h rule.
33864
33865         unistd: Avoid #define replacements in C++ mode.
33866         * lib/unistd.in.h: Include c++defs.h.
33867         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33868         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33869         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33870         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33871         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33872         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33873         symbol.
33874         (environ): Update.
33875         * modules/unistd (Depends-on): Add c++defs.
33876         (Makefile.am): Update unistd.h rule.
33877
33878         time: Avoid #define replacements in C++ mode.
33879         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33880         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33881         define a namespaced alias symbol.
33882         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33883         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33884         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33885         * modules/time (Depends-on): Add c++defs, warn-on-use.
33886         (Makefile.am): Update time.h rule.
33887         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33888         * modules/nanosleep (configure.ac): Likewise.
33889         * modules/strptime (configure.ac): Likewise.
33890         * modules/timegm (configure.ac): Likewise.
33891
33892         sys_time: Avoid #define replacements in C++ mode.
33893         * lib/sys_time.in.h: Include c++defs.h.
33894         (gettimeofday): In C++, define a namespaced alias symbol.
33895         * modules/sys_time (Depends-on): Add c++defs.
33896         (Makefile.am): Update sys/time.h rule.
33897
33898         sys_stat: Avoid #define replacements in C++ mode.
33899         * lib/sys_stat.in.h: Include c++defs.h.
33900         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33901         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33902         namespaced alias symbol.
33903         In C++, define a namespaced alias symbol.
33904         * modules/sys_stat (Depends-on): Add c++defs.
33905         (Makefile.am): Update sys/stat.h rule.
33906
33907         sys_socket: Avoid #define replacements in C++ mode.
33908         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33909         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33910         definitions also when the system has a <sys/socket.h>.
33911         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33912         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33913         In C++, define a namespaced alias symbol.
33914         * modules/sys_socket (Depends-on): Add c++defs.
33915         (Makefile.am): Update sys/socket.h rule.
33916
33917         sys_select: Avoid #define replacements in C++ mode.
33918         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33919         definitions also when the system has a <sys/select.h>.
33920         (select): In C++, define a namespaced alias symbol.
33921         * modules/sys_select (Depends-on): Add c++defs.
33922         (Makefile.am): Update sys/select.h rule.
33923
33924         sys_ioctl: Avoid #define replacements in C++ mode.
33925         * lib/sys_ioctl.in.h: Include c++defs.h.
33926         (ioctl): In C++, define a namespaced alias symbol.
33927         * modules/sys_ioctl (Depends-on): Add c++defs.
33928         (Makefile.am): Update sys/ioctl.h rule.
33929
33930         string: Avoid #define replacements in C++ mode.
33931         * lib/string.in.h: Include c++defs.h.
33932         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33933         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33934         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33935         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33936         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33937         * modules/string (Depends-on): Add c++defs.
33938         (Makefile.am): Update string.h rule.
33939
33940         stdlib: Avoid #define replacements in C++ mode.
33941         * lib/stdlib.in.h: Include c++defs.h.
33942         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
33943         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
33944         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
33945         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
33946         symbol.
33947         * modules/stdlib (Depends-on): Add c++defs.
33948         (Makefile.am): Update stdlib.h rule.
33949
33950         stdio: Avoid #define replacements in C++ mode.
33951         * lib/stdio.in.h: Include c++defs.h.
33952         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
33953         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
33954         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
33955         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
33956         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
33957         namespaced alias symbol.
33958         * modules/stdio (Depends-on): Add c++defs.
33959         (Makefile.am): Update stdio.h rule.
33960
33961         spawn: Avoid #define replacements in C++ mode.
33962         * lib/spawn.in.h: Include c++defs.h.
33963         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33964         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33965         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33966         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33967         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33968         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33969         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33970         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33971         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33972         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33973         In C++, define a namespaced alias symbol.
33974         * modules/spawn (Depends-on): Add c++defs.
33975         (Makefile.am): Update spawn.h rule.
33976
33977         signal: Avoid #define replacements in C++ mode.
33978         * lib/signal.in.h: Include c++defs.h.
33979         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33980         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33981         namespaced alias symbol.
33982         * modules/signal (Depends-on): Add c++defs.
33983         (Makefile.am): Update signal.h rule.
33984
33985         search: Avoid #define replacements in C++ mode.
33986         * lib/search.in.h: Include c++defs.h.
33987         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33988         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33989         symbol.
33990         * modules/search (Depends-on): Add c++defs.
33991         (Makefile.am): Update search.h rule.
33992
33993         math: Avoid #define replacements in C++ mode.
33994         * lib/math.in.h: Include c++defs.h.
33995         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33996         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33997         trunc, truncl): In C++, define a namespaced alias symbol.
33998         * modules/math (Depends-on): Add c++defs.
33999         (Makefile.am): Update math.h rule.
34000
34001         locale: Avoid #define replacements in C++ mode.
34002         * lib/locale.in.h: Include c++defs.h.
34003         (duplocale): In C++, define a namespaced alias symbol.
34004         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
34005         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
34006         * modules/locale (Depends-on): Add c++defs.
34007         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
34008
34009         langinfo: Avoid #define replacements in C++ mode.
34010         * lib/langinfo.in.h: Include c++defs.h.
34011         (nl_langinfo): In C++, define a namespaced alias symbol.
34012         * modules/langinfo (Depends-on): Add c++defs.
34013         (Makefile.am): Update langinfo.h rule.
34014
34015         iconv-h: Avoid #define replacements in C++ mode.
34016         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
34017         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
34018         symbol.
34019         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34020         whenever iconv is present.
34021         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
34022         (Makefile.am): Update iconv.h rule.
34023
34024         glob: Avoid #define replacements in C++ mode.
34025         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
34026         (_gl_glob_errfunc_fn): New type.
34027         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
34028         symbol.
34029         * modules/glob (Depends-on): Add c++defs, warn-on-use.
34030         (Makefile.am): Update glob.h rule.
34031
34032         fcntl-h: Avoid #define replacements in C++ mode.
34033         * lib/fcntl.in.h: Include c++defs.h.
34034         (fcntl, open, openat): In C++, define a namespaced alias symbol.
34035         * modules/fcntl-h (Depends-on): Add c++defs.
34036         (Makefile.am): Update fcntl.h rule.
34037
34038         dirent: Avoid #define replacements in C++ mode.
34039         * lib/dirent.in.h: Include c++defs.h.
34040         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
34041         namespaced alias symbol.
34042         (dirfd): Update declaration.
34043         * modules/dirent (Depends-on): Add c++defs.
34044         (Makefile.am): Update dirent.h rule.
34045
34046         ctype: Make it usable in C++ code.
34047         * lib/ctype.in.h: Include c++defs.h.
34048         (isblank): Declare as extern "C".
34049         * modules/ctype (Depends-on): Add c++defs.
34050         (Makefile.am): Update ctype.h rule.
34051
34052         New module 'c++defs'.
34053         * modules/c++defs: New file.
34054         * build-aux/c++defs.h: New file.
34055         Reported by John W. Eaton <jwe@gnu.org>.
34056
34057 2010-03-07  Bruno Haible  <bruno@clisp.org>
34058
34059         logb: Provide missing declaration for Cygwin.
34060         * lib/math.in.h (logb): New declaration.
34061         * m4/logb.m4: New file.
34062         * modules/logb (Files): Add m4/logb.m4.
34063         (Depends-on): Add math.
34064         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
34065         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
34066         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
34067         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
34068         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
34069
34070 2010-03-07  Bruno Haible  <bruno@clisp.org>
34071
34072         Fix test-cond link error.
34073         * tests/test-cond.c: Include <stdio.h>.
34074
34075 2010-03-07  Bruno Haible  <bruno@clisp.org>
34076
34077         Fix test-dirent-safer link error.
34078         * modules/dirent-safer-tests (Makefile.am): Define
34079         test_dirent_safer_LDADD.
34080
34081 2010-03-07  Bruno Haible  <bruno@clisp.org>
34082
34083         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
34084         among default module list.
34085
34086 2010-03-07  Bruno Haible  <bruno@clisp.org>
34087
34088         Fix link error on platforms with GNU libiconv.
34089         * modules/unistr/u8-strcoll-tests (Makefile): Define
34090         test_u8_strcoll_LDADD.
34091         * modules/unistr/u16-strcoll-tests (Makefile): Define
34092         test_u16_strcoll_LDADD.
34093         * modules/unistr/u32-strcoll-tests (Makefile): Define
34094         test_u32_strcoll_LDADD.
34095
34096 2010-03-07  Bruno Haible  <bruno@clisp.org>
34097
34098         Use POSIX declarations for socket functions.
34099         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
34100         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
34101         rpl_sendto): Change declaration to match POSIX.
34102         * lib/connect.c (rpl_connect): Likewise.
34103         * lib/accept.c (rpl_accept): Likewise.
34104         * lib/bind.c (rpl_bind): Likewise.
34105         * lib/getpeername.c (rpl_getpeername): Likewise.
34106         * lib/getsockname.c (rpl_getsockname): Likewise.
34107         * lib/recv.c (rpl_recv): Likewise.
34108         * lib/send.c (rpl_send): Likewise.
34109         * lib/recvfrom.c (rpl_recvfrom): Likewise.
34110         * lib/sendto.c (rpl_sendto): Likewise.
34111
34112 2010-03-06  Bruno Haible  <bruno@clisp.org>
34113
34114         Clarify access, euidaccess, faccessat.
34115         * doc/posix-functions/faccessat.texi: Mention security problem under
34116         "Other problems", not "Portability problems".
34117         * doc/posix-functions/access.texi: Likewise. Mention a related security
34118         problem.
34119         * doc/glibc-functions/euidaccess.texi: Mention security problems.
34120         * lib/euidaccess.c: Add comments about platforms.
34121         * lib/unistd.in.h (access, euidaccess): Add warnings.
34122
34123 2010-03-07  Bruno Haible  <bruno@clisp.org>
34124
34125         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
34126         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
34127         (POSIX_SPAWN_SETSCHEDULER): Likewise.
34128         (POSIX_SPAWN_USEVFORK): Define in a way that works when
34129         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34130         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
34131         declare when POSIX_SPAWN_SETSCHEDULER is zero.
34132         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
34133         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
34134         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
34135         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
34136         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
34137         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
34138         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
34139         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
34140         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
34141         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
34142         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
34143         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
34144         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
34145         Likewise.
34146         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
34147         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
34148         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
34149         Likewise.
34150         * tests/test-spawn.c (main): Make it work when
34151         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34152
34153 2010-03-07  Bruno Haible  <bruno@clisp.org>
34154
34155         Fix incorrect Makefile.am generation in German locale.
34156         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34157         Execute sed command with character range in C locale.
34158
34159 2010-03-06  Bruno Haible  <bruno@clisp.org>
34160
34161         Tests for module 'iconv-h'.
34162         * modules/iconv-h-tests: New file.
34163         * tests/test-iconv-h.c: New file.
34164
34165         New module 'iconv-h'.
34166         * modules/iconv-h: New file.
34167         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
34168         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
34169         (configure.ac): Remove gl_ICONV_H.
34170         (Makefile.am): Remove rule for iconv.h.
34171
34172 2010-03-06  Bruno Haible  <bruno@clisp.org>
34173
34174         More consistent naming of *.m4 files.
34175         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
34176         * modules/wctype (Files): Update.
34177
34178         More consistent naming of *.m4 files.
34179         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
34180         * modules/wchar (Files): Update.
34181
34182 2010-03-06  Jim Meyering  <meyering@redhat.com>
34183
34184         euidaccess: relax license to LGPLv2+
34185         * modules/euidaccess (License): Relax to LGPLv2+.
34186
34187 2010-03-06  Bruno Haible  <bruno@clisp.org>
34188
34189         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
34190         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
34191         (Makefile.am): Augment lib_SOURCES instead.
34192
34193 2010-03-04  Jim Meyering  <meyering@redhat.com>
34194
34195         utime: remove obsolete module
34196         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
34197         unnecessary for years, and has been marked as obsolete for 10 months.
34198         * modules/utime: Remove file.
34199         * lib/utime.c: Remove file.
34200         * m4/utime.m4: Remove file.
34201         * m4/utimes-null.m4: Remove file.
34202         * doc/posix-functions/utime.texi (utime): Remove reference to
34203         the module.  Move the sole "fixed by gnulib" item into the
34204         "problems not fixed by Gnulib" list.
34205         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
34206
34207 2010-03-05  Simon Josefsson  <simon@josefsson.org>
34208
34209         * modules/exit (License): Relax license to LGPLv2+.
34210         (Status): Mark as obsolete.
34211         * NEWS: Mention deprecated 'exit' module.
34212         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
34213         of now obsolete 'exit'.
34214
34215 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34216
34217         fts-lgpl: remove unused module
34218         * modules/fts-lgpl: Remove.
34219         * MODULES.html.sh (func_all_modules): Adjust.
34220         * check-module (find_included_lib_files): Adjust.
34221         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
34222
34223 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
34224
34225         copy-acl: enhance Solaris ACL error handling
34226         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
34227         * lib/set-mode-acl.c (qset_acl): Likewise.
34228
34229 2010-03-02  Bruno Haible  <bruno@clisp.org>
34230
34231         spawn: Don't override the system defined values on FreeBSD 8.
34232         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
34233         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
34234         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
34235         if HAVE_POSIX_SPAWN is 1.
34236         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
34237
34238 2010-03-01  Bruno Haible  <bruno@clisp.org>
34239
34240         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
34241         regarding Automake.
34242
34243 2010-02-25  Bruno Haible  <bruno@clisp.org>
34244
34245         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
34246         * gnulib-tool: Define 'echo' as a function only before the ksh alias
34247         setting, not afterwards.
34248         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
34249
34250 2010-02-24  Eric Blake  <eblake@redhat.com>
34251
34252         bootstrap, git-version-gen: use timestamp
34253         * build-aux/git-version-gen (scriptversion): Force UTC.
34254         * build-aux/bootstrap (scriptversion): New variable.
34255
34256         bootstrap: allow older git
34257         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
34258         older than 1.6.4.  Requested by the libvirt project.
34259
34260 2010-02-23  Eric Blake  <eblake@redhat.com>
34261
34262         warn-on-use: work with old autoconf
34263         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
34264         AS_VAR semantics of autoconf 2.60.
34265         Reported by Bruno Haible.
34266
34267         bootstrap: improve some comments
34268         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
34269         clarification comments.
34270
34271         gettimeofday: provide correct function
34272         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
34273         when replacement is declared, otherwise provide gettimeofday.
34274         Reported by Michael Goffioul.
34275
34276 2010-02-23  Jim Meyering  <meyering@redhat.com>
34277
34278         lib-ignore: relax license to "unlimited", not LGPLv2+
34279         * modules/lib-ignore (License): Relax to "unlimited".
34280
34281 2010-02-23  Jim Meyering  <meyering@redhat.com>
34282
34283         lib-ignore: relax license to LGPLv2+
34284         * modules/lib-ignore (License): Relax to LGPLv2+.
34285
34286 2010-02-22  Eric Blake  <eblake@redhat.com>
34287
34288         lseek: avoid bash 3.2 broken pipe bug
34289         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
34290         warning from bash 3.2.
34291         Reported by Ben Pfaff, with analysis from Bruno Haible.
34292
34293         bootstrap: support non-FSF copyright holder
34294         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
34295         bootstrap.conf override of COPYRIGHT_HOLDER.
34296         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
34297
34298         bootstrap: interoperate with gettext 0.14.1
34299         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
34300
34301         bootstrap: allow for alternate submodule location
34302         * build-aux/bootstrap (gnulib_path): New variable; use instead of
34303         hardcoding submodule location.
34304         (gnulib_mk): Allow direct use of Makefile.am.
34305
34306         bootstrap: use GNULIB_SRCDIR to reduce disk usage
34307         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
34308         rather than reconfiguring where the submodule points.
34309
34310         gettimeofday: restore support for platforms that lack function
34311         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
34312         replacement if function is missing.
34313         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
34314         * modules/sys_time (Makefile.am): Substitute it.
34315         * lib/sys_time.in.h (gettimeofday): Check it.
34316         Reported by Michael Goffioul.
34317
34318 2010-02-21  Bruno Haible  <bruno@clisp.org>
34319
34320         * lib/stdio.in.h (obstack_printf): Fix typo.
34321
34322 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
34323
34324         vc-list-files: use bzr ls's -R option
34325         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
34326         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
34327
34328 2010-02-21  Jim Meyering  <meyering@redhat.com>
34329
34330         init.sh: fix EXEEXT shims to work also for names like test-prog
34331         * tests/init.sh: Re-exec a better shell, when needed.
34332         If the current shell lacks support for posix $(...), an init.sh-using
34333         test will now try to find a shell that supports that.  If EXEEXT is
34334         nonempty, we also require support for hyphen-in-alias-name and shell
34335         substitutions like ${var#glob}.  Failure to find such a shell results
34336         in a skipped test.
34337
34338 2010-02-21  Bruno Haible  <bruno@clisp.org>
34339
34340         Really work around around "broken pipe" error message from bash 3.2.
34341         * gnulib-tool (func_reset_sigpipe): Remove function.
34342         (echo): In bash 3.2, define to a function that uses printf.
34343         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34344
34345 2010-02-20  Bruno Haible  <bruno@clisp.org>
34346
34347         Restore support for automake 1.9.6 with autoconf 2.61.
34348         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34349         Reported by James Youngman <jay@gnu.org>.
34350
34351 2010-02-20  Bruno Haible  <bruno@clisp.org>
34352
34353         Improve *printf warning condition.
34354         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34355         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34356         and the function is overridden due to SIGPIPE emulation.
34357
34358 2010-02-20  Bruno Haible  <bruno@clisp.org>
34359
34360         * lib/stdio.in.h: Tweak comments.
34361
34362 2010-02-19  Bruno Haible  <bruno@clisp.org>
34363
34364         Make it easier to find modules. New gnulib-tool option '--find'.
34365         * gnulib-tool: New option --find.
34366         (func_usage): Document it.
34367         (func_sanitize_modulelist): New function, extracted from
34368         func_all_modules.
34369         (func_all_modules): Invoke it.
34370         * doc/gnulib-tool.texi (Which modules?): New node.
34371
34372 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34373
34374         * lib/sys_select.in.h: Provide select replacement even if
34375         sys/select.h exists on a system, for Interix.
34376
34377 2010-02-18  Jim Meyering  <meyering@redhat.com>
34378
34379         init.sh: don't use $(...) just yet
34380         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34381         to accommodate e.g., Solaris' /bin/sh.
34382
34383 2010-02-17  Bruno Haible  <bruno@clisp.org>
34384
34385         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34386         Reported by Ludovic Courtès <ludo@gnu.org>.
34387
34388 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34389
34390         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34391         linking with -lintl.
34392
34393 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34394
34395         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34396         if not provided by the system's netdb.h.  Reported by
34397         ludo@gnu.org (Ludovic Courtès).
34398
34399 2010-02-15  Jim Meyering  <meyering@redhat.com>
34400
34401         init.sh: improve portability and efficiency
34402         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
34403         "dummy" in a for loop.
34404         Use '!', not '^' to select the complement of a character set used
34405         in a "case" statement.
34406         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
34407         Suggestions from Eric Blake.
34408
34409         init.sh: automatically accommodate programs with the .exe suffix
34410         Automatically arrange for an invocation of "prog" to execute the
34411         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
34412         may use the simpler "prog", yet still work when built on a system
34413         that requires specifying the added suffix.
34414         Do this by constructing a function named "prog" that invokes
34415         "prog.exe" for each .exe file in selected directories.
34416         * tests/init.sh (find_exe_basenames_): New function.
34417         (create_exe_shim_functions_): New function.
34418         (path_prepend_): Use it.
34419
34420         maint.mk: mark syntax-check sc_*.m rules as .PHONY
34421         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
34422         "make -t syntax-check" doesn't create a ton of sc_*.m files.
34423
34424 2010-02-14  Jim Meyering  <meyering@redhat.com>
34425
34426         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
34427         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
34428         (sc_prohibit_hash_pjw_without_use): New rule.
34429
34430         maint.mk: allow the default upload destination dir to be overridden
34431         * top/maint.mk (upload_dest_dir_): Define with a default that
34432         preserves the status quo.
34433         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
34434         Reported by Peter Simons.
34435
34436         maint.mk: prohibit inclusion of "hash.h" without_use
34437         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
34438
34439 2010-02-10  Jim Meyering  <meyering@redhat.com>
34440
34441         maint.mk: prohibit inclusion of "ignore-value.h" without_use
34442         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
34443
34444 2010-02-09  Eric Blake  <ebb9@byu.net>
34445         and Bruno Haible  <bruno@clisp.org>
34446
34447         obstack-printf-posix: ensure declaration
34448         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
34449         extracted from gl_FUNC_OBSTACK_PRINTF.
34450         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
34451         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34452         Likewise.
34453         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
34454         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
34455         0.
34456
34457 2010-02-08  Bruno Haible  <bruno@clisp.org>
34458
34459         gnulib-tool: Fix typo in 2010-02-07 commit.
34460         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
34461         Reported by Eric Blake.
34462
34463 2010-02-07  Bruno Haible  <bruno@clisp.org>
34464
34465         gnulib-tool: Fix up caching patches.
34466         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
34467         option --no-cache. Use associative arrays when supported by the shell.
34468         (sed_comments): New variable.
34469         (modcache): Renamed from do_cache.
34470         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
34471         abbreviate unnecessarily.
34472         (have_associative): New variable.
34473         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
34474         way also for ksh and zsh.
34475         (func_init_sed_convert_to_cache_statements): New function, extracted
34476         from func_cache_lookup_module. Add support for associative arrays.
34477         Don't set the c_MODULE_cached variable here. Ignore all lines before
34478         the first field header. Remove only the final newline, not all trailing
34479         newlines. Support empty fields correctly. Limit the use of 'eval' to
34480         assignments.
34481         (func_get_description, func_get_status, func_get_notice,
34482         func_get_applicability, func_get_filelist, func_get_dependencies,
34483         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
34484         func_get_automake_snippet, func_get_include_directive,
34485         func_get_link_directive, func_get_license, func_get_maintainer):
34486         Update documentation. List the unoptimized code first. Add support for
34487         associative arrays. Limit the use of 'eval' to assignments.
34488         (func_get_applicability): Undo stylistic pessimisations.
34489         (func_get_automake_snippet, func_get_include_directive): Reduce code
34490         duplication.
34491         (func_modules_transitive_closure, func_modules_add_dummy,
34492         func_modules_notice, func_modules_to_filelist, func_add_file,
34493         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
34494         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
34495         func_create_testdir, func_create_megatestdir): Update documentation.
34496
34497 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34498
34499         * gnulib-tool (func_cache_lookup_module): Store the module name
34500         belonging to the cache variable; error out if two different
34501         module names map to the same cache variable name.
34502
34503 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34504
34505         gnulib-tool: Make caching optional.
34506         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
34507         Update matching short versions of --no-changelog.
34508         (func_usage): Update.
34509         (sed_extract_cache_prog): Renamed from ...
34510         (sed_extract_prog): ... this; revert to old extraction script.
34511         (func_get_description, func_get_status)
34512         (func_get_notice, func_get_applicability, func_get_filelist)
34513         (func_get_dependencies, func_get_autoconf_early_snippet)
34514         (func_get_autoconf_snippet, func_get_automake_snippet)
34515         (func_get_include_directive, func_get_link_directive)
34516         (func_get_license, func_get_maintainer): If $do_cache is false,
34517         use old, non-caching extraction scripts.
34518         Suggestion by Bruno Haible.
34519
34520 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34521
34522         gnulib-tool: cache module metainformation.
34523         * gnulib-tool (sed_extract_prog): Match newline before each
34524         header, and rewrite header to a shell variable suffix.
34525         (func_cache_var, func_cache_lookup_module): New functions,
34526         to turn a module name into a cache variable prefix, and to
34527         look up and cache module metainformation.
34528         (func_get_description, func_get_status)
34529         (func_get_notice, func_get_applicability, func_get_filelist)
34530         (func_get_dependencies, func_get_autoconf_early_snippet)
34531         (func_get_autoconf_snippet, func_get_automake_snippet)
34532         (func_get_include_directive, func_get_link_directive)
34533         (func_get_license, func_get_maintainer): Use
34534         func_cache_lookup_module.
34535
34536 2010-02-07  Bruno Haible  <bruno@clisp.org>
34537
34538         fnctl: Fix missing dependency.
34539         * modules/fcntl (Depends-on): Add getdtablesize.
34540         Reported by John W. Eaton <jwe@gnu.org>.
34541
34542 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34543
34544         Argp: fix recognition of short alias options.
34545
34546         * lib/argp-parse.c (convert_options): Fix improper use of
34547         `|' between character values.
34548         * tests/test-argp.c (group1_option): New alias option
34549         --read (-r).
34550         (group1_parser): Special handling for 'r'.
34551         (test15): New test case.
34552         (test_fun): Add test15.
34553         * tests/test-argp-2.sh: Update expected --help and --usage
34554         outputs.
34555
34556 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34557
34558         * tests/test-argp.c: Fix indentation.
34559
34560 2010-02-04  Eric Blake  <ebb9@byu.net>
34561
34562         gettimeofday: expose type of second argument
34563         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
34564         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
34565         * tests/test-gettimeofday.c: Use it to silence warning.
34566         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
34567         the issue.
34568
34569 2010-02-03  Jim Meyering  <meyering@redhat.com>
34570
34571         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
34572         * lib/regcomp.c (TYPE_SIGNED): Define.
34573         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
34574
34575         regcomp.c: avoid a new -Wshadow warning
34576         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
34577
34578 2010-02-01  Jim Meyering  <meyering@redhat.com>
34579
34580         removing useless parentheses in cpp #define directives
34581         For motivation, see commit c0221df4, "define STREQ(a,b)
34582         consistently, removing useless parentheses"
34583         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
34584         * lib/mountlist.c (MNT_IGNORE): Likewise.
34585         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
34586
34587 2010-02-01  Eric Blake  <ebb9@byu.net>
34588
34589         sys_time: use link-warning
34590         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
34591         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
34592         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
34593         * modules/sys_time (Depends-on): Add warn-on-use.
34594         (Makefile.am): Always build replacement.
34595         (configure.ac): Update substitutions.
34596         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
34597         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
34598         bother with SYS_TIME_H.
34599         * modules/gettimeofday (configure.ac): Declare indicator.
34600         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
34601         in use.
34602
34603         closein-tests: silence compiler warning
34604         * tests/test-closein.c (main): Ignore fread result.
34605         * modules/closein-tests (Depends-on): Add ignore-value.
34606
34607         tests: silence warning about system return
34608         * tests/test-areadlink-with-size.c (main): Ignore system result.
34609         * tests/test-areadlink.c (main): Likewise.
34610         * tests/test-areadlinkat-with-size.c (main): Likewise.
34611         * tests/test-areadlinkat.c (main): Likewise.
34612         * tests/test-canonicalize-lgpl.c (main): Likewise.
34613         * tests/test-canonicalize.c (main): Likewise.
34614         * tests/test-chown.c (main): Likewise.
34615         * tests/test-fchownat.c (main): Likewise.
34616         * tests/test-fdutimensat.c (main): Likewise.
34617         * tests/test-fstatat.c (main): Likewise.
34618         * tests/test-futimens.c (main): Likewise.
34619         * tests/test-lchown.c (main): Likewise.
34620         * tests/test-link.c (main): Likewise.
34621         * tests/test-linkat.c (main): Likewise.
34622         * tests/test-lstat.c (main): Likewise.
34623         * tests/test-mkdir.c (main): Likewise.
34624         * tests/test-mkdirat.c (main): Likewise.
34625         * tests/test-mkfifo.c (main): Likewise.
34626         * tests/test-mkfifoat.c (main): Likewise.
34627         * tests/test-mknod.c (main): Likewise.
34628         * tests/test-readlink.c (main): Likewise.
34629         * tests/test-remove.c (main): Likewise.
34630         * tests/test-rename.c (main): Likewise.
34631         * tests/test-renameat.c (main): Likewise.
34632         * tests/test-rmdir.c (main): Likewise.
34633         * tests/test-symlink.c (main): Likewise.
34634         * tests/test-symlinkat.c (main): Likewise.
34635         * tests/test-unlink.c (main): Likewise.
34636         * tests/test-unlinkat.c (main): Likewise.
34637         * tests/test-utimens.c (main): Likewise.
34638         * tests/test-utimensat.c (main): Likewise.
34639         * modules/areadlink-tests (Depends-on): Add ignore-value.
34640         * modules/areadlink-with-size-tests (Depends-on): Likewise.
34641         * modules/areadlinkat-tests (Depends-on): Likewise.
34642         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
34643         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34644         * modules/canonicalize-tests (Depends-on): Likewise.
34645         * modules/chown-tests (Depends-on): Likewise.
34646         * modules/fdutimensat-tests (Depends-on): Likewise.
34647         * modules/futimens-tests (Depends-on): Likewise.
34648         * modules/lchown-tests (Depends-on): Likewise.
34649         * modules/link-tests (Depends-on): Likewise.
34650         * modules/linkat-tests (Depends-on): Likewise.
34651         * modules/lstat-tests (Depends-on): Likewise.
34652         * modules/mkdir-tests (Depends-on): Likewise.
34653         * modules/mkfifo-tests (Depends-on): Likewise.
34654         * modules/mkfifoat-tests (Depends-on): Likewise.
34655         * modules/mknod-tests (Depends-on): Likewise.
34656         * modules/openat-tests (Depends-on): Likewise.
34657         * modules/readlink-tests (Depends-on): Likewise.
34658         * modules/remove-tests (Depends-on): Likewise.
34659         * modules/rename-tests (Depends-on): Likewise.
34660         * modules/renameat-tests (Depends-on): Likewise.
34661         * modules/rmdir-tests (Depends-on): Likewise.
34662         * modules/symlink-tests (Depends-on): Likewise.
34663         * modules/symlinkat-tests (Depends-on): Likewise.
34664         * modules/unlink-tests (Depends-on): Likewise.
34665         * modules/utimens-tests (Depends-on): Likewise.
34666         * modules/utimensat-tests (Depends-on): Likewise.
34667
34668 2010-01-31  Bruno Haible  <bruno@clisp.org>
34669
34670         Perform the same test for many <math.h> functions.
34671         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
34672         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
34673         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
34674         of gl_MATHFUNC.
34675         * modules/acos (configure.ac): Likewise.
34676         * modules/asin (configure.ac): Likewise.
34677         * modules/atan (configure.ac): Likewise.
34678         * modules/atan2 (configure.ac): Likewise.
34679         * modules/cbrt (configure.ac): Likewise.
34680         * modules/copysign (configure.ac): Likewise.
34681         * modules/cos (configure.ac): Likewise.
34682         * modules/cosh (configure.ac): Likewise.
34683         * modules/erf (configure.ac): Likewise.
34684         * modules/erfc (configure.ac): Likewise.
34685         * modules/exp (configure.ac): Likewise.
34686         * modules/fmod (configure.ac): Likewise.
34687         * modules/hypot (configure.ac): Likewise.
34688         * modules/j0 (configure.ac): Likewise.
34689         * modules/j1 (configure.ac): Likewise.
34690         * modules/jn (configure.ac): Likewise.
34691         * modules/lgamma (configure.ac): Likewise.
34692         * modules/log (configure.ac): Likewise.
34693         * modules/log10 (configure.ac): Likewise.
34694         * modules/log1p (configure.ac): Likewise.
34695         * modules/pow (configure.ac): Likewise.
34696         * modules/remainder (configure.ac): Likewise.
34697         * modules/sin (configure.ac): Likewise.
34698         * modules/sinh (configure.ac): Likewise.
34699         * modules/tan (configure.ac): Likewise.
34700         * modules/tanh (configure.ac): Likewise.
34701         * modules/y0 (configure.ac): Likewise.
34702         * modules/y1 (configure.ac): Likewise.
34703         * modules/yn (configure.ac): Likewise.
34704         Suggested by Paolo Bonzini.
34705
34706 2010-01-31  Bruno Haible  <bruno@clisp.org>
34707
34708         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
34709
34710 2010-01-31  Bruno Haible  <bruno@clisp.org>
34711
34712         Work around getdelim() bug on FreeBSD 8.0.
34713         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
34714         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
34715         not work.
34716         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
34717         is 1.
34718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
34719         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
34720         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
34721         a non-zero size.
34722         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
34723
34724 2010-01-31  Bruno Haible  <bruno@clisp.org>
34725
34726         Work around getline() bug on FreeBSD 8.0.
34727         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
34728         and a non-zero size.
34729         * tests/test-getline.c (main): Likewise.
34730         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
34731         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
34732
34733 2010-01-28  Eric Blake  <ebb9@byu.net>
34734
34735         regex: fix build failure
34736         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
34737         platforms.
34738
34739 2010-01-28  Jim Meyering  <meyering@redhat.com>
34740
34741         regex: do not ignore memory allocation failure
34742         * lib/regex_internal.c (create_cd_newstate): Detect
34743         re_node_set_init_copy failure.   Extracted from glibc commit
34744         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34745
34746         regex: sync more white-space changes from libc
34747         * lib/regex_internal.c: White-space only changes.
34748         * lib/regexec.c: Likewise.
34749
34750         regex: add many uses of __attribute_warn_unused_result__
34751         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
34752         * lib/regexec.c: Likewise.
34753         Extracted from a messy glibc commit.
34754
34755         regcomp.c: spelling and merge-artifact from glibc
34756         * lib/regcomp.c: Merge remainder of glibc's
34757         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34758
34759         regcomp.c: sync white-space changes from glibc
34760         * lib/regcomp.c: Merge to accommodate white space
34761         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34762
34763         regcomp.c: do not ignore internal return values
34764         * lib/regcomp.c: Do not ignore internal return values.
34765         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
34766         but without its white-space changes and spelling fixes.
34767
34768         regex_internal.h: define __attribute_warn_unused_result__
34769         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34770
34771         maint: add a syntax-check rule to check for vulnerable Makefile.in
34772         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34773
34774 2010-01-27  Jim Meyering  <meyering@redhat.com>
34775
34776         ncftpput-ftp: clean up spaces
34777         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34778         Remove trailing blanks.
34779
34780 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34781
34782         * build-aux/git-version-gen: Fix copyright statement.
34783         * build-aux/gnupload: Likewise.
34784         * tests/test-arcfour.c: Likewise.
34785         * tests/test-arctwo.c: Likewise.
34786         * tests/test-count-one-bits.c: Likewise.
34787         * tests/test-crc.c: Likewise.
34788         * tests/test-des.c: Likewise.
34789         * tests/test-gc-arcfour.c: Likewise.
34790         * tests/test-gc-arctwo.c: Likewise.
34791         * tests/test-gc-des.c: Likewise.
34792         * tests/test-gc-hmac-md5.c: Likewise.
34793         * tests/test-gc-hmac-sha1.c: Likewise.
34794         * tests/test-gc-md2.c: Likewise.
34795         * tests/test-gc-md4.c: Likewise.
34796         * tests/test-gc-md5.c: Likewise.
34797         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34798         * tests/test-gc-rijndael.c: Likewise.
34799         * tests/test-gc-sha1.c: Likewise.
34800         * tests/test-gc.c: Likewise.
34801         * tests/test-gethostname.c: Likewise.
34802         * tests/test-gettimeofday.c: Likewise.
34803         * tests/test-hash.c: Likewise.
34804         * tests/test-hmac-md5.c: Likewise.
34805         * tests/test-hmac-sha1.c: Likewise.
34806         * tests/test-md2.c: Likewise.
34807         * tests/test-md4.c: Likewise.
34808         * tests/test-md5.c: Likewise.
34809         * tests/test-memchr.c: Likewise.
34810         * tests/test-memchr2.c: Likewise.
34811         * tests/test-memcmp.c: Likewise.
34812         * tests/test-memmem.c: Likewise.
34813         * tests/test-memrchr.c: Likewise.
34814         * tests/test-rawmemchr.c: Likewise.
34815         * tests/test-read-file.c: Likewise.
34816         * tests/test-rijndael.c: Likewise.
34817         * tests/test-sockets.c: Likewise.
34818         * tests/test-strchrnul.c: Likewise.
34819         * tests/test-strstr.c: Likewise.
34820         * tests/test-strtod.c: Likewise.
34821         * build-aux/ncftpput-ftp: Likewise.
34822
34823 2010-01-26  Eric Blake  <ebb9@byu.net>
34824
34825         ignore-value: update recommended header name
34826         * modules/ignore-value (Include): Only use <> for headers that
34827         exist in glibc.
34828
34829 2010-01-26  Jim Meyering  <meyering@redhat.com>
34830
34831         test-userspec.c: avoid compiler warnings
34832         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34833         and "initialization discards qualifiers..." warnings.
34834         Put the first "uid" in its own scope, and make char* members "const".
34835
34836 2010-01-25  Bruno Haible  <bruno@clisp.org>
34837
34838         gnulib-tool: Make warning diagnostics consistent.
34839         * gnulib-tool (func_warning): New function.
34840         Use it everywhere where gnulib-tool produces output to stderr and it is
34841         not a fatal error.
34842
34843 2010-01-25  Bruno Haible  <bruno@clisp.org>
34844
34845         Fix test dependencies.
34846         * modules/xstrtol-tests (Depends-on): Add inttypes.
34847         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34848
34849 2010-01-25 Pádraig Brady <P@draigBrady.com>
34850
34851         syntax-check: detect incorrect boolean macro values in config.h
34852         * modules/maintainer-makefile (configure.ac): Parameterize the location
34853         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34854         The logic is from Eric Blake and the location indicated by Jim Meyering.
34855         Note the more natural CONFIG_HEADER name is prohibited by automake
34856         for backwards compatibility reasons.
34857         * top/maint.mk (sc_Wundef_boolean): New rule.
34858
34859 2010-01-25  Jim Meyering  <meyering@redhat.com>
34860
34861         bootstrap: detect MacOS 10.6's shasum, too
34862         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34863         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34864
34865 2010-01-23  Jim Meyering  <meyering@redhat.com>
34866
34867         xstrtoll: new module
34868         * modules/xstrtoll: New file.
34869         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34870         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34871         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34872         ./configure fails if you use this module and lack "long long".
34873         * modules/xstrtoll-tests: New module.
34874         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34875         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34876         new init.sh-based test framework.
34877
34878 2010-01-24  Bruno Haible  <bruno@clisp.org>
34879
34880         Tests for module 'yn'.
34881         * modules/yn-tests: New file.
34882         * tests/test-yn.c: New file.
34883
34884         Tests for module 'y1'.
34885         * modules/y1-tests: New file.
34886         * tests/test-y1.c: New file.
34887
34888         Tests for module 'y0'.
34889         * modules/y0-tests: New file.
34890         * tests/test-y0.c: New file.
34891
34892         Tests for module 'tanh'.
34893         * modules/tanh-tests: New file.
34894         * tests/test-tanh.c: New file.
34895
34896         Tests for module 'tan'.
34897         * modules/tan-tests: New file.
34898         * tests/test-tan.c: New file.
34899
34900         Tests for module 'sqrt'.
34901         * modules/sqrt-tests: New file.
34902         * tests/test-sqrt.c: New file.
34903
34904         Tests for module 'sinh'.
34905         * modules/sinh-tests: New file.
34906         * tests/test-sinh.c: New file.
34907
34908         Tests for module 'sin'.
34909         * modules/sin-tests: New file.
34910         * tests/test-sin.c: New file.
34911
34912         Tests for module 'rint'.
34913         * modules/rint-tests: New file.
34914         * tests/test-rint.c: New file.
34915
34916         Tests for module 'remainder'.
34917         * modules/remainder-tests: New file.
34918         * tests/test-remainder.c: New file.
34919
34920         Tests for module 'pow'.
34921         * modules/pow-tests: New file.
34922         * tests/test-pow.c: New file.
34923
34924         Tests for module 'nextafter'.
34925         * modules/nextafter-tests: New file.
34926         * tests/test-nextafter.c: New file.
34927
34928         Tests for module 'modf'.
34929         * modules/modf-tests: New file.
34930         * tests/test-modf.c: New file.
34931
34932         Tests for module 'logb'.
34933         * modules/logb-tests: New file.
34934         * tests/test-logb.c: New file.
34935
34936         Tests for module 'log1p'.
34937         * modules/log1p-tests: New file.
34938         * tests/test-log1p.c: New file.
34939
34940         Tests for module 'log10'.
34941         * modules/log10-tests: New file.
34942         * tests/test-log10.c: New file.
34943
34944         Tests for module 'log'.
34945         * modules/log-tests: New file.
34946         * tests/test-log.c: New file.
34947
34948         Tests for module 'lgamma'.
34949         * modules/lgamma-tests: New file.
34950         * tests/test-lgamma.c: New file.
34951
34952         Tests for module 'ldexp'.
34953         * modules/ldexp-tests: New file.
34954         * tests/test-ldexp.c: New file.
34955
34956         Tests for module 'jn'.
34957         * modules/jn-tests: New file.
34958         * tests/test-jn.c: New file.
34959
34960         Tests for module 'j1'.
34961         * modules/j1-tests: New file.
34962         * tests/test-j1.c: New file.
34963
34964         Tests for module 'j0'.
34965         * modules/j0-tests: New file.
34966         * tests/test-j0.c: New file.
34967
34968         Tests for module 'hypot'.
34969         * modules/hypot-tests: New file.
34970         * tests/test-hypot.c: New file.
34971
34972         Tests for module 'fmod'.
34973         * modules/fmod-tests: New file.
34974         * tests/test-fmod.c: New file.
34975
34976         Tests for module 'fabs'.
34977         * modules/fabs-tests: New file.
34978         * tests/test-fabs.c: New file.
34979
34980         Tests for module 'exp'.
34981         * modules/exp-tests: New file.
34982         * tests/test-exp.c: New file.
34983
34984         Tests for module 'erfc'.
34985         * modules/erfc-tests: New file.
34986         * tests/test-erfc.c: New file.
34987
34988         Tests for module 'erf'.
34989         * modules/erf-tests: New file.
34990         * tests/test-erf.c: New file.
34991
34992         Tests for module 'cosh'.
34993         * modules/cosh-tests: New file.
34994         * tests/test-cosh.c: New file.
34995
34996         Tests for module 'cos'.
34997         * modules/cos-tests: New file.
34998         * tests/test-cos.c: New file.
34999
35000         Tests for module 'copysign'.
35001         * modules/copysign-tests: New file.
35002         * tests/test-copysign.c: New file.
35003
35004         Tests for module 'cbrt'.
35005         * modules/cbrt-tests: New file.
35006         * tests/test-cbrt.c: New file.
35007
35008         Tests for module 'atan2'.
35009         * modules/atan2-tests: New file.
35010         * tests/test-atan2.c: New file.
35011
35012         Tests for module 'atan'.
35013         * modules/atan-tests: New file.
35014         * tests/test-atan.c: New file.
35015
35016         Tests for module 'asin'.
35017         * modules/asin-tests: New file.
35018         * tests/test-asin.c: New file.
35019
35020         Tests for module 'acos'.
35021         * modules/acos-tests: New file.
35022         * tests/test-acos.c: New file.
35023
35024 2010-01-24  Bruno Haible  <bruno@clisp.org>
35025
35026         Fix tests for common <math.h> functions.
35027         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
35028         code snippet that references the function pointer, rather than merely
35029         calling the function. Substitute the FUNC_LIBM variable.
35030         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
35031         * modules/acos (configure.ac): Likewise.
35032         * modules/asin (configure.ac): Likewise.
35033         * modules/atan (configure.ac): Likewise.
35034         * modules/atan2 (configure.ac): Likewise.
35035         * modules/cbrt (configure.ac): Likewise.
35036         * modules/copysign (configure.ac): Likewise.
35037         * modules/cos (configure.ac): Likewise.
35038         * modules/cosh (configure.ac): Likewise.
35039         * modules/erf (configure.ac): Likewise.
35040         * modules/erfc (configure.ac): Likewise.
35041         * modules/exp (configure.ac): Likewise.
35042         * modules/fabs (configure.ac): Likewise.
35043         * modules/fmod (configure.ac): Likewise.
35044         * modules/hypot (configure.ac): Likewise.
35045         * modules/j0 (configure.ac): Likewise.
35046         * modules/j1 (configure.ac): Likewise.
35047         * modules/jn (configure.ac): Likewise.
35048         * modules/ldexp (configure.ac): Likewise.
35049         * modules/lgamma (configure.ac): Likewise.
35050         * modules/log (configure.ac): Likewise.
35051         * modules/log10 (configure.ac): Likewise.
35052         * modules/log1p (configure.ac): Likewise.
35053         * modules/logb (configure.ac): Likewise.
35054         * modules/modf (configure.ac): Likewise.
35055         * modules/nextafter (configure.ac): Likewise.
35056         * modules/pow (configure.ac): Likewise.
35057         * modules/remainder (configure.ac): Likewise.
35058         * modules/rint (configure.ac): Likewise.
35059         * modules/sin (configure.ac): Likewise.
35060         * modules/sinh (configure.ac): Likewise.
35061         * modules/tan (configure.ac): Likewise.
35062         * modules/tanh (configure.ac): Likewise.
35063         * modules/y0 (configure.ac): Likewise.
35064         * modules/y1 (configure.ac): Likewise.
35065         * modules/yn (configure.ac): Likewise.
35066
35067 2010-01-24  Bruno Haible  <bruno@clisp.org>
35068
35069         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
35070         * tests/test-acosl.c (x): New variable.
35071         (main): Store argument in x and fetch it from x.
35072         * tests/test-asinl.c (x): New variable.
35073         (main): Store argument in x and fetch it from x.
35074         * tests/test-atanl.c (x): New variable.
35075         (main): Store argument in x and fetch it from x.
35076         * tests/test-cosl.c (x): New variable.
35077         (main): Store argument in x and fetch it from x.
35078         * tests/test-expl.c (x): New variable.
35079         (main): Store argument in x and fetch it from x.
35080         * tests/test-logl.c (x): New variable.
35081         (main): Store argument in x and fetch it from x.
35082         * tests/test-sinl.c (x): New variable.
35083         (main): Store argument in x and fetch it from x.
35084         * tests/test-sqrtl.c (x): New variable.
35085         (main): Store argument in x and fetch it from x.
35086         * tests/test-tanl.c (x): New variable.
35087         (main): Store argument in x and fetch it from x.
35088
35089 2010-01-24  Bruno Haible  <bruno@clisp.org>
35090
35091         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
35092         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
35093         assignments to the initial TESTS_ENVIRONMENT.
35094         * doc/gnulib.texi (Unit test modules): Document it.
35095         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
35096         TESTS_ENVIRONMENT.
35097         * modules/btowc-tests (Makefile.am): Likewise.
35098         * modules/c-stack-tests (Makefile.am): Likewise.
35099         * modules/c-strcase-tests (Makefile.am): Likewise.
35100         * modules/copy-file-tests (Makefile.am): Likewise.
35101         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
35102         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
35103         * modules/mbrtowc-tests (Makefile.am): Likewise.
35104         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35105         * modules/mbscasestr-tests (Makefile.am): Likewise.
35106         * modules/mbschr-tests (Makefile.am): Likewise.
35107         * modules/mbscspn-tests (Makefile.am): Likewise.
35108         * modules/mbsinit-tests (Makefile.am): Likewise.
35109         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35110         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
35111         * modules/mbspbrk-tests (Makefile.am): Likewise.
35112         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35113         * modules/mbsrchr-tests (Makefile.am): Likewise.
35114         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
35115         * modules/mbsspn-tests (Makefile.am): Likewise.
35116         * modules/mbsstr-tests (Makefile.am): Likewise.
35117         * modules/nl_langinfo-tests (Makefile.am): Likewise.
35118         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
35119         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35120         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35121         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35122         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35123         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
35124         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35125         * modules/wcrtomb-tests (Makefile.am): Likewise.
35126         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
35127         * modules/wcsrtombs-tests (Makefile.am): Likewise.
35128         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
35129         assignments from TESTS_ENVIRONMENT.
35130         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
35131         augmentation.
35132         * modules/argp-version-etc-tests (Makefile.am): Likewise.
35133         * modules/atexit-tests (Makefile.am): Likewise.
35134         * modules/binary-io-tests (Makefile.am): Likewise.
35135         * modules/closein-tests (Makefile.am): Likewise.
35136         * modules/dprintf-posix-tests (Makefile.am): Likewise.
35137         * modules/exclude-tests (Makefile.am): Likewise.
35138         * modules/fflush-tests (Makefile.am): Likewise.
35139         * modules/fpending-tests (Makefile.am): Likewise.
35140         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35141         * modules/freadahead-tests (Makefile.am): Likewise.
35142         * modules/freadptr-tests (Makefile.am): Likewise.
35143         * modules/freadseek-tests (Makefile.am): Likewise.
35144         * modules/fseek-tests (Makefile.am): Likewise.
35145         * modules/fseeko-tests (Makefile.am): Likewise.
35146         * modules/ftell-tests (Makefile.am): Likewise.
35147         * modules/ftello-tests (Makefile.am): Likewise.
35148         * modules/idpriv-drop-tests (Makefile.am): Likewise.
35149         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
35150         * modules/lseek-tests (Makefile.am): Likewise.
35151         * modules/parse-duration-tests (Makefile.am): Likewise.
35152         * modules/perror-tests (Makefile.am): Likewise.
35153         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
35154         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
35155         * modules/pipe-tests (Makefile.am): Likewise.
35156         * modules/pread-tests (Makefile.am): Likewise.
35157         * modules/printf-posix-tests (Makefile.am): Likewise.
35158         * modules/select-tests (Makefile.am): Likewise.
35159         * modules/sigpipe-tests (Makefile.am): Likewise.
35160         * modules/tsearch-tests (Makefile.am): Likewise.
35161         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
35162         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
35163         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35164         * modules/uniwidth/width-tests (Makefile.am): Likewise.
35165         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
35166         * modules/version-etc-tests (Makefile.am): Likewise.
35167         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35168         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35169         * modules/xalloc-die-tests (Makefile.am): Likewise.
35170         * modules/xprintf-posix-tests (Makefile.am): Likewise.
35171         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35172         * modules/xstrtol-tests (Makefile.am): Likewise.
35173         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35174         * modules/yesno-tests (Makefile.am): Likewise.
35175         Suggested by Jim Meyering.
35176
35177 2010-01-24  Bruno Haible  <bruno@clisp.org>
35178
35179         More documentation.
35180         * doc/gnulib.texi (Writing modules): New chapter.
35181         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
35182         the new chapter.
35183
35184 2010-01-24  Jim Meyering  <meyering@redhat.com>
35185
35186         maint.mk: do not prepend "./" after filtering
35187         * top/maint.mk (_prepend_srcdir_prefix): New variable
35188         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
35189         "./" when $(srcdir) is ".".
35190
35191         define STREQ(a,b) consistently, removing useless parentheses
35192         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
35193         since the only risk is that "a" or "b" contains an unparenthesized
35194         comma, but if either did that, STREQ would have 3 or more arguments.
35195         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
35196         * lib/fts.c (STREQ): Remove unnecessary parentheses.
35197         * lib/hash-triple.c (STREQ): Likewise.
35198         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
35199         * lib/getugroups.c (STREQ): Likewise.
35200
35201 2010-01-23  Jim Meyering  <meyering@redhat.com>
35202
35203         maint.mk: fix syntax-check in a non-srcdir build directory
35204         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
35205         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
35206
35207 2010-01-22  Jim Meyering  <meyering@redhat.com>
35208
35209         userspec: add unit tests
35210         * tests/test-userspec.c: New file.
35211         * modules/userspec-tests: Likewise.
35212
35213 2010-01-21  Jim Meyering  <meyering@redhat.com>
35214
35215         maint.mk: handle source file names containing "." robustly
35216         * top/maint.mk (_dot_escaped_srcdir): Define.
35217         (VC_LIST): Use it in LHS of sed substitution.
35218
35219 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
35220
35221         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
35222         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
35223         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
35224         from a non-srcdir build.
35225
35226 2010-01-20  Eric Blake  <ebb9@byu.net>
35227
35228         warn-on-use: use instead of link-warning
35229         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
35230         * modules/unistd (Depends-on, Makefile.am): Likewise.
35231         * modules/arpa_inet (Depends-on): Replace link-warning with
35232         warn-on-use.
35233         (Makefile.am): Update rules accordingly.
35234         * modules/ctype (Depends-on, Makefile.am): Likewise.
35235         * modules/dirent (Depends-on, Makefile.am): Likewise.
35236         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
35237         * modules/inttypes (Depends-on, Makefile.am): Likewise.
35238         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35239         * modules/locale (Depends-on, Makefile.am): Likewise.
35240         * modules/math (Depends-on, Makefile.am): Likewise.
35241         * modules/search (Depends-on, Makefile.am): Likewise.
35242         * modules/signal (Depends-on, Makefile.am): Likewise.
35243         * modules/spawn (Depends-on, Makefile.am): Likewise.
35244         * modules/stdlib (Depends-on, Makefile.am): Likewise.
35245         * modules/string (Depends-on, Makefile.am): Likewise.
35246         * modules/strings (Depends-on, Makefile.am): Likewise.
35247         * modules/sys_file (Depends-on, Makefile.am): Likewise.
35248         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
35249         * modules/sys_select (Depends-on, Makefile.am): Likewise.
35250         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
35251         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
35252         * modules/sys_times (Depends-on, Makefile.am): Likewise.
35253         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35254         * modules/wchar (Depends-on, Makefile.am): Likewise.
35255         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
35256         should be poisoned.
35257         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
35258         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
35259         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
35260         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35261         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35262         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35263         * m4/math_h.m4 (gl_MATH_H): Likewise.
35264         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35265         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35266         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35267         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35268         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35269         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35270         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
35271         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
35272         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
35273         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35274         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35275         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35276         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35277         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35278         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35279         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35280         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
35281         GL_LINK_WARNING.
35282         * lib/ctype.in.h: Likewise.
35283         * lib/dirent.in.h: Likewise.
35284         * lib/fcntl.in.h: Likewise.
35285         * lib/inttypes.in.h: Likewise.
35286         * lib/langinfo.in.h: Likewise.
35287         * lib/locale.in.h: Likewise.
35288         * lib/math.in.h: Likewise.
35289         * lib/search.in.h: Likewise.
35290         * lib/signal.in.h: Likewise.
35291         * lib/spawn.in.h: Likewise.
35292         * lib/stdio.in.h: Likewise.
35293         * lib/stdlib.in.h: Likewise.
35294         * lib/string.in.h: Likewise.
35295         * lib/strings.in.h: Likewise.
35296         * lib/sys_file.in.h: Likewise.
35297         * lib/sys_ioctl.in.h: Likewise.
35298         * lib/sys_select.in.h: Likewise.
35299         * lib/sys_socket.in.h: Likewise.
35300         * lib/sys_stat.in.h: Likewise.
35301         * lib/sys_times.in.h: Likewise.
35302         * lib/sys_utsname.in.h: Likewise.
35303         * lib/unistd.in.h: Likewise.
35304         * lib/wchar.in.h: Likewise.
35305
35306 2010-01-20  Bruno Haible  <bruno@clisp.org>
35307
35308         Avoid duplicate -lm.
35309         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
35310         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
35311         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
35312         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
35313         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
35314         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
35315         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
35316         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
35317         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
35318         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
35319         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
35320         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
35321         Reported by Paolo Bonzini.
35322
35323 2010-01-19  Bruno Haible  <bruno@clisp.org>
35324
35325         langinfo, nl_langinfo: Relicense under LGPLv2+.
35326         * modules/langinfo (License): Change to LGPLv2+.
35327         * modules/nl_langinfo (License): Likewise.
35328         Patch by David Lutterkort <lutter@redhat.com>.
35329
35330 2010-01-19  Bruno Haible  <bruno@clisp.org>
35331
35332         Avoid compilation error with cc on OSF/1 5.1.
35333         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
35334         statement, not before.
35335         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35336
35337 2010-01-18  Bruno Haible  <bruno@clisp.org>
35338
35339         Avoid a link error due to the __printf__ symbol.
35340         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
35341         and 2.6.x.
35342         (__format__, __printf__): Remove definitions.
35343         * lib/argp-fmtstream.h: Likewise.
35344         * lib/argp.h: Likewise.
35345         * lib/error.h: Likewise.
35346         * lib/vasnprintf.h: Likewise.
35347         * lib/xprintf.h: Likewise.
35348         * lib/xvasprintf.h: Likewise.
35349         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35350
35351 2010-01-18  Bruno Haible  <bruno@clisp.org>
35352
35353         Tests for module 'tanl'.
35354         * modules/tanl-tests: New file.
35355         * tests/test-tanl.c: New file.
35356
35357         Tests for module 'sqrtl'.
35358         * modules/sqrtl-tests: New file.
35359         * tests/test-sqrtl.c: New file.
35360
35361         Tests for module 'sinl'.
35362         * modules/sinl-tests: New file.
35363         * tests/test-sinl.c: New file.
35364
35365         Tests for module 'logl'.
35366         * modules/logl-tests: New file.
35367         * tests/test-logl.c: New file.
35368
35369         Tests for module 'expl'.
35370         * modules/expl-tests: New file.
35371         * tests/test-expl.c: New file.
35372
35373         Tests for module 'cosl'.
35374         * modules/cosl-tests: New file.
35375         * tests/test-cosl.c: New file.
35376
35377         Tests for module 'atanl'.
35378         * modules/atanl-tests: New file.
35379         * tests/test-atanl.c: New file.
35380
35381         Tests for module 'asinl'.
35382         * modules/asinl-tests: New file.
35383         * tests/test-asinl.c: New file.
35384
35385         Tests for module 'acosl'.
35386         * modules/acosl-tests: New file.
35387         * tests/test-acosl.c: New file.
35388
35389         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35390         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35391         tanl): Use the standard gnulib idiom.
35392         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35393         * lib/sinl.c: Likewise.
35394         * lib/tanl.c: Don't include trigl.c.
35395         (kernel_tanl): Make static.
35396         * lib/sincosl.c: Include trigl.h first.
35397         * lib/trigl.c: Likewise.
35398         * m4/acosl.m4: New file.
35399         * m4/asinl.m4: New file.
35400         * m4/atanl.m4: New file.
35401         * m4/cosl.m4: New file.
35402         * m4/expl.m4: New file.
35403         * m4/logl.m4: New file.
35404         * m4/sinl.m4: New file.
35405         * m4/sqrtl.m4: New file.
35406         * m4/tanl.m4: New file.
35407         * m4/mathl.m4: Remove file.
35408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
35409         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35410         Don't initialize GNULIB_MATHL.
35411         * modules/acosl: New file.
35412         * modules/asinl: New file.
35413         * modules/atanl: New file.
35414         * modules/cosl: New file.
35415         * modules/expl: New file.
35416         * modules/logl: New file.
35417         * modules/sinl: New file.
35418         * modules/sqrtl: New file.
35419         * modules/tanl: New file.
35420         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
35421         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
35422         substitute GNULIB_MATHL.
35423         * modules/mathl: Rewritten.
35424         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
35425         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
35426         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
35427         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
35428         * doc/posix-functions/expl.texi: Mention the 'expl' module.
35429         * doc/posix-functions/logl.texi: Mention the 'logl' module.
35430         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
35431         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
35432         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
35433
35434 2010-01-18  Bruno Haible  <bruno@clisp.org>
35435
35436         sqrt: Make gl_FUNC_SQRT requirable.
35437         * m4/sqrt.m4: New file.
35438         * modules/sqrt (Files): Add it.
35439         (configure.ac): Invoke gl_FUNC_SQRT.
35440
35441 2010-01-18  Bruno Haible  <bruno@clisp.org>
35442
35443         New modules for common <math.h> functions.
35444         * m4/mathfunc.m4: New file.
35445         * modules/acos: New file.
35446         * modules/asin: New file.
35447         * modules/atan: New file.
35448         * modules/atan2: New file.
35449         * modules/cbrt: New file.
35450         * modules/copysign: New file.
35451         * modules/cos: New file.
35452         * modules/cosh: New file.
35453         * modules/erf: New file.
35454         * modules/erfc: New file.
35455         * modules/exp: New file.
35456         * modules/fabs: New file.
35457         * modules/fmod: New file.
35458         * modules/hypot: New file.
35459         * modules/j0: New file.
35460         * modules/j1: New file.
35461         * modules/jn: New file.
35462         * modules/ldexp: New file.
35463         * modules/lgamma: New file.
35464         * modules/log: New file.
35465         * modules/log10: New file.
35466         * modules/log1p: New file.
35467         * modules/logb: New file.
35468         * modules/modf: New file.
35469         * modules/nextafter: New file.
35470         * modules/pow: New file.
35471         * modules/remainder: New file.
35472         * modules/rint: New file.
35473         * modules/sin: New file.
35474         * modules/sinh: New file.
35475         * modules/sqrt: New file.
35476         * modules/tan: New file.
35477         * modules/tanh: New file.
35478         * modules/y0: New file.
35479         * modules/y1: New file.
35480         * modules/yn: New file.
35481         * doc/posix-functions/acos.texi: Mention the 'acos' module.
35482         * doc/posix-functions/asin.texi: Mention the 'asin' module.
35483         * doc/posix-functions/atan.texi: Mention the 'atan' module.
35484         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
35485         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
35486         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
35487         * doc/posix-functions/cos.texi: Mention the 'cos' module.
35488         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
35489         * doc/posix-functions/erf.texi: Mention the 'erf' module.
35490         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
35491         * doc/posix-functions/exp.texi: Mention the 'exp' module.
35492         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
35493         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
35494         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
35495         * doc/posix-functions/j0.texi: Mention the 'j0' module.
35496         * doc/posix-functions/j1.texi: Mention the 'j1' module.
35497         * doc/posix-functions/jn.texi: Mention the 'jn' module.
35498         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
35499         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
35500         * doc/posix-functions/log.texi: Mention the 'log' module.
35501         * doc/posix-functions/log10.texi: Mention the 'log10' module.
35502         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
35503         * doc/posix-functions/logb.texi: Mention the 'logb' module.
35504         * doc/posix-functions/modf.texi: Mention the 'modf' module.
35505         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
35506         * doc/posix-functions/pow.texi: Mention the 'pow' module.
35507         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
35508         * doc/posix-functions/rint.texi: Mention the 'rint' module.
35509         * doc/posix-functions/sin.texi: Mention the 'sin' module.
35510         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
35511         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
35512         * doc/posix-functions/tan.texi: Mention the 'tan' module.
35513         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
35514         * doc/posix-functions/y0.texi: Mention the 'y0' module.
35515         * doc/posix-functions/y1.texi: Mention the 'y1' module.
35516         * doc/posix-functions/yn.texi: Mention the 'yn' module.
35517
35518 2010-01-18  Jim Meyering  <meyering@redhat.com>
35519
35520         ignore-value: relax license to LGPLv2+
35521         * modules/ignore-value (License): Relax to LGPLv2+.
35522
35523         getdate: don't leak when TZ contains two or more '"'s
35524         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
35525         double quote in TZ after the first one.
35526
35527         readtokens: do not leak internal token_lengths buffer
35528         * lib/readtokens.c (readtokens): Free the local, lengths,
35529         when the supplied "token_lengths" parameter is NULL.
35530
35531 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35532
35533         Fix a couple of missing LIBTHREAD link failures on AIX.
35534         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
35535         $(LIBTHREAD).
35536         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
35537
35538         Link test-poll against INET_PTON_LIB.
35539         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
35540         for inet_pton on Solaris 10.
35541
35542 2010-01-17  Bruno Haible  <bruno@clisp.org>
35543
35544         unistdio/*-sprintf: Fix typo in module description.
35545         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
35546         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
35547         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
35548         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
35549         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
35550         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
35551         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
35552         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35553
35554 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35555
35556         gnulib-tool: fix filelist for AIX, HP-UX ksh.
35557         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
35558         variables in shell case patterns, for AIX and HP-UX ksh.
35559
35560         Split large sed scripts, for HP-UX sed.
35561         * modules/stdio: Split sed scripts around 50 sed commands,
35562         to avoid HP-UX limit of 99 commands, in the near future.
35563         * modules/string: Likewise.
35564         * modules/unistd: Likewise.
35565
35566         gnulib-tool: avoid writing in the current directory.
35567         * gnulib-tool (func_emit_lib_Makefile_am)
35568         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
35569         not in the current directory, so concurrent gnulib-tool
35570         instances do not interfere.
35571
35572 2010-01-16  Jim Meyering  <meyering@redhat.com>
35573
35574         doc: update users.txt
35575         * users.txt: Add grep.
35576         (diffutils, gzip): Update URLs.
35577
35578 2010-01-12  Bruno Haible  <bruno@clisp.org>
35579
35580         posix_spawn: Avoid test failure on Cygwin.
35581         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
35582         characters.
35583         Reported by Simon Josefsson.
35584
35585 2010-01-12  Bruno Haible  <bruno@clisp.org>
35586
35587         * tests/test-cond.c (main): When skipping the test, show the reason.
35588
35589 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35590
35591         * lib/striconv.c (str_cd_iconv): Avoid if before free.
35592
35593 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35594
35595         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
35596         VC_LIST_ALWAYS_EXCLUDE_REGEX.
35597
35598 2010-01-12  Eric Blake  <ebb9@byu.net>
35599
35600         build: guarantee AS_VAR_IF
35601         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
35602         (gl_AS_VAR_IF): Move...
35603         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
35604         Reported by Simon Josefsson.
35605
35606 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35607
35608         * lib/stdio.in.h: Fix typo.
35609
35610 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35611
35612         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
35613         libgpg-error.
35614
35615 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35616
35617         * tests/test-xalloc-die.sh: Use $EXEEXT.
35618
35619 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35620             Bruno Haible  <bruno@clisp.org>
35621
35622         getlogin, getlogin_r: Avoid test failure.
35623         * tests/test-getlogin.c: Include <stdio.h>.
35624         (main): Skip the test when the function fails because stdin is not a
35625         tty.
35626         * tests/test-getlogin_r.c: Include <stdio.h>.
35627         (main): Skip the test when the function fails because stdin is not a
35628         tty.
35629
35630 2010-01-11  Eric Blake  <ebb9@byu.net>
35631
35632         tests: avoid more large file warnings
35633         * tests/test-fflush.c: Avoid warning about ftell use.
35634         * tests/test-fseek.c: Avoid warning about fseek use.
35635
35636 2010-01-10  Bruno Haible  <bruno@clisp.org>
35637
35638         nproc: Work better on Linux when /proc and /sys are not mounted.
35639         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
35640         as lower bound when, on glibc/Linux systems,
35641         sysconf (_SC_NPROCESSORS_CONF) returns 1.
35642         Suggested by Pádraig Brady <P@draigbrady.com>.
35643         Reported by Dmitry V. Levin <ldv@altlinux.org>.
35644
35645         nproc: Refactor.
35646         * lib/nproc.c (num_processors_via_affinity_mask): New function,
35647         extracted from num_processors.
35648         (num_processors): Call it.
35649
35650 2010-01-11  Jim Meyering  <meyering@redhat.com>
35651
35652         utimecmp: avoid new warning from upcoming gcc-4.5.0
35653         * lib/utimecmp.c (BILLION): Define using #define rather than an
35654         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
35655
35656 2010-01-11  Eric Blake  <ebb9@byu.net>
35657
35658         math: add portability warnings for classification macros
35659         * modules/math (Depends-on): Add warn-on-use.
35660         (Makefile.am): Provide new substitutions.
35661         * m4/math_h.m4 (gl_MATH_H): Require inline.
35662         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
35663         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
35664         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
35665         implement warnings.
35666
35667         unistd: warn on use of environ without module
35668         * modules/unistd (Depends-on): Add warn-on-use.
35669         (Makefile.am): Provide new substitutions.
35670         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
35671         * lib/unistd.in.h (environ): Wrap with a warning helper function.
35672
35673         stdio: warn on suspicious uses
35674         * modules/stdio (Depends-on): Add warn-on-use.
35675         (Makefile.am): Provide new substitutions.
35676         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
35677         fseeko.
35678         * lib/stdio.in.h (gets): Always warn on use.
35679         (fseek, ftell): Adjust when warnings are issued, and honor
35680         _GL_NO_LARGE_FILES as a way to silence the warning.
35681         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
35682         any warning about large file offsets.
35683         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
35684         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
35685         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
35686         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
35687         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
35688         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
35689         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
35690         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
35691
35692         warn-on-use: new module
35693         * modules/warn-on-use: New file.
35694         * build-aux/warn-on-use.h: Likewise.
35695         * m4/warn-on-use.m4: Likewise.
35696         * MODULES.html.sh (Support for building): Mention it.
35697
35698 2010-01-10  Bruno Haible  <bruno@clisp.org>
35699
35700         Tests for module 'unistr/u32-strdup'.
35701         * modules/unistr/u32-strdup-tests: New file.
35702         * tests/unistr/test-u32-strdup.c: New file.
35703
35704         Tests for module 'unistr/u16-strdup'.
35705         * modules/unistr/u16-strdup-tests: New file.
35706         * tests/unistr/test-u16-strdup.c: New file.
35707
35708         Tests for module 'unistr/u8-strdup'.
35709         * modules/unistr/u8-strdup-tests: New file.
35710         * tests/unistr/test-u8-strdup.c: New file.
35711         * tests/unistr/test-strdup.h: New file.
35712
35713         Tests for module 'unistr/u32-strncmp'.
35714         * modules/unistr/u32-strncmp-tests: New file.
35715         * tests/unistr/test-u32-strncmp.c: New file.
35716
35717         Tests for module 'unistr/u16-strncmp'.
35718         * modules/unistr/u16-strncmp-tests: New file.
35719         * tests/unistr/test-u16-strncmp.c: New file.
35720
35721         Tests for module 'unistr/u8-strncmp'.
35722         * modules/unistr/u8-strncmp-tests: New file.
35723         * tests/unistr/test-u8-strncmp.c: New file.
35724         * tests/unistr/test-strncmp.h: New file.
35725
35726         Tests for module 'unistr/u32-strcoll'.
35727         * modules/unistr/u32-strcoll-tests: New file.
35728         * tests/unistr/test-u32-strcoll.c: New file.
35729
35730         Tests for module 'unistr/u16-strcoll'.
35731         * modules/unistr/u16-strcoll-tests: New file.
35732         * tests/unistr/test-u16-strcoll.c: New file.
35733
35734         Tests for module 'unistr/u8-strcoll'.
35735         * modules/unistr/u8-strcoll-tests: New file.
35736         * tests/unistr/test-u8-strcoll.c: New file.
35737
35738         Tests for module 'unistr/u32-strcmp'.
35739         * modules/unistr/u32-strcmp-tests: New file.
35740         * tests/unistr/test-u32-strcmp.c: New file.
35741         * tests/unistr/test-u32-strcmp.h: New file.
35742
35743         Tests for module 'unistr/u16-strcmp'.
35744         * modules/unistr/u16-strcmp-tests: New file.
35745         * tests/unistr/test-u16-strcmp.c: New file.
35746         * tests/unistr/test-u16-strcmp.h: New file.
35747
35748         Tests for module 'unistr/u8-strcmp'.
35749         * modules/unistr/u8-strcmp-tests: New file.
35750         * tests/unistr/test-u8-strcmp.c: New file.
35751         * tests/unistr/test-u8-strcmp.h: New file.
35752         * tests/unistr/test-strcmp.h: New file.
35753
35754         Tests for module 'unistr/u32-strncat'.
35755         * modules/unistr/u32-strncat-tests: New file.
35756         * tests/unistr/test-u32-strncat.c: New file.
35757
35758         Tests for module 'unistr/u16-strncat'.
35759         * modules/unistr/u16-strncat-tests: New file.
35760         * tests/unistr/test-u16-strncat.c: New file.
35761
35762         Tests for module 'unistr/u8-strncat'.
35763         * modules/unistr/u8-strncat-tests: New file.
35764         * tests/unistr/test-u8-strncat.c: New file.
35765         * tests/unistr/test-strncat.h: New file.
35766
35767         Tests for module 'unistr/u32-strcat'.
35768         * modules/unistr/u32-strcat-tests: New file.
35769         * tests/unistr/test-u32-strcat.c: New file.
35770
35771         Tests for module 'unistr/u16-strcat'.
35772         * modules/unistr/u16-strcat-tests: New file.
35773         * tests/unistr/test-u16-strcat.c: New file.
35774
35775         Tests for module 'unistr/u8-strcat'.
35776         * modules/unistr/u8-strcat-tests: New file.
35777         * tests/unistr/test-u8-strcat.c: New file.
35778         * tests/unistr/test-strcat.h: New file.
35779
35780         Tests for module 'unistr/u32-stpncpy'.
35781         * modules/unistr/u32-stpncpy-tests: New file.
35782         * tests/unistr/test-u32-stpncpy.c: New file.
35783
35784         Tests for module 'unistr/u16-stpncpy'.
35785         * modules/unistr/u16-stpncpy-tests: New file.
35786         * tests/unistr/test-u16-stpncpy.c: New file.
35787
35788         Tests for module 'unistr/u8-stpncpy'.
35789         * modules/unistr/u8-stpncpy-tests: New file.
35790         * tests/unistr/test-u8-stpncpy.c: New file.
35791         * tests/unistr/test-stpncpy.h: New file.
35792
35793         Tests for module 'unistr/u32-strncpy'.
35794         * modules/unistr/u32-strncpy-tests: New file.
35795         * tests/unistr/test-u32-strncpy.c: New file.
35796
35797         Tests for module 'unistr/u16-strncpy'.
35798         * modules/unistr/u16-strncpy-tests: New file.
35799         * tests/unistr/test-u16-strncpy.c: New file.
35800
35801         Tests for module 'unistr/u8-strncpy'.
35802         * modules/unistr/u8-strncpy-tests: New file.
35803         * tests/unistr/test-u8-strncpy.c: New file.
35804         * tests/unistr/test-strncpy.h: New file.
35805
35806         Tests for module 'unistr/u32-stpcpy'.
35807         * modules/unistr/u32-stpcpy-tests: New file.
35808         * tests/unistr/test-u32-stpcpy.c: New file.
35809
35810         Tests for module 'unistr/u16-stpcpy'.
35811         * modules/unistr/u16-stpcpy-tests: New file.
35812         * tests/unistr/test-u16-stpcpy.c: New file.
35813
35814         Tests for module 'unistr/u8-stpcpy'.
35815         * modules/unistr/u8-stpcpy-tests: New file.
35816         * tests/unistr/test-u8-stpcpy.c: New file.
35817         * tests/unistr/test-stpcpy.h: New file.
35818
35819         Tests for module 'unistr/u32-strcpy'.
35820         * modules/unistr/u32-strcpy-tests: New file.
35821         * tests/unistr/test-u32-strcpy.c: New file.
35822
35823         Tests for module 'unistr/u16-strcpy'.
35824         * modules/unistr/u16-strcpy-tests: New file.
35825         * tests/unistr/test-u16-strcpy.c: New file.
35826
35827         Tests for module 'unistr/u8-strcpy'.
35828         * modules/unistr/u8-strcpy-tests: New file.
35829         * tests/unistr/test-u8-strcpy.c: New file.
35830         * tests/unistr/test-strcpy.h: New file.
35831
35832         Tests for module 'unistr/u32-strnlen'.
35833         * modules/unistr/u32-strnlen-tests: New file.
35834         * tests/unistr/test-u32-strnlen.c: New file.
35835
35836         Tests for module 'unistr/u16-strnlen'.
35837         * modules/unistr/u16-strnlen-tests: New file.
35838         * tests/unistr/test-u16-strnlen.c: New file.
35839
35840         Tests for module 'unistr/u8-strnlen'.
35841         * modules/unistr/u8-strnlen-tests: New file.
35842         * tests/unistr/test-u8-strnlen.c: New file.
35843         * tests/unistr/test-strnlen.h: New file.
35844
35845         Tests for module 'unistr/u32-strlen'.
35846         * modules/unistr/u32-strlen-tests: New file.
35847         * tests/unistr/test-u32-strlen.c: New file.
35848
35849         Tests for module 'unistr/u16-strlen'.
35850         * modules/unistr/u16-strlen-tests: New file.
35851         * tests/unistr/test-u16-strlen.c: New file.
35852
35853         Tests for module 'unistr/u8-strlen'.
35854         * modules/unistr/u8-strlen-tests: New file.
35855         * tests/unistr/test-u8-strlen.c: New file.
35856
35857         Tests for module 'unistr/u32-prev'.
35858         * modules/unistr/u32-prev-tests: New file.
35859         * tests/unistr/test-u32-prev.c: New file.
35860
35861         Tests for module 'unistr/u16-prev'.
35862         * modules/unistr/u16-prev-tests: New file.
35863         * tests/unistr/test-u16-prev.c: New file.
35864
35865         Tests for module 'unistr/u8-prev'.
35866         * modules/unistr/u8-prev-tests: New file.
35867         * tests/unistr/test-u8-prev.c: New file.
35868
35869         Tests for module 'unistr/u32-next'.
35870         * modules/unistr/u32-next-tests: New file.
35871         * tests/unistr/test-u32-next.c: New file.
35872
35873         Tests for module 'unistr/u16-next'.
35874         * modules/unistr/u16-next-tests: New file.
35875         * tests/unistr/test-u16-next.c: New file.
35876
35877         Tests for module 'unistr/u8-next'.
35878         * modules/unistr/u8-next-tests: New file.
35879         * tests/unistr/test-u8-next.c: New file.
35880
35881         Tests for module 'unistr/u32-strmbtouc'.
35882         * modules/unistr/u32-strmbtouc-tests: New file.
35883         * tests/unistr/test-u32-strmbtouc.c: New file.
35884
35885         Tests for module 'unistr/u16-strmbtouc'.
35886         * modules/unistr/u16-strmbtouc-tests: New file.
35887         * tests/unistr/test-u16-strmbtouc.c: New file.
35888
35889         Tests for module 'unistr/u8-strmbtouc'.
35890         * modules/unistr/u8-strmbtouc-tests: New file.
35891         * tests/unistr/test-u8-strmbtouc.c: New file.
35892
35893         Tests for module 'unistr/u32-strmblen'.
35894         * modules/unistr/u32-strmblen-tests: New file.
35895         * tests/unistr/test-u32-strmblen.c: New file.
35896
35897         Tests for module 'unistr/u16-strmblen'.
35898         * modules/unistr/u16-strmblen-tests: New file.
35899         * tests/unistr/test-u16-strmblen.c: New file.
35900
35901         Tests for module 'unistr/u8-strmblen'.
35902         * modules/unistr/u8-strmblen-tests: New file.
35903         * tests/unistr/test-u8-strmblen.c: New file.
35904
35905         Tests for module 'unistr/u32-cpy-alloc'.
35906         * modules/unistr/u32-cpy-alloc-tests: New file.
35907         * tests/unistr/test-u32-cpy-alloc.c: New file.
35908
35909         Tests for module 'unistr/u16-cpy-alloc'.
35910         * modules/unistr/u16-cpy-alloc-tests: New file.
35911         * tests/unistr/test-u16-cpy-alloc.c: New file.
35912
35913         Tests for module 'unistr/u8-cpy-alloc'.
35914         * modules/unistr/u8-cpy-alloc-tests: New file.
35915         * tests/unistr/test-u8-cpy-alloc.c: New file.
35916         * tests/unistr/test-cpy-alloc.h: New file.
35917
35918         Tests for module 'unistr/u32-mbsnlen'.
35919         * modules/unistr/u32-mbsnlen-tests: New file.
35920         * tests/unistr/test-u32-mbsnlen.c: New file.
35921
35922         Tests for module 'unistr/u16-mbsnlen'.
35923         * modules/unistr/u16-mbsnlen-tests: New file.
35924         * tests/unistr/test-u16-mbsnlen.c: New file.
35925
35926         Tests for module 'unistr/u8-mbsnlen'.
35927         * modules/unistr/u8-mbsnlen-tests: New file.
35928         * tests/unistr/test-u8-mbsnlen.c: New file.
35929
35930         Tests for module 'unistr/u32-chr'.
35931         * modules/unistr/u32-chr-tests: New file.
35932         * tests/unistr/test-u32-chr.c: New file.
35933
35934         Tests for module 'unistr/u16-chr'.
35935         * modules/unistr/u16-chr-tests: New file.
35936         * tests/unistr/test-u16-chr.c: New file.
35937
35938         Tests for module 'unistr/u8-chr'.
35939         * modules/unistr/u8-chr-tests: New file.
35940         * tests/unistr/test-u8-chr.c: New file.
35941         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
35942
35943         Tests for module 'unistr/u32-cmp2'.
35944         * modules/unistr/u32-cmp2-tests: New file.
35945         * tests/unistr/test-u32-cmp2.c: New file.
35946
35947         Tests for module 'unistr/u16-cmp2'.
35948         * modules/unistr/u16-cmp2-tests: New file.
35949         * tests/unistr/test-u16-cmp2.c: New file.
35950
35951         Tests for module 'unistr/u8-cmp2'.
35952         * modules/unistr/u8-cmp2-tests: New file.
35953         * tests/unistr/test-u8-cmp2.c: New file.
35954         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
35955
35956         Tests for module 'unistr/u32-cmp'.
35957         * modules/unistr/u32-cmp-tests: New file.
35958         * tests/unistr/test-u32-cmp.c: New file.
35959
35960         Tests for module 'unistr/u16-cmp'.
35961         * modules/unistr/u16-cmp-tests: New file.
35962         * tests/unistr/test-u16-cmp.c: New file.
35963
35964         Tests for module 'unistr/u8-cmp'.
35965         * modules/unistr/u8-cmp-tests: New file.
35966         * tests/unistr/test-u8-cmp.c: New file.
35967         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
35968
35969         Tests for module 'unistr/u32-set'.
35970         * modules/unistr/u32-set-tests: New file.
35971         * tests/unistr/test-u32-set.c: New file.
35972
35973         Tests for module 'unistr/u16-set'.
35974         * modules/unistr/u16-set-tests: New file.
35975         * tests/unistr/test-u16-set.c: New file.
35976
35977         Tests for module 'unistr/u8-set'.
35978         * modules/unistr/u8-set-tests: New file.
35979         * tests/unistr/test-u8-set.c: New file.
35980         * tests/unistr/test-set.h: New file.
35981
35982         Tests for module 'unistr/u32-move'.
35983         * modules/unistr/u32-move-tests: New file.
35984         * tests/unistr/test-u32-move.c: New file.
35985
35986         Tests for module 'unistr/u16-move'.
35987         * modules/unistr/u16-move-tests: New file.
35988         * tests/unistr/test-u16-move.c: New file.
35989
35990         Tests for module 'unistr/u8-move'.
35991         * modules/unistr/u8-move-tests: New file.
35992         * tests/unistr/test-u8-move.c: New file.
35993         * tests/unistr/test-move.h: New file.
35994
35995         Tests for module 'unistr/u32-cpy'.
35996         * modules/unistr/u32-cpy-tests: New file.
35997         * tests/unistr/test-u32-cpy.c: New file.
35998
35999         Tests for module 'unistr/u16-cpy'.
36000         * modules/unistr/u16-cpy-tests: New file.
36001         * tests/unistr/test-u16-cpy.c: New file.
36002
36003         Tests for module 'unistr/u8-cpy'.
36004         * modules/unistr/u8-cpy-tests: New file.
36005         * tests/unistr/test-u8-cpy.c: New file.
36006         * tests/unistr/test-cpy.h: New file.
36007
36008 2010-01-09  Bruno Haible  <bruno@clisp.org>
36009
36010         Tests for module 'unistr/u32-uctomb'.
36011         * modules/unistr/u32-uctomb-tests: New file.
36012         * tests/unistr/test-u32-uctomb.c: New file.
36013
36014         Tests for module 'unistr/u16-uctomb'.
36015         * modules/unistr/u16-uctomb-tests: New file.
36016         * tests/unistr/test-u16-uctomb.c: New file.
36017
36018         Tests for module 'unistr/u8-uctomb'.
36019         * modules/unistr/u8-uctomb-tests: New file.
36020         * tests/unistr/test-u8-uctomb.c: New file.
36021
36022         Tests for module 'unistr/u32-mbtoucr'.
36023         * modules/unistr/u32-mbtoucr-tests: New file.
36024         * tests/unistr/test-u32-mbtoucr.c: New file.
36025
36026         Tests for module 'unistr/u16-mbtoucr'.
36027         * modules/unistr/u16-mbtoucr-tests: New file.
36028         * tests/unistr/test-u16-mbtoucr.c: New file.
36029
36030         Tests for module 'unistr/u8-mbtoucr'.
36031         * modules/unistr/u8-mbtoucr-tests: New file.
36032         * tests/unistr/test-u8-mbtoucr.c: New file.
36033
36034         Tests for module 'unistr/u32-mbtouc'.
36035         * modules/unistr/u32-mbtouc-tests: New file.
36036         * tests/unistr/test-u32-mbtouc.c: New file.
36037
36038         Tests for module 'unistr/u16-mbtouc'.
36039         * modules/unistr/u16-mbtouc-tests: New file.
36040         * tests/unistr/test-u16-mbtouc.c: New file.
36041
36042         Tests for module 'unistr/u8-mbtouc'.
36043         * modules/unistr/u8-mbtouc-tests: New file.
36044         * tests/unistr/test-u8-mbtouc.c: New file.
36045
36046         Tests for module 'unistr/u32-mbtouc-unsafe'.
36047         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
36048         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
36049         * tests/unistr/test-u32-mbtouc.h: New file.
36050
36051         Tests for module 'unistr/u16-mbtouc-unsafe'.
36052         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
36053         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
36054         * tests/unistr/test-u16-mbtouc.h: New file.
36055
36056         Tests for module 'unistr/u8-mbtouc-unsafe'.
36057         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
36058         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
36059         * tests/unistr/test-u8-mbtouc.h: New file.
36060
36061         Tests for module 'unistr/u32-mblen'.
36062         * modules/unistr/u32-mblen-tests: New file.
36063         * tests/unistr/test-u32-mblen.c: New file.
36064
36065         Tests for module 'unistr/u16-mblen'.
36066         * modules/unistr/u16-mblen-tests: New file.
36067         * tests/unistr/test-u16-mblen.c: New file.
36068
36069         Tests for module 'unistr/u8-mblen'.
36070         * modules/unistr/u8-mblen-tests: New file.
36071         * tests/unistr/test-u8-mblen.c: New file.
36072
36073         Tests for module 'unistr/u32-to-u16'.
36074         * modules/unistr/u32-to-u16-tests: New file.
36075         * tests/unistr/test-u32-to-u16.c: New file.
36076
36077         Tests for module 'unistr/u32-to-u8'.
36078         * modules/unistr/u32-to-u8-tests: New file.
36079         * tests/unistr/test-u32-to-u8.c: New file.
36080
36081         Tests for module 'unistr/u16-to-u32'.
36082         * modules/unistr/u16-to-u32-tests: New file.
36083         * tests/unistr/test-u16-to-u32.c: New file.
36084
36085         Tests for module 'unistr/u16-to-u8'.
36086         * modules/unistr/u16-to-u8-tests: New file.
36087         * tests/unistr/test-u16-to-u8.c: New file.
36088
36089         Tests for module 'unistr/u8-to-u32'.
36090         * modules/unistr/u8-to-u32-tests: New file.
36091         * tests/unistr/test-u8-to-u32.c: New file.
36092
36093         Tests for module 'unistr/u8-to-u16'.
36094         * modules/unistr/u8-to-u16-tests: New file.
36095         * tests/unistr/test-u8-to-u16.c: New file.
36096
36097         Tests for module 'unistr/u32-check'.
36098         * modules/unistr/u32-check-tests: New file.
36099         * tests/unistr/test-u32-check.c: New file.
36100
36101         Tests for module 'unistr/u16-check'.
36102         * modules/unistr/u16-check-tests: New file.
36103         * tests/unistr/test-u16-check.c: New file.
36104
36105         Tests for module 'unistr/u8-check'.
36106         * modules/unistr/u8-check-tests: New file.
36107         * tests/unistr/test-u8-check.c: New file.
36108
36109         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
36110         (category_equals): New function.
36111         (main): Add more tests.
36112         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
36113
36114         * tests/unictype/test-bidi_byname.c (main): Add more tests.
36115
36116 2010-01-10  Bruno Haible  <bruno@clisp.org>
36117
36118         unistr/u*-strcoll: Try harder to distinguish different strings.
36119         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
36120         compare s1 and s2 to see if they are different.
36121
36122 2010-01-10  Bruno Haible  <bruno@clisp.org>
36123
36124         unistr/u*-stpncpy: Fix the return value.
36125         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
36126         description of the return value consistent with stpncpy in glibc.
36127         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
36128         written non-NUL unit.
36129
36130 2010-01-10  Bruno Haible  <bruno@clisp.org>
36131
36132         unistr/u*-next: Add missing dependencies.
36133         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
36134         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
36135         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
36136
36137 2010-01-10  Bruno Haible  <bruno@clisp.org>
36138
36139         unistr/u8-mbsnlen: Fix return value for incomplete character.
36140         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
36141         u8_mblen.
36142         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
36143         Remove unistr/u8-mblen.
36144         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
36145         u16_mblen.
36146         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
36147         Remove unistr/u16-mblen.
36148
36149 2010-01-10  Bruno Haible  <bruno@clisp.org>
36150
36151         wchar: Fix compilation error when <wchar.h> is used from coreutils.
36152         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
36153         Reported by Brian Gough <bjg@gnu.org> and
36154         Chris Clayton <chris2553@googlemail.com> via
36155         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
36156
36157 2010-01-09  Bruno Haible  <bruno@clisp.org>
36158
36159         unistr/u16-to-u32: Reject invalid input.
36160         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
36161         u16_mbtouc.
36162         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
36163         Remove unistr/u16-mbtouc.
36164
36165         unistr/u16-to-u8: Reject invalid input.
36166         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
36167         u16_mbtouc.
36168         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
36169         Remove unistr/u16-mbtouc.
36170
36171         unistr/u8-to-u32: Reject invalid input.
36172         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
36173         u8_mbtouc.
36174         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
36175         Remove unistr/u8-mbtouc.
36176
36177         unistr/u8-to-u16: Reject invalid input.
36178         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
36179         u8_mbtouc.
36180         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
36181         Remove unistr/u8-mbtouc.
36182
36183 2010-01-09  Bruno Haible  <bruno@clisp.org>
36184
36185         Tests for module 'getlogin'.
36186         * modules/getlogin-tests: New file.
36187         * tests/test-getlogin.c: New file.
36188
36189         New module 'getlogin'.
36190         * lib/unistd.in.h (getlogin): New declaration.
36191         * lib/getlogin.c: New file.
36192         * m4/getlogin.m4: New file.
36193         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
36194         HAVE_GETLOGIN.
36195         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
36196         HAVE_GETLOGIN.
36197         * modules/getlogin: New file.
36198         * doc/posix-functions/getlogin.texi: Mention the new module.
36199         Reported by John W. Eaton <jwe@gnu.org>.
36200
36201 2010-01-09  Bruno Haible  <bruno@clisp.org>
36202
36203         getlogin_r: Support for native Windows.
36204         * lib/getlogin_r.c: Include <windows.h>
36205         (getlogin_r): Implement for native Windows.
36206         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
36207         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
36208         via John W. Eaton <jwe@gnu.org>.
36209
36210 2010-01-09  Bruno Haible  <bruno@clisp.org>
36211
36212         getlogin_r: Small fixes.
36213         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
36214         succeeds.
36215         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
36216         before testing whether getlogin_r is declared. No need to set
36217         HAVE_DECL_GETLOGIN_R to 1.
36218         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
36219
36220 2010-01-09  Bruno Haible  <bruno@clisp.org>
36221
36222         * lib/unistd.in.h (getlogin_r): Add comment.
36223
36224 2010-01-09  Bruno Haible  <bruno@clisp.org>
36225
36226         Tests for module 'getlogin_r'.
36227         * modules/getlogin_r-tests: New file.
36228         * tests/test-getlogin_r.c: New file.
36229
36230 2010-01-09  Jim Meyering  <meyering@redhat.com>
36231
36232         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
36233         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
36234         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
36235
36236 2010-01-08  Simon Josefsson  <simon@josefsson.org>
36237
36238         * lib/dup2.c (rpl_dup2): Improve comment.
36239
36240 2010-01-08  Eric Blake  <ebb9@byu.net>
36241
36242         maint.mk: allow packages to add makefile @@ exceptions
36243         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
36244         (sc_makefile_check): Rename...
36245         (sc_makefile_at_at_check): ...to this, and use hook.
36246
36247         dup2: work around mingw bug
36248         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
36249         Reported by Simon Josefsson.
36250
36251 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
36252
36253         glob: Fix C++ compilation.
36254         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
36255         C++.
36256
36257 2010-01-07  Bruno Haible  <bruno@clisp.org>
36258
36259         Fix indentation of wctype.in.h, broken since 2007-01-06.
36260         * lib/wctype.in.h: Fix indentation of preprocessor directives.
36261
36262 2010-01-07  Bruno Haible  <bruno@clisp.org>
36263
36264         mbslen: Avoid collision with system function.
36265         * lib/string.in.h [MirBSD]: Include <wchar.h>.
36266         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
36267         * m4/mbslen.m4: New file.
36268         * modules/mbslen (Files): Add it.
36269         (configure.ac): Invoke gl_MBSLEN.
36270         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
36271         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
36272         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
36273         via Ian Beckwith <ianb@erislabs.net>.
36274
36275 2010-01-07  Bruno Haible  <bruno@clisp.org>
36276
36277         dirent: Document the last fix.
36278         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
36279
36280 2010-01-07  Bruno Haible  <bruno@clisp.org>
36281
36282         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
36283         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
36284         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
36285         va_list are defined.
36286         * doc/posix-headers/stdio.texi: Document the bug of missing types.
36287         Reported by Eric Blake.
36288
36289 2010-01-07  Bruno Haible  <bruno@clisp.org>
36290
36291         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
36292         * modules/xlist (Depends-on): Add 'list',
36293         * modules/xoset (Depends-on): Add 'oset'.
36294         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36295
36296 2010-01-07  Bruno Haible  <bruno@clisp.org>
36297
36298         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
36299         * doc/posix-functions/strncasecmp.texi: Likewise.
36300
36301 2010-01-07  Bruno Haible  <bruno@clisp.org>
36302
36303         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
36304
36305 2010-01-07  John W. Eaton  <jwe@octave.org>
36306
36307         wctype: allow C++ use
36308         * lib/wctype.in.h: Add extern "C" block for C++.
36309
36310 2010-01-06  Eric Blake  <ebb9@byu.net>
36311
36312         maint.mk: detect incorrect GFDL usage
36313         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
36314
36315 2010-01-06  Jim Meyering  <meyering@redhat.com>
36316         and Eric Blake  <ebb9@byu.net>
36317
36318         maint.mk: ignore multi-line copyright in NEWS
36319         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
36320
36321 2010-01-06  Eric Blake  <ebb9@byu.net>
36322
36323         select: add missing dependency
36324         * modules/select-tests (Depends-on): Move sockets dependency...
36325         * modules/select (Depends-on): ...here.
36326         Reported by Ian Beckwith.
36327
36328         doc: regenerate INSTALL
36329         * doc/INSTALL: Reflect recent autoconf update.
36330         * doc/INSTALL.ISO: Likewise.
36331         * doc/INSTALL.UTF-8: Likewise.
36332
36333         pread: fix compilation on glibc
36334         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
36335         Reported by Ralf Wildenhues.
36336
36337         dirent: fix test failure
36338         * lib/dirent.in.h (includes): Guarantee ino_t.
36339         Reported by Ralf Wildenhues.
36340
36341 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
36342
36343         linkat, renameat: avoid bad free
36344         * lib/at-func2.c (at_func2): Fix typo.
36345         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36346
36347 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36348
36349         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36350         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36351         to avoid failure of symlink test later.
36352
36353 2010-01-06  Eric Blake  <ebb9@byu.net>
36354
36355         stdio, unistd: guarantee ssize_t
36356         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36357         2008 are exposed when needed.
36358         * lib/stdio.in.h (includes): Likewise.
36359         Reported by Ralf Wildenhues.
36360
36361 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36362
36363         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36364         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36365         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36366
36367 2010-01-06  Jim Meyering  <meyering@redhat.com>
36368
36369         readtokens: this module *does* require xalloc.h
36370         It uses only functions that were omitted by the old syntax-check rule.
36371         * lib/readtokens.c: Include "xalloc.h" once again.
36372         * modules/readtokens (Depends-on): Add xalloc.
36373         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36374
36375 2010-01-05  Eric Blake  <ebb9@byu.net>
36376
36377         maint: support 'make announcement' from a VPATH build
36378         * top/maint.mk (announcement): Look for correct NEWS file.
36379
36380 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36381
36382         utimens (fdutimens): ignore a negative FD, per contract
36383         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36384         when we have a valid file descriptor.  Otherwise, using a brand
36385         new glibc (with just-patched futimens that now fails with EBADF)
36386         would cause this function to fail with ENOSYS.
36387         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36388         See also http://bugzilla.redhat.com/552320.
36389
36390 2010-01-05  Eric Blake  <ebb9@byu.net>
36391
36392         strcase: document what it provides
36393         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36394         gnulib module.
36395         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36396         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36397
36398 2010-01-05  Jim Meyering  <meyering@redhat.com>
36399
36400         maint: remove useless inclusions of "xalloc.h"
36401         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
36402         * lib/readtokens.c: Likewise.
36403         * lib/same.c: Likewise.
36404         * modules/getloadavg (Depends-on): Remove xalloc.
36405         * modules/readtokens: Likewise.
36406         * modules/same: Likewise.
36407
36408         maint.mk: include 4 more function names in alloca.h-checking regexp
36409         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
36410         regexp.  Before, we would give a false-positive (saying alloca.h
36411         is included unnecessarily) when the only uses involved omitted symbols.
36412
36413         xalloc.h: use consistent formatting
36414         * lib/xalloc.h: Move declarations to start in the first column.
36415
36416 2010-01-05  Eric Blake  <ebb9@byu.net>
36417
36418         mkdir: avoid xalloc
36419         * lib/mkdir.c (includes): Drop unused header.
36420         Reported by John W. Eaton.
36421
36422 2010-01-04  Jim Meyering  <meyering@redhat.com>
36423
36424         nl_langinfo: avoid configure-time syntax error
36425         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
36426         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
36427         the empty string.  Don't let that provoke a shell syntax error.
36428
36429         regcomp, regexec, fnmatch: avoid array bounds read error
36430         * lib/regcomp.c (build_equiv_class): From glibc:
36431         Use only the low 24 bits of a findidx return value as an index
36432         into the weights array.  Patch by Ulrich Drepper:
36433         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
36434         * lib/regexec.c (check_node_accept_bytes): Likewise.
36435         * lib/fnmatch_loop.c (FCT): Likewise.
36436
36437         regcomp: skip collseq lookup when there are no rules
36438         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
36439         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
36440
36441         regcomp: recognize ill-formed { } expressions
36442         * lib/regcomp.c (parse_dup_op): From glibc:
36443         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
36444
36445         regcomp: fix typo in comment
36446         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
36447         s/satisfy/satisfies/.
36448
36449         regcomp: sync from glibc: remove dead store
36450         * lib/regcomp.c (duplicate_node_closure): Remove useless
36451         search_duplicated_node call and dead store.
36452
36453         regcomp: sync from glibc; always use nl_langinfo
36454         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
36455         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
36456         * modules/regex (Depends-on): Add nl_langinfo.
36457
36458 2010-01-04  Eric Blake  <ebb9@byu.net>
36459
36460         fdopendir: fix configure test
36461         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
36462
36463 2010-01-01  Bruno Haible  <bruno@clisp.org>
36464
36465         wchar: Remove unused configure check.
36466         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
36467
36468 2010-01-01  Eric Blake  <ebb9@byu.net>
36469
36470         headers: make check of system header explicit
36471         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
36472         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
36473         ourselves.
36474         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36475         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36476         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36477         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
36478         internals.
36479         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
36480         missing.
36481         Suggested by Bruno Haible.
36482
36483 2010-01-01  Jim Meyering  <meyering@redhat.com>
36484
36485         ChangeLog: tweak to eliminate unnecessary copyright line
36486         * ChangeLog: Remove a copyright line that was mistakenly updated
36487         by today's update-copyright run.  Reported by Eric Blake.
36488
36489         test-update-copyright: don't let envvar setting cause test failure
36490         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36491
36492 2010-01-01  Bruno Haible  <bruno@clisp.org>
36493
36494         localename: Avoid gcc warning.
36495         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
36496         function if it is not used.
36497
36498 2010-01-01  Jim Meyering  <meyering@redhat.com>
36499
36500         update nearly all FSF copyright year lists to include 2010
36501         Use the same procedure as for 2009, outlined in
36502         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
36503
36504         version-etc: set COPYRIGHT_YEAR to 2010
36505         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
36506
36507 2009-12-31  Eric Blake  <ebb9@byu.net>
36508
36509         doc: correct availability of cygwin 1.5.x getopt
36510         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
36511         variables.
36512         * doc/posix-functions/opterr.texi (opterr): Likewise.
36513         * doc/posix-functions/optind.texi (optind): Likewise.
36514         * doc/posix-functions/optopt.texi (optopt): Likewise.
36515         * doc/posix-functions/tzname.texi (tzname): Likewise.
36516
36517         openat: update maintainer
36518         * modules/openat (Maintainer): Add myself.
36519
36520         utimens: avoid shadowing warning
36521         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
36522         buffers into one, to avoid shadowing, as well as avoiding a
36523         redundant stat.
36524         Reported by Jim Meyering.
36525
36526         test-dup2: avoid compiler warning
36527         * tests/test-dup2.c (is_inheritable): Only define if used.
36528
36529 2010-01-01  Bruno Haible  <bruno@clisp.org>
36530
36531         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
36532         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
36533         defined, use wctomb instead of wcrtomb.
36534
36535 2010-01-01  Bruno Haible  <bruno@clisp.org>
36536
36537         iconv: Reject native Solaris iconv.
36538         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
36539         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
36540
36541 2009-12-31  Bruno Haible  <bruno@clisp.org>
36542
36543         * tests/test-signal.c (main): Remove test of 'SIG'.
36544
36545 2009-12-31  Bruno Haible  <bruno@clisp.org>
36546
36547         spawn: Fix incomplete fix.
36548         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36549         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36550         warnings for GNULIB_POSIXCHECK again.
36551         Reported by Eric Blake.
36552
36553 2009-12-31  Bruno Haible  <bruno@clisp.org>
36554
36555         Avoid namespace pollution on glibc systems.
36556         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
36557         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
36558         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
36559         glibc systems.
36560
36561 2009-12-31  Bruno Haible  <bruno@clisp.org>
36562
36563         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
36564         (gl_REPLACE_WCHAR_H): Turn into a no-op.
36565         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
36566         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
36567         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
36568         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
36569         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
36570
36571 2009-12-31  Bruno Haible  <bruno@clisp.org>
36572
36573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36574         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
36575         afterwards.
36576
36577 2009-12-31  Bruno Haible  <bruno@clisp.org>
36578
36579         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
36580         SYS_UTSNAME_H.
36581
36582 2009-12-31  Bruno Haible  <bruno@clisp.org>
36583
36584         spawn: Fix misapplied patch.
36585         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36586         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36587         warnings for GNULIB_POSIXCHECK.
36588
36589 2009-12-31  Bruno Haible  <bruno@clisp.org>
36590
36591         times: Update after sys_times changed.
36592         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
36593         * modules/times (Files): Add it.
36594         (configure.ac): Invoke gl_FUNC_TIMES.
36595
36596 2009-12-31  Bruno Haible  <bruno@clisp.org>
36597
36598         Use AC_C_INLINE where necessary.
36599         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
36600         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36601         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36602         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36603         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36604         * m4/mbiter.m4 (gl_MBITER): Likewise.
36605         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36606         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36607         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
36608         * modules/u64 (configure.ac): Likewise.
36609
36610 2009-12-31  Bruno Haible  <bruno@clisp.org>
36611
36612         Use AC_C_INLINE instead of module 'inline' where possible.
36613         * modules/inline (Description): Clarify purpose.
36614         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
36615         * modules/count-one-bits (Depends-on): Remove inline.
36616         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
36617         * modules/openat (Depends-on): Remove inline.
36618         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
36619         instead of depending on module 'inline'.
36620         * modules/filevercmp (Depends-on, configure.ac): Likewise.
36621         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
36622         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
36623         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
36624         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
36625         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
36626         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
36627         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
36628         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
36629         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
36630         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
36631         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
36632         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
36633         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
36634         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
36635         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
36636         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
36637         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
36638         Likewise.
36639         * modules/unictype/property-ascii-hex-digit (Depends-on,
36640         configure.ac): Likewise.
36641         * modules/unictype/property-bidi-arabic-digit (Depends-on,
36642         configure.ac): Likewise.
36643         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
36644         configure.ac): Likewise.
36645         * modules/unictype/property-bidi-block-separator (Depends-on,
36646         configure.ac): Likewise.
36647         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
36648         configure.ac): Likewise.
36649         * modules/unictype/property-bidi-common-separator (Depends-on,
36650         configure.ac): Likewise.
36651         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
36652         Likewise.
36653         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
36654         configure.ac): Likewise.
36655         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
36656         configure.ac): Likewise.
36657         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
36658         configure.ac): Likewise.
36659         * modules/unictype/property-bidi-european-digit (Depends-on,
36660         configure.ac): Likewise.
36661         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
36662         configure.ac): Likewise.
36663         * modules/unictype/property-bidi-left-to-right (Depends-on,
36664         configure.ac): Likewise.
36665         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
36666         configure.ac): Likewise.
36667         * modules/unictype/property-bidi-other-neutral (Depends-on,
36668         configure.ac): Likewise.
36669         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
36670         Likewise.
36671         * modules/unictype/property-bidi-segment-separator (Depends-on,
36672         configure.ac): Likewise.
36673         * modules/unictype/property-bidi-whitespace (Depends-on,
36674         configure.ac): Likewise.
36675         * modules/unictype/property-combining (Depends-on, configure.ac):
36676         Likewise.
36677         * modules/unictype/property-composite (Depends-on, configure.ac):
36678         Likewise.
36679         * modules/unictype/property-currency-symbol (Depends-on,
36680         configure.ac): Likewise.
36681         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
36682         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
36683         Likewise.
36684         * modules/unictype/property-default-ignorable-code-point (Depends-on,
36685         configure.ac): Likewise.
36686         * modules/unictype/property-deprecated (Depends-on, configure.ac):
36687         Likewise.
36688         * modules/unictype/property-diacritic (Depends-on, configure.ac):
36689         Likewise.
36690         * modules/unictype/property-extender (Depends-on, configure.ac):
36691         Likewise.
36692         * modules/unictype/property-format-control (Depends-on, configure.ac):
36693         Likewise.
36694         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
36695         Likewise.
36696         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
36697         Likewise.
36698         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
36699         Likewise.
36700         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
36701         Likewise.
36702         * modules/unictype/property-hyphen (Depends-on, configure.ac):
36703         Likewise.
36704         * modules/unictype/property-id-continue (Depends-on, configure.ac):
36705         Likewise.
36706         * modules/unictype/property-id-start (Depends-on, configure.ac):
36707         Likewise.
36708         * modules/unictype/property-ideographic (Depends-on, configure.ac):
36709         Likewise.
36710         * modules/unictype/property-ids-binary-operator (Depends-on,
36711         configure.ac): Likewise.
36712         * modules/unictype/property-ids-trinary-operator (Depends-on,
36713         configure.ac): Likewise.
36714         * modules/unictype/property-ignorable-control (Depends-on,
36715         configure.ac): Likewise.
36716         * modules/unictype/property-iso-control (Depends-on, configure.ac):
36717         Likewise.
36718         * modules/unictype/property-join-control (Depends-on, configure.ac):
36719         Likewise.
36720         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
36721         Likewise.
36722         * modules/unictype/property-line-separator (Depends-on, configure.ac):
36723         Likewise.
36724         * modules/unictype/property-logical-order-exception (Depends-on,
36725         configure.ac): Likewise.
36726         * modules/unictype/property-lowercase (Depends-on, configure.ac):
36727         Likewise.
36728         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
36729         * modules/unictype/property-non-break (Depends-on, configure.ac):
36730         Likewise.
36731         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
36732         Likewise.
36733         * modules/unictype/property-numeric (Depends-on, configure.ac):
36734         Likewise.
36735         * modules/unictype/property-other-alphabetic (Depends-on,
36736         configure.ac): Likewise.
36737         * modules/unictype/property-other-default-ignorable-code-point
36738         (Depends-on, configure.ac): Likewise.
36739         * modules/unictype/property-other-grapheme-extend (Depends-on,
36740         configure.ac): Likewise.
36741         * modules/unictype/property-other-id-continue (Depends-on,
36742         configure.ac): Likewise.
36743         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
36744         Likewise.
36745         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
36746         Likewise.
36747         * modules/unictype/property-other-math (Depends-on, configure.ac):
36748         Likewise.
36749         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
36750         Likewise.
36751         * modules/unictype/property-paired-punctuation (Depends-on,
36752         configure.ac): Likewise.
36753         * modules/unictype/property-paragraph-separator (Depends-on,
36754         configure.ac): Likewise.
36755         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
36756         Likewise.
36757         * modules/unictype/property-pattern-white-space (Depends-on,
36758         configure.ac): Likewise.
36759         * modules/unictype/property-private-use (Depends-on, configure.ac):
36760         Likewise.
36761         * modules/unictype/property-punctuation (Depends-on, configure.ac):
36762         Likewise.
36763         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
36764         Likewise.
36765         * modules/unictype/property-radical (Depends-on, configure.ac):
36766         Likewise.
36767         * modules/unictype/property-sentence-terminal (Depends-on,
36768         configure.ac): Likewise.
36769         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36770         Likewise.
36771         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36772         * modules/unictype/property-terminal-punctuation (Depends-on,
36773         configure.ac): Likewise.
36774         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36775         Likewise.
36776         * modules/unictype/property-unassigned-code-value (Depends-on,
36777         configure.ac): Likewise.
36778         * modules/unictype/property-unified-ideograph (Depends-on,
36779         configure.ac): Likewise.
36780         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36781         Likewise.
36782         * modules/unictype/property-variation-selector (Depends-on,
36783         configure.ac): Likewise.
36784         * modules/unictype/property-white-space (Depends-on, configure.ac):
36785         Likewise.
36786         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36787         Likewise.
36788         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36789         Likewise.
36790         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36791         Likewise.
36792         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36793         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36794         Likewise.
36795
36796 2009-12-31  Bruno Haible  <bruno@clisp.org>
36797
36798         Remove unnecessary AC_C_INLINE invocation.
36799         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36800         since 2009-08-21.
36801
36802 2009-12-31  Jim Meyering  <meyering@redhat.com>
36803
36804         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36805         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36806         With this change, we can all remove the gpg_key_ID = ... definition
36807         from our respective cfg.mk files.
36808
36809         maint.mk: create announcement template in ~/, not in /tmp
36810         * top/maint.mk (emit_upload_commands): Adjust.
36811         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36812         Remove temporary file, .ci-msg.
36813
36814 2009-12-31  Eric Blake  <ebb9@byu.net>
36815
36816         link-warning: always build headers with link warnings
36817         * modules/arpa_inet (Makefile.am): Always build replacement
36818         header.
36819         * modules/ctype (Makefile.am): Likewise.
36820         * modules/dirent (Makefile.am): Likewise.
36821         * modules/inttypes (Makefile.am): Likewise.
36822         * modules/langinfo (Makefile.am): Likewise.
36823         * modules/locale (Makefile.am): Likewise.
36824         * modules/spawn (Makefile.am): Likewise.
36825         * modules/sys_file (Makefile.am): Likewise.
36826         * modules/sys_ioctl (Makefile.am): Likewise.
36827         * modules/sys_select (Makefile.am): Likewise.
36828         * modules/sys_socket (Makefile.am): Likewise.
36829         * modules/sys_times (Makefile.am): Likewise.
36830         * modules/sys_utsname (Makefile.am): Likewise.
36831         * modules/sys_wait (Makefile.am): Likewise.
36832         * modules/wchar (Makefile.am): Likewise.
36833         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36834         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36835         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36836         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36837         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36838         Likewise.
36839         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36840         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36841         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36842         Likewise.
36843         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36844         Likewise.
36845         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36846         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36847         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36848         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36849         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36850         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36851         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36852         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36853         (gl_WCHAR_H_DEFAULTS): Likewise.
36854
36855 2009-12-31  Eric Blake  <ebb9@byu.net>
36856
36857         signal, spawn: use link warnings
36858         * lib/signal.in.h (sigset_t): Make unconditional.
36859         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36860         (sigpending, sigprocmask, sigaction): Add link warnings.
36861         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36862         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36863         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36864         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36865         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36866         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36867         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36868         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36869         (posix_spawn_file_actions_destroy)
36870         (posix_spawn_file_actions_addopen)
36871         (posix_spawn_file_actions_addclose)
36872         (posix_spawn_file_actions_adddup2): Likewise.
36873         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36874         * tests/test-signal.c (main): Enhance test.
36875
36876         spawn: improve wrapper support
36877         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36878         (gl_SPAWN_H_DEFAULTS): New defaults.
36879         * modules/spawn (Makefile.am): Substitute them.
36880         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36881         Only declare if missing or broken.
36882
36883         sys_times, sys_utsname: use include_next
36884         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36885         header.
36886         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36887         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36888         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36889         * modules/sys_times (Depends-on): Add include_next.
36890         (Makefile.am): Substitute additional values.
36891         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36892         * lib/sys_times.in.h (includes): Include native header, if
36893         available.
36894         * lib/sys_utsname.in.h (includes): Likewise.
36895         * tests/test-sys_times.c (main): Enhance test.
36896
36897         fdutimensat: revert prior patch
36898         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36899         utimens.h.
36900         Reported by Bruno Haible.
36901
36902 2009-12-30  Eric Blake  <ebb9@byu.net>
36903
36904         sys_wait: drop link-warning dependency
36905         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36906         link-warning efforts.
36907         * lib/sys_wait.in.h: Likewise.
36908
36909         fdutimensat: remove bogus dependency
36910         * modules/fdutimensat (Depends-on): Drop inline.
36911
36912         unistd: fix typo
36913         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36914
36915 2009-12-30  Bruno Haible  <bruno@clisp.org>
36916
36917         Fix compilation error with Solaris cc.
36918         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36919         * lib/unicase/u16-is-invariant.c: Likewise.
36920         * lib/unicase/u32-is-invariant.c: Likewise.
36921         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36922
36923 2009-12-30  Bruno Haible  <bruno@clisp.org>
36924
36925         Fix test crash.
36926         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36927         locales.
36928         Reported by Simon Josefsson <simon@josefsson.org>.
36929
36930 2009-12-30  Bruno Haible  <bruno@clisp.org>
36931
36932         Fix compilation error on most platforms.
36933         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36934         Reported by Simon Josefsson <simon@josefsson.org>
36935         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36936
36937 2009-12-30  Eric Blake  <ebb9@byu.net>
36938
36939         futimens, utimensat: work around ntfs-3g bug
36940         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
36941         a ctime bug is present, and expand workaround to cover ntfs-3g.
36942         * lib/utimens.c (fdutimens, lutimens): Likewise.
36943         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
36944         (validate_timespec): Adjust return value.
36945         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
36946         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36947         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
36948
36949 2009-12-29  Eric Blake  <ebb9@byu.net>
36950
36951         link-warning: make usage consistent
36952         * modules/ctype (Depends-on): Add link-warning.
36953         (Makefile.am): Update rules accordingly.
36954         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36955         * modules/locale (Depends-on, Makefile.am): Likewise.
36956         * modules/sys_file (Makefile.am): Likewise.
36957         * modules/getopt-posix (Makefile.am): Delete unused link warning
36958         efforts.
36959         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
36960         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
36961         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
36962         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
36963
36964         stdio: remove unused variables
36965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
36966         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
36967         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
36968
36969         tests: test more substitute headers
36970         * modules/ctype-tests: New file.
36971         * modules/dirent-tests: Likewise.
36972         * modules/spawn-tests: Likewise.
36973         * modules/sys_file-tests: Likewise.
36974         * modules/sys_ioctl-tests: Likewise.
36975         * modules/sys_wait-tests: Likewise.
36976         * tests/test-ctype.c: Likewise.
36977         * tests/test-dirent.c: Likewise.
36978         * tests/test-spawn.c: Likewise.
36979         * tests/test-sys_file.c: Likewise.
36980         * tests/test-sys_ioctl.c: Likewise.
36981         * tests/test-sys_wait.c: Likewise.
36982         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36983         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36984         whether or not flock is in use.
36985
36986         tests: remove License section from module
36987         * modules/arpa_inet-tests: Remove unneeded section.
36988         * modules/byteswap-tests: Likewise.
36989         * modules/ceilf-tests: Likewise.
36990         * modules/ceill-tests: Likewise.
36991         * modules/crypto/des-tests: Likewise.
36992         * modules/crypto/gc-arcfour-tests: Likewise.
36993         * modules/crypto/gc-arctwo-tests: Likewise.
36994         * modules/crypto/gc-des-tests: Likewise.
36995         * modules/crypto/gc-hmac-md5-tests: Likewise.
36996         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36997         * modules/crypto/gc-md2-tests: Likewise.
36998         * modules/crypto/gc-md4-tests: Likewise.
36999         * modules/crypto/gc-md5-tests: Likewise.
37000         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
37001         * modules/crypto/gc-rijndael-tests: Likewise.
37002         * modules/crypto/gc-sha1-tests: Likewise.
37003         * modules/crypto/gc-tests: Likewise.
37004         * modules/crypto/md2-tests: Likewise.
37005         * modules/crypto/md4-tests: Likewise.
37006         * modules/fcntl-h-tests: Likewise.
37007         * modules/floorf-tests: Likewise.
37008         * modules/floorl-tests: Likewise.
37009         * modules/frexp-nolibm-tests: Likewise.
37010         * modules/frexp-tests: Likewise.
37011         * modules/frexpl-nolibm-tests: Likewise.
37012         * modules/frexpl-tests: Likewise.
37013         * modules/getaddrinfo-tests: Likewise.
37014         * modules/inttypes-tests: Likewise.
37015         * modules/isfinite-tests: Likewise.
37016         * modules/isinf-tests: Likewise.
37017         * modules/ldexpl-tests: Likewise.
37018         * modules/locale-tests: Likewise.
37019         * modules/math-tests: Likewise.
37020         * modules/netdb-tests: Likewise.
37021         * modules/netinet_in-tests: Likewise.
37022         * modules/printf-frexp-tests: Likewise.
37023         * modules/printf-frexpl-tests: Likewise.
37024         * modules/priv-set-tests: Likewise.
37025         * modules/random_r-tests: Likewise.
37026         * modules/round-tests: Likewise.
37027         * modules/roundf-tests: Likewise.
37028         * modules/roundl-tests: Likewise.
37029         * modules/search-tests: Likewise.
37030         * modules/select-tests: Likewise.
37031         * modules/signal-tests: Likewise.
37032         * modules/stdbool-tests: Likewise.
37033         * modules/stddef-tests: Likewise.
37034         * modules/stdint-tests: Likewise.
37035         * modules/stdio-tests: Likewise.
37036         * modules/stdlib-tests: Likewise.
37037         * modules/string-tests: Likewise.
37038         * modules/strings-tests: Likewise.
37039         * modules/sys_select-tests: Likewise.
37040         * modules/sys_socket-tests: Likewise.
37041         * modules/sys_stat-tests: Likewise.
37042         * modules/sys_time-tests: Likewise.
37043         * modules/sys_utsname-tests: Likewise.
37044         * modules/sysexits-tests: Likewise.
37045         * modules/time-tests: Likewise.
37046         * modules/trunc-tests: Likewise.
37047         * modules/truncf-tests: Likewise.
37048         * modules/truncl-tests: Likewise.
37049         * modules/tsearch-tests: Likewise.
37050         * modules/unistd-tests: Likewise.
37051         * modules/wchar-tests: Likewise.
37052         * modules/wctype-tests: Likewise.
37053
37054         tests: fix license on several tests
37055         * tests/test-des.c: Update to GPLv3+.
37056         * tests/test-flock.c: Likewise.
37057         * tests/test-fsync.c: Likewise.
37058         * tests/test-futimens.h: Likewise.
37059         * tests/test-gc-arcfour.c: Likewise.
37060         * tests/test-gc-arctwo.c: Likewise.
37061         * tests/test-gc-des.c: Likewise.
37062         * tests/test-gc-hmac-md5.c: Likewise.
37063         * tests/test-gc-hmac-sha1.c: Likewise.
37064         * tests/test-gc-md2.c: Likewise.
37065         * tests/test-gc-md4.c: Likewise.
37066         * tests/test-gc-md5.c: Likewise.
37067         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37068         * tests/test-gc-rijndael.c: Likewise.
37069         * tests/test-gc-sha1.c: Likewise.
37070         * tests/test-gc.c: Likewise.
37071         * tests/test-getcwd.c: Likewise.
37072         * tests/test-link.c: Likewise.
37073         * tests/test-link.h: Likewise.
37074         * tests/test-lutimens.h: Likewise.
37075         * tests/test-md2.c: Likewise.
37076         * tests/test-md4.c: Likewise.
37077         * tests/test-mkdir.h: Likewise.
37078         * tests/test-rename.c: Likewise.
37079         * tests/test-rename.h: Likewise.
37080         * tests/test-safe-alloc.c: Likewise.
37081         * tests/test-utimens-common.h: Likewise.
37082         * tests/test-utimens.h: Likewise.
37083
37084         maint: sync license texts
37085         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
37086         * doc/gpl-3.0.texi: Revert copyright year update.
37087         * doc/lgpl-3.0.texi: Likewise.
37088
37089 2009-12-29  Jim Meyering  <meyering@redhat.com>
37090
37091         update nearly all FSF copyright year lists to include 2009
37092         The files named by the following are exempted:
37093             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
37094               test -f "$dst" && { echo "$dst"; continue; }
37095               test -d "$dst" || continue
37096               echo "$dst"/$(basename "$src")
37097             done > exempt
37098             git ls-files tests/unictype >> exempt
37099         In the remaining files, convert to all-interval notation if
37100         - there is already at least one year interval like 2000-2003
37101         - the file is maintained by me
37102         - the file is in lib/uni*/, where that style already prevails
37103         Otherwise, use update-copyright's default.
37104
37105 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37106         and Eric Blake  <ebb9@byu.net>
37107
37108         tests: don't require debug system() to pass
37109         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
37110         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37111         * tests/test-unlink.h (test_unlink_func): Likewise.
37112         * tests/test-fstatat.c (main): ...into callers.
37113         * tests/test-lstat.c (main): Likewise.
37114         * tests/test-rmdir.c (main): Likewise.
37115         * tests/test-unlink.c (main): Likewise.
37116         * tests/test-unlinkat.c (main): Likewise.
37117         * tests/test-areadlink-with-size.c (main): Don't require a
37118         debug-only system call to pass, aiding cross-testing to mingw.
37119         * tests/test-areadlink.c (main): Likewise.
37120         * tests/test-areadlinkat-with-size.c (main): Likewise.
37121         * tests/test-areadlinkat.c (main): Likewise.
37122         * tests/test-canonicalize-lgpl.c (main): Likewise.
37123         * tests/test-canonicalize.c (main): Likewise.
37124         * tests/test-chown.c (main): Likewise.
37125         * tests/test-fchownat.c (main): Likewise.
37126         * tests/test-lchown.c (main): Likewise.
37127         * tests/test-fdutimensat.c (main): Likewise.
37128         * tests/test-futimens.c (main): Likewise.
37129         * tests/test-link.c (main): Likewise.
37130         * tests/test-linkat.c (main): Likewise.
37131         * tests/test-mkdir.c (main): Likewise.
37132         * tests/test-mkdirat.c (main): Likewise.
37133         * tests/test-mkfifo.c (main): Likewise.
37134         * tests/test-mkfifoat.c (main): Likewise.
37135         * tests/test-mknod.c (main): Likewise.
37136         * tests/test-readlink.c (main): Likewise.
37137         * tests/test-remove.c (main): Likewise.
37138         * tests/test-rename.c (main): Likewise.
37139         * tests/test-renameat.c (main): Likewise.
37140         * tests/test-symlink.c (main): Likewise.
37141         * tests/test-symlinkat.c (main): Likewise.
37142         * tests/test-utimens.c (main): Likewise.
37143         * tests/test-utimensat.c (main): Likewise.
37144
37145 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37146
37147         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
37148         on $(UNUSED_PARAMETER_H) to avoid build failure.
37149
37150 2009-12-28  Jim Meyering  <meyering@redhat.com>
37151
37152         update-copyright: you may specify a max. line length other than 72
37153         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37154
37155         maint: use consistent FSF copyright line syntax
37156         * lib/posixtm.c: Add missing comma in FSF copyright line.
37157         * lib/posixtm.h: Likewise.
37158         * lib/getugroups.c: Add missing ", Inc.".
37159
37160         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
37161         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
37162         FSF copyright line.  Remove trailing blanks.
37163
37164 2009-12-28  Eric Blake  <ebb9@byu.net>
37165
37166         test-dup2: reduce dependencies
37167         * modules/cloexec (Configure.ac): Set witness.
37168         * modules/dup2-tests (Depends-on): Drop cloexec.
37169         * tests/test-dup2.c (main): Skip portion of test if cloexec module
37170         not present.
37171         Suggested by Bruno Haible.
37172
37173 2009-12-26  Bruno Haible  <bruno@clisp.org>
37174
37175         Remove an unneeded dependency.
37176         * modules/fseterr (Depends-on): Remove dup2.
37177
37178 2009-12-26  Eric Blake  <ebb9@byu.net>
37179
37180         tests: use macros.h in more places
37181         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
37182         (ASSERT_STREAM): Provide default of stderr.
37183         * tests/test-dirent-safer.c: Include macros.h, using alternate
37184         stream for assertions.
37185         * tests/test-dup-safer.c: Likewise.
37186         * tests/test-freopen-safer.c: Likewise.
37187         * tests/test-getopt.c: Likewise.
37188         * tests/test-openat-safer.c: Likewise.
37189         * tests/test-pipe.c: Likewise.
37190         * tests/test-popen-safer.c: Likewise.
37191         * modules/dirent-safer-tests (Files): Include macros.h.
37192         * modules/unistd-safer-tests (Files): Likewise.
37193         * modules/freopen-safer-tests (Files): Likewise.
37194         * modules/getopt-posix-tests (Files): Likewise.
37195         * modules/openat-safer-tests (Files): Likewise.
37196         * modules/pipe-tests (Files): Likewise.
37197
37198 2009-12-26  Bruno Haible  <bruno@clisp.org>
37199
37200         javacomp: Portability fix.
37201         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
37202         that it also works on Solaris.
37203
37204 2009-12-26  Bruno Haible  <bruno@clisp.org>
37205
37206         localename: Fix storage allocation of gl_locale_name_thread's result.
37207         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
37208         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
37209         all platforms that have 'uselocale'.
37210         (gl_locale_name_thread_unsafe): New function, extracted from
37211         gl_locale_name_thread.
37212         (gl_locale_name_thread): Call struniq on all platforms that have
37213         'uselocale'.
37214         * tests/test-localename.c (test_locale_name_thread): Check that the
37215         resulting strings are permanently allocated.
37216         * modules/localename-tests (Depends-on): Add strdup.
37217
37218 2009-12-26  Bruno Haible  <bruno@clisp.org>
37219
37220         * tests/test-localename.c (categories): Fill in the strings.
37221
37222 2009-12-26  Jim Meyering  <meyering@redhat.com>
37223
37224         isdir: complete the removal of m4/isdir.m4
37225         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
37226
37227         isdir: clean up, since at least grep still uses it
37228         * lib/isdir.c: Include "isdir.h".
37229         (S_ISDIR): Remove now-unneeded definition.
37230         * modules/isdir (Files): Add lib/isdir.h.
37231         * lib/isdir.h: New file, with declaration.
37232         * m4/isdir.m4: Remove file -- unneeded.
37233
37234 2009-12-25  Bruno Haible  <bruno@clisp.org>
37235
37236         selinux-h: Make generated .h files standalone.
37237         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
37238         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
37239         * lib/se-selinux.in.h: Likewise.
37240         * modules/selinux-h (Depends-on): Add unused-parameter.
37241         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
37242         selinux/selinux.h and selinux/context.h.
37243         Suggested by Eric Blake.
37244
37245 2009-12-25  Bruno Haible  <bruno@clisp.org>
37246
37247         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
37248         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
37249         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
37250         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
37251         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
37252
37253 2009-12-24  Bruno Haible  <bruno@clisp.org>
37254
37255         openat: Fix warning.
37256         * lib/openat-proc.c: Include <unistd.h>.
37257
37258 2009-12-24  Bruno Haible  <bruno@clisp.org>
37259
37260         New module 'unused-parameter'.
37261         * build-aux/unused-parameter.h: New file, extracted from earlier
37262         gnulib-common.m4.
37263         * modules/unused-parameter: New file.
37264         * lib/unistr.h: Include unused-parameter.h.
37265         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
37266         _GL_UNUSED.
37267         * modules/unistr/base (Depends-on): Add unused-parameter.
37268
37269 2009-12-24  Bruno Haible  <bruno@clisp.org>
37270
37271         Add missing dependencies to 'extensions' module.
37272         * m4/extensions.m4: Add comment.
37273         * modules/accept4 (Depends-on): Add extensions.
37274         * modules/dup3 (Depends-on): Likewise.
37275         * modules/fcntl (Depends-on): Likewise.
37276         * modules/futimens (Depends-on): Likewise.
37277         * modules/mknod (Depends-on): Likewise.
37278         * modules/pipe2 (Depends-on): Likewise.
37279         * modules/stat-time (Depends-on): Likewise.
37280         * modules/strcasestr-simple (Depends-on): Likewise.
37281         * modules/strsignal (Depends-on): Likewise.
37282         * modules/utimensat (Depends-on): Likewise.
37283         * modules/localcharset (Depends-on): Likewise. Needed because of
37284         gl_FCNTL_O_FLAGS.
37285         * modules/wcrtomb (Depends-on): Likewise. Needed because of
37286         AC_TYPE_MBSTATE_T.
37287         * modules/wcsnrtombs (Depends-on): Likewise.
37288         * modules/wcsrtombs (Depends-on): Likewise.
37289
37290 2009-12-24  Bruno Haible  <bruno@clisp.org>
37291
37292         binary-io: Avoid gcc warning due to SET_BINARY.
37293         * lib/binary-io.h (SET_BINARY): Cast the result to void.
37294         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
37295
37296 2009-12-24  Bruno Haible  <bruno@clisp.org>
37297
37298         Avoid future namespace pollution on glibc systems.
37299         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
37300         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
37301         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
37302         glibc systems.
37303
37304 2009-12-24  Bruno Haible  <bruno@clisp.org>
37305
37306         Refactor common macros used in tests.
37307         * tests/macros.h: New file.
37308         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
37309         and/or <stdlib.h>, if appropriate.
37310         (ASSERT, SIZEOF): Remove macros.
37311         * tests/test-areadlink-with-size.c: Likewise.
37312         * tests/test-areadlinkat.c: Likewise.
37313         * tests/test-areadlinkat-with-size.c: Likewise.
37314         * tests/test-argmatch.c: Likewise.
37315         * tests/test-argv-iter.c: Likewise.
37316         * tests/test-array-mergesort.c: Likewise.
37317         * tests/test-array_list.c: Likewise.
37318         * tests/test-array_oset.c: Likewise.
37319         * tests/test-avltree_list.c: Likewise.
37320         * tests/test-avltree_oset.c: Likewise.
37321         * tests/test-avltreehash_list.c: Likewise.
37322         * tests/test-base64.c: Likewise.
37323         * tests/test-binary-io.c: Likewise.
37324         * tests/test-bitrotate.c: Likewise.
37325         * tests/test-btowc.c: Likewise.
37326         * tests/test-byteswap.c: Likewise.
37327         * tests/test-c-ctype.c: Likewise.
37328         * tests/test-c-stack.c: Likewise.
37329         * tests/test-c-strcasecmp.c: Likewise.
37330         * tests/test-c-strcasestr.c: Likewise.
37331         * tests/test-c-strncasecmp.c: Likewise.
37332         * tests/test-c-strstr.c: Likewise.
37333         * tests/test-canonicalize-lgpl.c: Likewise.
37334         * tests/test-canonicalize.c: Likewise.
37335         * tests/test-carray_list.c: Likewise.
37336         * tests/test-ceilf1.c: Likewise.
37337         * tests/test-ceilf2.c: Likewise.
37338         * tests/test-ceill.c: Likewise.
37339         * tests/test-chown.c: Likewise.
37340         * tests/test-cloexec.c: Likewise.
37341         * tests/test-copy-acl.c: Likewise.
37342         * tests/test-copy-file.c: Likewise.
37343         * tests/test-count-one-bits.c: Likewise.
37344         * tests/test-dprintf-posix.c: Likewise.
37345         * tests/test-dup2.c: Likewise.
37346         * tests/test-dup3.c: Likewise.
37347         * tests/test-duplocale.c: Likewise.
37348         * tests/test-fbufmode.c: Likewise.
37349         * tests/test-fchdir.c: Likewise.
37350         * tests/test-fchownat.c: Likewise.
37351         * tests/test-fcntl-safer.c: Likewise.
37352         * tests/test-fcntl.c: Likewise.
37353         * tests/test-fdopendir.c: Likewise.
37354         * tests/test-fdutimensat.c: Likewise.
37355         * tests/test-fflush2.c: Likewise.
37356         * tests/test-file-has-acl.c: Likewise.
37357         * tests/test-filevercmp.c: Likewise.
37358         * tests/test-flock.c: Likewise.
37359         * tests/test-floorf1.c: Likewise.
37360         * tests/test-floorf2.c: Likewise.
37361         * tests/test-floorl.c: Likewise.
37362         * tests/test-fnmatch.c: Likewise.
37363         * tests/test-fopen.h: Likewise.
37364         * tests/test-fpending.c: Likewise.
37365         * tests/test-fprintf-posix.c: Likewise.
37366         * tests/test-fpurge.c: Likewise.
37367         * tests/test-freadable.c: Likewise.
37368         * tests/test-freadahead.c: Likewise.
37369         * tests/test-freading.c: Likewise.
37370         * tests/test-freadptr.c: Likewise.
37371         * tests/test-freadptr2.c: Likewise.
37372         * tests/test-freadseek.c: Likewise.
37373         * tests/test-freopen.c: Likewise.
37374         * tests/test-frexp.c: Likewise.
37375         * tests/test-frexpl.c: Likewise.
37376         * tests/test-fseek.c: Likewise.
37377         * tests/test-fseeko.c: Likewise.
37378         * tests/test-fstatat.c: Likewise.
37379         * tests/test-fstrcmp.c: Likewise.
37380         * tests/test-fsync.c: Likewise.
37381         * tests/test-ftell.c: Likewise.
37382         * tests/test-ftello.c: Likewise.
37383         * tests/test-func.c: Likewise.
37384         * tests/test-futimens.c: Likewise.
37385         * tests/test-fwritable.c: Likewise.
37386         * tests/test-fwriting.c: Likewise.
37387         * tests/test-getcwd.c: Likewise.
37388         * tests/test-getdate.c: Likewise.
37389         * tests/test-getdelim.c: Likewise.
37390         * tests/test-getdtablesize.c: Likewise.
37391         * tests/test-getgroups.c: Likewise.
37392         * tests/test-getline.c: Likewise.
37393         * tests/test-getndelim2.c: Likewise.
37394         * tests/test-glob.c: Likewise.
37395         * tests/test-hash.c: Likewise.
37396         * tests/test-i-ring.c: Likewise.
37397         * tests/test-iconv-utf.c: Likewise.
37398         * tests/test-iconv.c: Likewise.
37399         * tests/test-idpriv-drop.c: Likewise.
37400         * tests/test-idpriv-droptemp.c: Likewise.
37401         * tests/test-inet_ntop.c: Likewise.
37402         * tests/test-inet_pton.c: Likewise.
37403         * tests/test-isblank.c: Likewise.
37404         * tests/test-isfinite.c: Likewise.
37405         * tests/test-isinf.c: Likewise.
37406         * tests/test-isnan.c: Likewise.
37407         * tests/test-isnand.h: Likewise.
37408         * tests/test-isnanf.h: Likewise.
37409         * tests/test-isnanl.h: Likewise.
37410         * tests/test-lchown.c: Likewise.
37411         * tests/test-ldexpl.c: Likewise.
37412         * tests/test-link.c: Likewise.
37413         * tests/test-linkat.c: Likewise.
37414         * tests/test-linked_list.c: Likewise.
37415         * tests/test-linkedhash_list.c: Likewise.
37416         * tests/test-localename.c: Likewise.
37417         * tests/test-lseek.c: Likewise.
37418         * tests/test-lstat.c: Likewise.
37419         * tests/test-mbmemcasecmp.c: Likewise.
37420         * tests/test-mbmemcasecoll.c: Likewise.
37421         * tests/test-mbrtowc.c: Likewise.
37422         * tests/test-mbscasecmp.c: Likewise.
37423         * tests/test-mbscasestr1.c: Likewise.
37424         * tests/test-mbscasestr2.c: Likewise.
37425         * tests/test-mbscasestr3.c: Likewise.
37426         * tests/test-mbscasestr4.c: Likewise.
37427         * tests/test-mbschr.c: Likewise.
37428         * tests/test-mbscspn.c: Likewise.
37429         * tests/test-mbsinit.c: Likewise.
37430         * tests/test-mbsncasecmp.c: Likewise.
37431         * tests/test-mbsnrtowcs.c: Likewise.
37432         * tests/test-mbspbrk.c: Likewise.
37433         * tests/test-mbspcasecmp.c: Likewise.
37434         * tests/test-mbsrchr.c: Likewise.
37435         * tests/test-mbsrtowcs.c: Likewise.
37436         * tests/test-mbsspn.c: Likewise.
37437         * tests/test-mbsstr1.c: Likewise.
37438         * tests/test-mbsstr2.c: Likewise.
37439         * tests/test-mbsstr3.c: Likewise.
37440         * tests/test-memchr.c: Likewise.
37441         * tests/test-memchr2.c: Likewise.
37442         * tests/test-memcmp.c: Likewise.
37443         * tests/test-memmem.c: Likewise.
37444         * tests/test-memrchr.c: Likewise.
37445         * tests/test-mkdir.c: Likewise.
37446         * tests/test-mkdirat.c: Likewise.
37447         * tests/test-mkfifo.c: Likewise.
37448         * tests/test-mkfifoat.c: Likewise.
37449         * tests/test-mknod.c: Likewise.
37450         * tests/test-nanosleep.c: Likewise.
37451         * tests/test-nl_langinfo.c: Likewise.
37452         * tests/test-obstack-printf.c: Likewise.
37453         * tests/test-open.c: Likewise.
37454         * tests/test-openat.c: Likewise.
37455         * tests/test-pipe-filter-gi1.c: Likewise.
37456         * tests/test-pipe-filter-gi2-main.c: Likewise.
37457         * tests/test-pipe-filter-ii1.c: Likewise.
37458         * tests/test-pipe-filter-ii2-main.c: Likewise.
37459         * tests/test-pipe2.c: Likewise.
37460         * tests/test-popen.h: Likewise.
37461         * tests/test-posixtm.c: Likewise.
37462         * tests/test-pread.c: Likewise.
37463         * tests/test-printf-frexp.c: Likewise.
37464         * tests/test-printf-frexpl.c: Likewise.
37465         * tests/test-printf-posix.c: Likewise.
37466         * tests/test-priv-set.c: Likewise.
37467         * tests/test-quotearg.c: Likewise.
37468         * tests/test-random_r.c: Likewise.
37469         * tests/test-rawmemchr.c: Likewise.
37470         * tests/test-rbtree_list.c: Likewise.
37471         * tests/test-rbtree_oset.c: Likewise.
37472         * tests/test-rbtreehash_list.c: Likewise.
37473         * tests/test-readlink.c: Likewise.
37474         * tests/test-remove.c: Likewise.
37475         * tests/test-rename.c: Likewise.
37476         * tests/test-renameat.c: Likewise.
37477         * tests/test-rmdir.c: Likewise.
37478         * tests/test-round1.c: Likewise.
37479         * tests/test-roundf1.c: Likewise.
37480         * tests/test-roundl.c: Likewise.
37481         * tests/test-safe-alloc.c: Likewise.
37482         * tests/test-sameacls.c: Likewise.
37483         * tests/test-set-mode-acl.c: Likewise.
37484         * tests/test-setenv.c: Likewise.
37485         * tests/test-sigaction.c: Likewise.
37486         * tests/test-signbit.c: Likewise.
37487         * tests/test-sleep.c: Likewise.
37488         * tests/test-snprintf-posix.c: Likewise.
37489         * tests/test-snprintf.c: Likewise.
37490         * tests/test-sprintf-posix.c: Likewise.
37491         * tests/test-stat-time.c: Likewise.
37492         * tests/test-stat.c: Likewise.
37493         * tests/test-strcasestr.c: Likewise.
37494         * tests/test-strchrnul.c: Likewise.
37495         * tests/test-strerror.c: Likewise.
37496         * tests/test-striconv.c: Likewise.
37497         * tests/test-striconveh.c: Likewise.
37498         * tests/test-striconveha.c: Likewise.
37499         * tests/test-strsignal.c: Likewise.
37500         * tests/test-strstr.c: Likewise.
37501         * tests/test-strtod.c: Likewise.
37502         * tests/test-strverscmp.c: Likewise.
37503         * tests/test-symlink.c: Likewise.
37504         * tests/test-symlinkat.c: Likewise.
37505         * tests/test-trunc1.c: Likewise.
37506         * tests/test-trunc2.c: Likewise.
37507         * tests/test-truncf1.c: Likewise.
37508         * tests/test-truncf2.c: Likewise.
37509         * tests/test-truncl.c: Likewise.
37510         * tests/test-uname.c: Likewise.
37511         * tests/test-unlink.c: Likewise.
37512         * tests/test-unlinkat.c: Likewise.
37513         * tests/test-unsetenv.c: Likewise.
37514         * tests/test-usleep.c: Likewise.
37515         * tests/test-utimens.c: Likewise.
37516         * tests/test-utimensat.c: Likewise.
37517         * tests/test-vasnprintf-posix.c: Likewise.
37518         * tests/test-vasnprintf-posix2.c: Likewise.
37519         * tests/test-vasnprintf.c: Likewise.
37520         * tests/test-vasprintf-posix.c: Likewise.
37521         * tests/test-vasprintf.c: Likewise.
37522         * tests/test-vdprintf-posix.c: Likewise.
37523         * tests/test-vfprintf-posix.c: Likewise.
37524         * tests/test-vprintf-posix.c: Likewise.
37525         * tests/test-vsnprintf-posix.c: Likewise.
37526         * tests/test-vsnprintf.c: Likewise.
37527         * tests/test-vsprintf-posix.c: Likewise.
37528         * tests/test-wcrtomb.c: Likewise.
37529         * tests/test-wcsnrtombs.c: Likewise.
37530         * tests/test-wcsrtombs.c: Likewise.
37531         * tests/test-wctype.c: Likewise.
37532         * tests/test-wcwidth.c: Likewise.
37533         * tests/test-xfprintf-posix.c: Likewise.
37534         * tests/test-xmemdup0.c: Likewise.
37535         * tests/test-xprintf-posix.c: Likewise.
37536         * tests/test-xvasprintf.c: Likewise.
37537         * tests/unicase/test-locale-language.c: Likewise.
37538         * tests/unicase/test-mapping-part1.h: Likewise.
37539         * tests/unicase/test-predicate-part1.h: Likewise.
37540         * tests/unicase/test-u8-casecmp.c: Likewise.
37541         * tests/unicase/test-u8-casecoll.c: Likewise.
37542         * tests/unicase/test-u8-casefold.c: Likewise.
37543         * tests/unicase/test-u8-is-cased.c: Likewise.
37544         * tests/unicase/test-u8-is-casefolded.c: Likewise.
37545         * tests/unicase/test-u8-is-lowercase.c: Likewise.
37546         * tests/unicase/test-u8-is-titlecase.c: Likewise.
37547         * tests/unicase/test-u8-is-uppercase.c: Likewise.
37548         * tests/unicase/test-u8-tolower.c: Likewise.
37549         * tests/unicase/test-u8-totitle.c: Likewise.
37550         * tests/unicase/test-u8-toupper.c: Likewise.
37551         * tests/unicase/test-u16-casecmp.c: Likewise.
37552         * tests/unicase/test-u16-casecoll.c: Likewise.
37553         * tests/unicase/test-u16-casefold.c: Likewise.
37554         * tests/unicase/test-u16-is-cased.c: Likewise.
37555         * tests/unicase/test-u16-is-casefolded.c: Likewise.
37556         * tests/unicase/test-u16-is-lowercase.c: Likewise.
37557         * tests/unicase/test-u16-is-titlecase.c: Likewise.
37558         * tests/unicase/test-u16-is-uppercase.c: Likewise.
37559         * tests/unicase/test-u16-tolower.c: Likewise.
37560         * tests/unicase/test-u16-totitle.c: Likewise.
37561         * tests/unicase/test-u16-toupper.c: Likewise.
37562         * tests/unicase/test-u32-casecmp.c: Likewise.
37563         * tests/unicase/test-u32-casecoll.c: Likewise.
37564         * tests/unicase/test-u32-casefold.c: Likewise.
37565         * tests/unicase/test-u32-is-cased.c: Likewise.
37566         * tests/unicase/test-u32-is-casefolded.c: Likewise.
37567         * tests/unicase/test-u32-is-lowercase.c: Likewise.
37568         * tests/unicase/test-u32-is-titlecase.c: Likewise.
37569         * tests/unicase/test-u32-is-uppercase.c: Likewise.
37570         * tests/unicase/test-u32-tolower.c: Likewise.
37571         * tests/unicase/test-u32-totitle.c: Likewise.
37572         * tests/unicase/test-u32-toupper.c: Likewise.
37573         * tests/unicase/test-ulc-casecmp.c: Likewise.
37574         * tests/unicase/test-ulc-casecoll.c: Likewise.
37575         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37576         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37577         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37578         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37579         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37580         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37581         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37582         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37583         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37584         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37585         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37586         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37587         * tests/unictype/test-bidi_byname.c: Likewise.
37588         * tests/unictype/test-bidi_name.c: Likewise.
37589         * tests/unictype/test-bidi_of.c: Likewise.
37590         * tests/unictype/test-bidi_test.c: Likewise.
37591         * tests/unictype/test-block_list.c: Likewise.
37592         * tests/unictype/test-block_of.c: Likewise.
37593         * tests/unictype/test-block_test.c: Likewise.
37594         * tests/unictype/test-categ_and.c: Likewise.
37595         * tests/unictype/test-categ_and_not.c: Likewise.
37596         * tests/unictype/test-categ_byname.c: Likewise.
37597         * tests/unictype/test-categ_name.c: Likewise.
37598         * tests/unictype/test-categ_none.c: Likewise.
37599         * tests/unictype/test-categ_of.c: Likewise.
37600         * tests/unictype/test-categ_or.c: Likewise.
37601         * tests/unictype/test-categ_test_withtable.c: Likewise.
37602         * tests/unictype/test-combining.c: Likewise.
37603         * tests/unictype/test-decdigit.c: Likewise.
37604         * tests/unictype/test-digit.c: Likewise.
37605         * tests/unictype/test-mirror.c: Likewise.
37606         * tests/unictype/test-numeric.c: Likewise.
37607         * tests/unictype/test-pr_byname.c: Likewise.
37608         * tests/unictype/test-pr_test.c: Likewise.
37609         * tests/unictype/test-predicate-part1.h: Likewise.
37610         * tests/unictype/test-scripts.c: Likewise.
37611         * tests/unictype/test-sy_c_ident.c: Likewise.
37612         * tests/unictype/test-sy_java_ident.c: Likewise.
37613         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
37614         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
37615         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
37616         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
37617         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
37618         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
37619         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
37620         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
37621         * tests/uninorm/test-canonical-decomposition.c: Likewise.
37622         * tests/uninorm/test-compat-decomposition.c: Likewise.
37623         * tests/uninorm/test-composition.c: Likewise.
37624         * tests/uninorm/test-decomposing-form.c: Likewise.
37625         * tests/uninorm/test-decomposition.c: Likewise.
37626         * tests/uninorm/test-u8-nfc.c: Likewise.
37627         * tests/uninorm/test-u8-nfd.c: Likewise.
37628         * tests/uninorm/test-u8-nfkc.c: Likewise.
37629         * tests/uninorm/test-u8-nfkd.c: Likewise.
37630         * tests/uninorm/test-u8-normcmp.c: Likewise.
37631         * tests/uninorm/test-u8-normcoll.c: Likewise.
37632         * tests/uninorm/test-u16-nfc.c: Likewise.
37633         * tests/uninorm/test-u16-nfd.c: Likewise.
37634         * tests/uninorm/test-u16-nfkc.c: Likewise.
37635         * tests/uninorm/test-u16-nfkd.c: Likewise.
37636         * tests/uninorm/test-u16-normcmp.c: Likewise.
37637         * tests/uninorm/test-u16-normcoll.c: Likewise.
37638         * tests/uninorm/test-u32-nfc.c: Likewise.
37639         * tests/uninorm/test-u32-nfd.c: Likewise.
37640         * tests/uninorm/test-u32-nfkc.c: Likewise.
37641         * tests/uninorm/test-u32-nfkd.c: Likewise.
37642         * tests/uninorm/test-u32-normalize-big.c: Likewise.
37643         * tests/uninorm/test-u32-normcmp.c: Likewise.
37644         * tests/uninorm/test-u32-normcoll.c: Likewise.
37645         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
37646         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37647         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37648         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37649         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37650         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37651         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37652         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37653         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37654         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37655         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37656         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37657         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37658         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37659         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37660         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37661         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37662         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37663         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37664         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37665         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37666         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37667         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37668         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37669         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37670         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37671         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37672         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37673         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37674         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
37675         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
37676         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
37677         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
37678         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37679         * tests/uniwidth/test-u8-width.c: Likewise.
37680         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37681         * tests/uniwidth/test-u16-width.c: Likewise.
37682         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37683         * tests/uniwidth/test-u32-width.c: Likewise.
37684         * tests/uniwidth/test-uc_width.c: Likewise.
37685         * tests/uniwidth/test-uc_width2.c: Likewise.
37686         * modules/acl-tests (Files): Add tests/macros.h.
37687         * modules/areadlink-tests (Files): Likewise.
37688         * modules/areadlink-with-size-tests (Files): Likewise.
37689         * modules/areadlinkat-tests (Files): Likewise.
37690         * modules/areadlinkat-with-size-tests (Files): Likewise.
37691         * modules/argmatch-tests (Files): Likewise.
37692         * modules/argv-iter-tests (Files): Likewise.
37693         * modules/array-list-tests (Files): Likewise.
37694         * modules/array-mergesort-tests (Files): Likewise.
37695         * modules/array-oset-tests (Files): Likewise.
37696         * modules/avltree-list-tests (Files): Likewise.
37697         * modules/avltree-oset-tests (Files): Likewise.
37698         * modules/avltreehash-list-tests (Files): Likewise.
37699         * modules/base64-tests (Files): Likewise.
37700         * modules/binary-io-tests (Files): Likewise.
37701         * modules/bitrotate-tests (Files): Likewise.
37702         * modules/btowc-tests (Files): Likewise.
37703         * modules/byteswap-tests (Files): Likewise.
37704         * modules/c-ctype-tests (Files): Likewise.
37705         * modules/c-stack-tests (Files): Likewise.
37706         * modules/c-strcase-tests (Files): Likewise.
37707         * modules/c-strcasestr-tests (Files): Likewise.
37708         * modules/c-strstr-tests (Files): Likewise.
37709         * modules/canonicalize-lgpl-tests (Files): Likewise.
37710         * modules/canonicalize-tests (Files): Likewise.
37711         * modules/carray-list-tests (Files): Likewise.
37712         * modules/ceilf-tests (Files): Likewise.
37713         * modules/ceill-tests (Files): Likewise.
37714         * modules/chown-tests (Files): Likewise.
37715         * modules/cloexec-tests (Files): Likewise.
37716         * modules/copy-file-tests (Files): Likewise.
37717         * modules/count-one-bits-tests (Files): Likewise.
37718         * modules/dprintf-posix-tests (Files): Likewise.
37719         * modules/dup2-tests (Files): Likewise.
37720         * modules/dup3-tests (Files): Likewise.
37721         * modules/duplocale-tests (Files): Likewise.
37722         * modules/fbufmode-tests (Files): Likewise.
37723         * modules/fchdir-tests (Files): Likewise.
37724         * modules/fcntl-safer-tests (Files): Likewise.
37725         * modules/fcntl-tests (Files): Likewise.
37726         * modules/fdopendir-tests (Files): Likewise.
37727         * modules/fdutimensat-tests (Files): Likewise.
37728         * modules/fflush-tests (Files): Likewise.
37729         * modules/filevercmp-tests (Files): Likewise.
37730         * modules/flock-tests (Files): Likewise.
37731         * modules/floorf-tests (Files): Likewise.
37732         * modules/floorl-tests (Files): Likewise.
37733         * modules/fnmatch-tests (Files): Likewise.
37734         * modules/fopen-safer-tests (Files): Likewise.
37735         * modules/fopen-tests (Files): Likewise.
37736         * modules/fpending-tests (Files): Likewise.
37737         * modules/fprintf-posix-tests (Files): Likewise.
37738         * modules/fpurge-tests (Files): Likewise.
37739         * modules/freadable-tests (Files): Likewise.
37740         * modules/freadahead-tests (Files): Likewise.
37741         * modules/freading-tests (Files): Likewise.
37742         * modules/freadptr-tests (Files): Likewise.
37743         * modules/freadseek-tests (Files): Likewise.
37744         * modules/freopen-tests (Files): Likewise.
37745         * modules/frexp-nolibm-tests (Files): Likewise.
37746         * modules/frexp-tests (Files): Likewise.
37747         * modules/frexpl-nolibm-tests (Files): Likewise.
37748         * modules/frexpl-tests (Files): Likewise.
37749         * modules/fseek-tests (Files): Likewise.
37750         * modules/fseeko-tests (Files): Likewise.
37751         * modules/fstrcmp-tests (Files): Likewise.
37752         * modules/fsync-tests (Files): Likewise.
37753         * modules/ftell-tests (Files): Likewise.
37754         * modules/ftello-tests (Files): Likewise.
37755         * modules/func-tests (Files): Likewise.
37756         * modules/futimens-tests (Files): Likewise.
37757         * modules/fwritable-tests (Files): Likewise.
37758         * modules/fwriting-tests (Files): Likewise.
37759         * modules/getcwd-tests (Files): Likewise.
37760         * modules/getdate-tests (Files): Likewise.
37761         * modules/getdelim-tests (Files): Likewise.
37762         * modules/getdtablesize-tests (Files): Likewise.
37763         * modules/getgroups-tests (Files): Likewise.
37764         * modules/getline-tests (Files): Likewise.
37765         * modules/getndelim2-tests (Files): Likewise.
37766         * modules/glob-tests (Files): Likewise.
37767         * modules/hash-tests (Files): Likewise.
37768         * modules/i-ring-tests (Files): Likewise.
37769         * modules/iconv-tests (Files): Likewise.
37770         * modules/iconv_open-utf-tests (Files): Likewise.
37771         * modules/idpriv-drop-tests (Files): Likewise.
37772         * modules/idpriv-droptemp-tests (Files): Likewise.
37773         * modules/inet_ntop-tests (Files): Likewise.
37774         * modules/inet_pton-tests (Files): Likewise.
37775         * modules/isblank-tests (Files): Likewise.
37776         * modules/isfinite-tests (Files): Likewise.
37777         * modules/isinf-tests (Files): Likewise.
37778         * modules/isnan-tests (Files): Likewise.
37779         * modules/isnand-nolibm-tests (Files): Likewise.
37780         * modules/isnand-tests (Files): Likewise.
37781         * modules/isnanf-nolibm-tests (Files): Likewise.
37782         * modules/isnanf-tests (Files): Likewise.
37783         * modules/isnanl-nolibm-tests (Files): Likewise.
37784         * modules/isnanl-tests (Files): Likewise.
37785         * modules/lchown-tests (Files): Likewise.
37786         * modules/ldexpl-tests (Files): Likewise.
37787         * modules/link-tests (Files): Likewise.
37788         * modules/linkat-tests (Files): Likewise.
37789         * modules/linked-list-tests (Files): Likewise.
37790         * modules/linkedhash-list-tests (Files): Likewise.
37791         * modules/localename-tests (Files): Likewise.
37792         * modules/lseek-tests (Files): Likewise.
37793         * modules/lstat-tests (Files): Likewise.
37794         * modules/mbmemcasecmp-tests (Files): Likewise.
37795         * modules/mbmemcasecoll-tests (Files): Likewise.
37796         * modules/mbrtowc-tests (Files): Likewise.
37797         * modules/mbscasecmp-tests (Files): Likewise.
37798         * modules/mbscasestr-tests (Files): Likewise.
37799         * modules/mbschr-tests (Files): Likewise.
37800         * modules/mbscspn-tests (Files): Likewise.
37801         * modules/mbsinit-tests (Files): Likewise.
37802         * modules/mbsncasecmp-tests (Files): Likewise.
37803         * modules/mbsnrtowcs-tests (Files): Likewise.
37804         * modules/mbspbrk-tests (Files): Likewise.
37805         * modules/mbspcasecmp-tests (Files): Likewise.
37806         * modules/mbsrchr-tests (Files): Likewise.
37807         * modules/mbsrtowcs-tests (Files): Likewise.
37808         * modules/mbsspn-tests (Files): Likewise.
37809         * modules/mbsstr-tests (Files): Likewise.
37810         * modules/memchr-tests (Files): Likewise.
37811         * modules/memchr2-tests (Files): Likewise.
37812         * modules/memcmp-tests (Files): Likewise.
37813         * modules/memmem-tests (Files): Likewise.
37814         * modules/memrchr-tests (Files): Likewise.
37815         * modules/mkdir-tests (Files): Likewise.
37816         * modules/mkfifo-tests (Files): Likewise.
37817         * modules/mkfifoat-tests (Files): Likewise.
37818         * modules/mknod-tests (Files): Likewise.
37819         * modules/nanosleep-tests (Files): Likewise.
37820         * modules/nl_langinfo-tests (Files): Likewise.
37821         * modules/obstack-printf-tests (Files): Likewise.
37822         * modules/open-tests (Files): Likewise.
37823         * modules/openat-tests (Files): Likewise.
37824         * modules/pipe-filter-gi-tests (Files): Likewise.
37825         * modules/pipe-filter-ii-tests (Files): Likewise.
37826         * modules/pipe2-tests (Files): Likewise.
37827         * modules/popen-safer-tests (Files): Likewise.
37828         * modules/popen-tests (Files): Likewise.
37829         * modules/posixtm-tests (Files): Likewise.
37830         * modules/pread-tests (Files): Likewise.
37831         * modules/printf-frexp-tests (Files): Likewise.
37832         * modules/printf-frexpl-tests (Files): Likewise.
37833         * modules/printf-posix-tests (Files): Likewise.
37834         * modules/priv-set-tests (Files): Likewise.
37835         * modules/quotearg-tests (Files): Likewise.
37836         * modules/random_r-tests (Files): Likewise.
37837         * modules/rawmemchr-tests (Files): Likewise.
37838         * modules/rbtree-list-tests (Files): Likewise.
37839         * modules/rbtree-oset-tests (Files): Likewise.
37840         * modules/rbtreehash-list-tests (Files): Likewise.
37841         * modules/readlink-tests (Files): Likewise.
37842         * modules/remove-tests (Files): Likewise.
37843         * modules/rename-tests (Files): Likewise.
37844         * modules/renameat-tests (Files): Likewise.
37845         * modules/rmdir-tests (Files): Likewise.
37846         * modules/round-tests (Files): Likewise.
37847         * modules/roundf-tests (Files): Likewise.
37848         * modules/roundl-tests (Files): Likewise.
37849         * modules/safe-alloc-tests (Files): Likewise.
37850         * modules/setenv-tests (Files): Likewise.
37851         * modules/sigaction-tests (Files): Likewise.
37852         * modules/signbit-tests (Files): Likewise.
37853         * modules/sleep-tests (Files): Likewise.
37854         * modules/snprintf-posix-tests (Files): Likewise.
37855         * modules/snprintf-tests (Files): Likewise.
37856         * modules/sprintf-posix-tests (Files): Likewise.
37857         * modules/stat-tests (Files): Likewise.
37858         * modules/stat-time-tests (Files): Likewise.
37859         * modules/strcasestr-tests (Files): Likewise.
37860         * modules/strchrnul-tests (Files): Likewise.
37861         * modules/strerror-tests (Files): Likewise.
37862         * modules/striconv-tests (Files): Likewise.
37863         * modules/striconveh-tests (Files): Likewise.
37864         * modules/striconveha-tests (Files): Likewise.
37865         * modules/strsignal-tests (Files): Likewise.
37866         * modules/strstr-tests (Files): Likewise.
37867         * modules/strtod-tests (Files): Likewise.
37868         * modules/strverscmp-tests (Files): Likewise.
37869         * modules/symlink-tests (Files): Likewise.
37870         * modules/symlinkat-tests (Files): Likewise.
37871         * modules/trunc-tests (Files): Likewise.
37872         * modules/truncf-tests (Files): Likewise.
37873         * modules/truncl-tests (Files): Likewise.
37874         * modules/uname-tests (Files): Likewise.
37875         * modules/unicase/cased-tests (Files): Likewise.
37876         * modules/unicase/ignorable-tests (Files): Likewise.
37877         * modules/unicase/locale-language-tests (Files): Likewise.
37878         * modules/unicase/tolower-tests (Files): Likewise.
37879         * modules/unicase/totitle-tests (Files): Likewise.
37880         * modules/unicase/toupper-tests (Files): Likewise.
37881         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37882         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37883         * modules/unicase/u8-casefold-tests (Files): Likewise.
37884         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37885         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37886         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37887         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37888         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37889         * modules/unicase/u8-tolower-tests (Files): Likewise.
37890         * modules/unicase/u8-totitle-tests (Files): Likewise.
37891         * modules/unicase/u8-toupper-tests (Files): Likewise.
37892         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37893         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37894         * modules/unicase/u16-casefold-tests (Files): Likewise.
37895         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37896         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37897         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37898         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37899         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37900         * modules/unicase/u16-tolower-tests (Files): Likewise.
37901         * modules/unicase/u16-totitle-tests (Files): Likewise.
37902         * modules/unicase/u16-toupper-tests (Files): Likewise.
37903         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37904         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37905         * modules/unicase/u32-casefold-tests (Files): Likewise.
37906         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37907         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37908         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37909         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37910         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37911         * modules/unicase/u32-tolower-tests (Files): Likewise.
37912         * modules/unicase/u32-totitle-tests (Files): Likewise.
37913         * modules/unicase/u32-toupper-tests (Files): Likewise.
37914         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37915         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37916         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37917         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37918         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37919         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37920         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37921         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37922         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37923         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37924         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37925         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37926         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37927         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37928         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37929         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37930         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37931         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37932         * modules/unictype/block-list-tests (Files): Likewise.
37933         * modules/unictype/block-of-tests (Files): Likewise.
37934         * modules/unictype/block-test-tests (Files): Likewise.
37935         * modules/unictype/category-C-tests (Files): Likewise.
37936         * modules/unictype/category-Cc-tests (Files): Likewise.
37937         * modules/unictype/category-Cf-tests (Files): Likewise.
37938         * modules/unictype/category-Cn-tests (Files): Likewise.
37939         * modules/unictype/category-Co-tests (Files): Likewise.
37940         * modules/unictype/category-Cs-tests (Files): Likewise.
37941         * modules/unictype/category-L-tests (Files): Likewise.
37942         * modules/unictype/category-Ll-tests (Files): Likewise.
37943         * modules/unictype/category-Lm-tests (Files): Likewise.
37944         * modules/unictype/category-Lo-tests (Files): Likewise.
37945         * modules/unictype/category-Lt-tests (Files): Likewise.
37946         * modules/unictype/category-Lu-tests (Files): Likewise.
37947         * modules/unictype/category-M-tests (Files): Likewise.
37948         * modules/unictype/category-Mc-tests (Files): Likewise.
37949         * modules/unictype/category-Me-tests (Files): Likewise.
37950         * modules/unictype/category-Mn-tests (Files): Likewise.
37951         * modules/unictype/category-N-tests (Files): Likewise.
37952         * modules/unictype/category-Nd-tests (Files): Likewise.
37953         * modules/unictype/category-Nl-tests (Files): Likewise.
37954         * modules/unictype/category-No-tests (Files): Likewise.
37955         * modules/unictype/category-P-tests (Files): Likewise.
37956         * modules/unictype/category-Pc-tests (Files): Likewise.
37957         * modules/unictype/category-Pd-tests (Files): Likewise.
37958         * modules/unictype/category-Pe-tests (Files): Likewise.
37959         * modules/unictype/category-Pf-tests (Files): Likewise.
37960         * modules/unictype/category-Pi-tests (Files): Likewise.
37961         * modules/unictype/category-Po-tests (Files): Likewise.
37962         * modules/unictype/category-Ps-tests (Files): Likewise.
37963         * modules/unictype/category-S-tests (Files): Likewise.
37964         * modules/unictype/category-Sc-tests (Files): Likewise.
37965         * modules/unictype/category-Sk-tests (Files): Likewise.
37966         * modules/unictype/category-Sm-tests (Files): Likewise.
37967         * modules/unictype/category-So-tests (Files): Likewise.
37968         * modules/unictype/category-Z-tests (Files): Likewise.
37969         * modules/unictype/category-Zl-tests (Files): Likewise.
37970         * modules/unictype/category-Zp-tests (Files): Likewise.
37971         * modules/unictype/category-Zs-tests (Files): Likewise.
37972         * modules/unictype/category-and-not-tests (Files): Likewise.
37973         * modules/unictype/category-and-tests (Files): Likewise.
37974         * modules/unictype/category-byname-tests (Files): Likewise.
37975         * modules/unictype/category-name-tests (Files): Likewise.
37976         * modules/unictype/category-none-tests (Files): Likewise.
37977         * modules/unictype/category-of-tests (Files): Likewise.
37978         * modules/unictype/category-or-tests (Files): Likewise.
37979         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37980         * modules/unictype/combining-class-tests (Files): Likewise.
37981         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37982         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37983         * modules/unictype/ctype-blank-tests (Files): Likewise.
37984         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37985         * modules/unictype/ctype-digit-tests (Files): Likewise.
37986         * modules/unictype/ctype-graph-tests (Files): Likewise.
37987         * modules/unictype/ctype-lower-tests (Files): Likewise.
37988         * modules/unictype/ctype-print-tests (Files): Likewise.
37989         * modules/unictype/ctype-punct-tests (Files): Likewise.
37990         * modules/unictype/ctype-space-tests (Files): Likewise.
37991         * modules/unictype/ctype-upper-tests (Files): Likewise.
37992         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37993         * modules/unictype/decimal-digit-tests (Files): Likewise.
37994         * modules/unictype/digit-tests (Files): Likewise.
37995         * modules/unictype/mirror-tests (Files): Likewise.
37996         * modules/unictype/numeric-tests (Files): Likewise.
37997         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37998         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37999         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
38000         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
38001         Likewise.
38002         * modules/unictype/property-bidi-block-separator-tests (Files):
38003         Likewise.
38004         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
38005         Likewise.
38006         * modules/unictype/property-bidi-common-separator-tests (Files):
38007         Likewise.
38008         * modules/unictype/property-bidi-control-tests (Files): Likewise.
38009         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
38010         Likewise.
38011         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
38012         Likewise.
38013         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
38014         Likewise.
38015         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
38016         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
38017         Likewise.
38018         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
38019         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
38020         Likewise.
38021         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
38022         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
38023         * modules/unictype/property-bidi-segment-separator-tests (Files):
38024         Likewise.
38025         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
38026         * modules/unictype/property-byname-tests (Files): Likewise.
38027         * modules/unictype/property-combining-tests (Files): Likewise.
38028         * modules/unictype/property-composite-tests (Files): Likewise.
38029         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
38030         * modules/unictype/property-dash-tests (Files): Likewise.
38031         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
38032         * modules/unictype/property-default-ignorable-code-point-tests (Files):
38033         Likewise.
38034         * modules/unictype/property-deprecated-tests (Files): Likewise.
38035         * modules/unictype/property-diacritic-tests (Files): Likewise.
38036         * modules/unictype/property-extender-tests (Files): Likewise.
38037         * modules/unictype/property-format-control-tests (Files): Likewise.
38038         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
38039         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
38040         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
38041         * modules/unictype/property-hex-digit-tests (Files): Likewise.
38042         * modules/unictype/property-hyphen-tests (Files): Likewise.
38043         * modules/unictype/property-id-continue-tests (Files): Likewise.
38044         * modules/unictype/property-id-start-tests (Files): Likewise.
38045         * modules/unictype/property-ideographic-tests (Files): Likewise.
38046         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
38047         * modules/unictype/property-ids-trinary-operator-tests (Files):
38048         Likewise.
38049         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
38050         * modules/unictype/property-iso-control-tests (Files): Likewise.
38051         * modules/unictype/property-join-control-tests (Files): Likewise.
38052         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
38053         * modules/unictype/property-line-separator-tests (Files): Likewise.
38054         * modules/unictype/property-logical-order-exception-tests (Files):
38055         Likewise.
38056         * modules/unictype/property-lowercase-tests (Files): Likewise.
38057         * modules/unictype/property-math-tests (Files): Likewise.
38058         * modules/unictype/property-non-break-tests (Files): Likewise.
38059         * modules/unictype/property-not-a-character-tests (Files): Likewise.
38060         * modules/unictype/property-numeric-tests (Files): Likewise.
38061         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
38062         * modules/unictype/property-other-default-ignorable-code-point-tests
38063         (Files): Likewise.
38064         * modules/unictype/property-other-grapheme-extend-tests (Files):
38065         Likewise.
38066         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
38067         * modules/unictype/property-other-id-start-tests (Files): Likewise.
38068         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
38069         * modules/unictype/property-other-math-tests (Files): Likewise.
38070         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
38071         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
38072         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
38073         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
38074         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
38075         * modules/unictype/property-private-use-tests (Files): Likewise.
38076         * modules/unictype/property-punctuation-tests (Files): Likewise.
38077         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
38078         * modules/unictype/property-radical-tests (Files): Likewise.
38079         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
38080         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
38081         * modules/unictype/property-space-tests (Files): Likewise.
38082         * modules/unictype/property-terminal-punctuation-tests (Files):
38083         Likewise.
38084         * modules/unictype/property-test-tests (Files): Likewise.
38085         * modules/unictype/property-titlecase-tests (Files): Likewise.
38086         * modules/unictype/property-unassigned-code-value-tests (Files):
38087         Likewise.
38088         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
38089         * modules/unictype/property-uppercase-tests (Files): Likewise.
38090         * modules/unictype/property-variation-selector-tests (Files): Likewise.
38091         * modules/unictype/property-white-space-tests (Files): Likewise.
38092         * modules/unictype/property-xid-continue-tests (Files): Likewise.
38093         * modules/unictype/property-xid-start-tests (Files): Likewise.
38094         * modules/unictype/property-zero-width-tests (Files): Likewise.
38095         * modules/unictype/scripts-tests (Files): Likewise.
38096         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
38097         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
38098         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
38099         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
38100         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
38101         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
38102         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
38103         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
38104         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
38105         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
38106         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
38107         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
38108         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
38109         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
38110         * modules/uninorm/composition-tests (Files): Likewise.
38111         * modules/uninorm/decomposing-form-tests (Files): Likewise.
38112         * modules/uninorm/decomposition-tests (Files): Likewise.
38113         * modules/uninorm/filter-tests (Files): Likewise.
38114         * modules/uninorm/nfc-tests (Files): Likewise.
38115         * modules/uninorm/nfd-tests (Files): Likewise.
38116         * modules/uninorm/nfkc-tests (Files): Likewise.
38117         * modules/uninorm/nfkd-tests (Files): Likewise.
38118         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
38119         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
38120         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
38121         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
38122         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
38123         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
38124         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
38125         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38126         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
38127         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
38128         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
38129         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
38130         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38131         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
38132         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
38133         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
38134         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
38135         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38136         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
38137         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
38138         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
38139         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
38140         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38141         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
38142         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
38143         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
38144         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
38145         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
38146         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
38147         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
38148         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
38149         * modules/uniwidth/u8-width-tests (Files): Likewise.
38150         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
38151         * modules/uniwidth/u16-width-tests (Files): Likewise.
38152         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
38153         * modules/uniwidth/u32-width-tests (Files): Likewise.
38154         * modules/uniwidth/width-tests (Files): Likewise.
38155         * modules/unlink-tests (Files): Likewise.
38156         * modules/unsetenv-tests (Files): Likewise.
38157         * modules/usleep-tests (Files): Likewise.
38158         * modules/utimens-tests (Files): Likewise.
38159         * modules/utimensat-tests (Files): Likewise.
38160         * modules/vasnprintf-posix-tests (Files): Likewise.
38161         * modules/vasnprintf-tests (Files): Likewise.
38162         * modules/vasprintf-posix-tests (Files): Likewise.
38163         * modules/vasprintf-tests (Files): Likewise.
38164         * modules/vdprintf-posix-tests (Files): Likewise.
38165         * modules/vfprintf-posix-tests (Files): Likewise.
38166         * modules/vprintf-posix-tests (Files): Likewise.
38167         * modules/vsnprintf-posix-tests (Files): Likewise.
38168         * modules/vsnprintf-tests (Files): Likewise.
38169         * modules/vsprintf-posix-tests (Files): Likewise.
38170         * modules/wcrtomb-tests (Files): Likewise.
38171         * modules/wcsnrtombs-tests (Files): Likewise.
38172         * modules/wcsrtombs-tests (Files): Likewise.
38173         * modules/wctype-tests (Files): Likewise.
38174         * modules/wcwidth-tests (Files): Likewise.
38175         * modules/xmemdup0-tests (Files): Likewise.
38176         * modules/xprintf-posix-tests (Files): Likewise.
38177         * modules/xvasprintf-tests (Files): Likewise.
38178
38179 2009-12-24  Eric Blake  <ebb9@byu.net>
38180
38181         test-nanosleep: fix typo
38182         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
38183         patch.
38184         Reported by Bruno Haible.
38185
38186 2009-12-24  Bruno Haible  <bruno@clisp.org>
38187
38188         Reduce namespace pollution on glibc systems.
38189         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
38190         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
38191         systems.
38192         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
38193         <getopt.h> on glibc systems.
38194         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
38195         systems.
38196         * lib/fcntl.c: Include <unistd.h> here instead.
38197
38198 2009-12-24  Bruno Haible  <bruno@clisp.org>
38199
38200         * lib/stdlib.in.h (includes): Fix typo in today's commit.
38201
38202 2009-12-24  Eric Blake  <ebb9@byu.net>
38203
38204         tests: add signature checks
38205         * tests/signature.h (SIGNATURE_CHECK): New file.
38206         * modules/atexit-tests (Files): Use it.
38207         * modules/btowc-tests (Files): Likewise.
38208         * modules/canonicalize-lgpl-tests (Files): Likewise.
38209         * modules/ceilf-tests (Files): Likewise.
38210         * modules/ceill-tests (Files): Likewise.
38211         * modules/chown-tests (Files): Likewise.
38212         * modules/dprintf-posix-tests (Files): Likewise.
38213         * modules/dup2-tests (Files): Likewise.
38214         * modules/dup3-tests (Files): Likewise.
38215         * modules/duplocale-tests (Files): Likewise.
38216         * modules/fchdir-tests (Files): Likewise.
38217         * modules/fcntl-tests (Files): Likewise.
38218         * modules/fdopendir-tests (Files): Likewise.
38219         * modules/fflush-tests (Files): Likewise.
38220         * modules/flock-tests (Files): Likewise.
38221         * modules/floorf-tests (Files): Likewise.
38222         * modules/floorl-tests (Files): Likewise.
38223         * modules/fnmatch-tests (Files): Likewise.
38224         * modules/fopen-tests (Files): Likewise.
38225         * modules/fprintf-posix-tests (Files): Likewise.
38226         * modules/freopen-tests (Files): Likewise.
38227         * modules/frexp-nolibm-tests (Files): Likewise.
38228         * modules/frexp-tests (Files): Likewise.
38229         * modules/frexpl-nolibm-tests (Files): Likewise.
38230         * modules/frexpl-tests (Files): Likewise.
38231         * modules/fseek-tests (Files): Likewise.
38232         * modules/fseeko-tests (Files): Likewise.
38233         * modules/fsync-tests (Files): Likewise.
38234         * modules/ftell-tests (Files): Likewise.
38235         * modules/ftello-tests (Files): Likewise.
38236         * modules/futimens-tests (Files): Likewise.
38237         * modules/getaddrinfo-tests (Files): Likewise.
38238         * modules/getcwd-tests (Files): Likewise.
38239         * modules/getdelim-tests (Files): Likewise.
38240         * modules/getdtablesize-tests (Files): Likewise.
38241         * modules/getgroups-tests (Files): Likewise.
38242         * modules/gethostname-tests (Files): Likewise.
38243         * modules/getline-tests (Files): Likewise.
38244         * modules/getopt-posix-tests (Files): Likewise.
38245         * modules/gettimeofday-tests (Files): Likewise.
38246         * modules/glob-tests (Files): Likewise.
38247         * modules/iconv-tests (Files): Likewise.
38248         * modules/inet_ntop-tests (Files): Likewise.
38249         * modules/inet_pton-tests (Files): Likewise.
38250         * modules/isblank-tests (Files): Likewise.
38251         * modules/lchown-tests (Files): Likewise.
38252         * modules/ldexpl-tests (Files): Likewise.
38253         * modules/link-tests (Files): Likewise.
38254         * modules/linkat-tests (Files): Likewise.
38255         * modules/lseek-tests (Files): Likewise.
38256         * modules/lstat-tests (Files): Likewise.
38257         * modules/mbrtowc-tests (Files): Likewise.
38258         * modules/mbsinit-tests (Files): Likewise.
38259         * modules/mbsnrtowcs-tests (Files): Likewise.
38260         * modules/mbsrtowcs-tests (Files): Likewise.
38261         * modules/memchr-tests (Files): Likewise.
38262         * modules/memcmp-tests (Files): Likewise.
38263         * modules/memmem-tests (Files): Likewise.
38264         * modules/memrchr-tests (Files): Likewise.
38265         * modules/mkdir-tests (Files): Likewise.
38266         * modules/mkfifo-tests (Files): Likewise.
38267         * modules/mkfifoat-tests (Files): Likewise.
38268         * modules/mknod-tests (Files): Likewise.
38269         * modules/nanosleep-tests (Files): Likewise.
38270         * modules/nl_langinfo-tests (Files): Likewise.
38271         * modules/obstack-printf-tests (Files): Likewise.
38272         * modules/open-tests (Files): Likewise.
38273         * modules/openat-tests (Files): Likewise.
38274         * modules/perror-tests (Files): Likewise.
38275         * modules/pipe2-tests (Files): Likewise.
38276         * modules/poll-tests (Files): Likewise.
38277         * modules/popen-tests (Files): Likewise.
38278         * modules/posix_spawn-tests (Files): Likewise.
38279         * modules/posix_spawnp-tests (Files): Likewise.
38280         * modules/pread-tests (Files): Likewise.
38281         * modules/printf-posix-tests (Files): Likewise.
38282         * modules/pty-tests (Files): Likewise.
38283         * modules/random_r-tests (Files): Likewise.
38284         * modules/rawmemchr-tests (Files): Likewise.
38285         * modules/readlink-tests (Files): Likewise.
38286         * modules/remove-tests (Files): Likewise.
38287         * modules/rename-tests (Files): Likewise.
38288         * modules/renameat-tests (Files): Likewise.
38289         * modules/rmdir-tests (Files): Likewise.
38290         * modules/round-tests (Files): Likewise.
38291         * modules/roundf-tests (Files): Likewise.
38292         * modules/roundl-tests (Files): Likewise.
38293         * modules/select-tests (Files): Likewise.
38294         * modules/setenv-tests (Files): Likewise.
38295         * modules/sigaction-tests (Files): Likewise.
38296         * modules/sleep-tests (Files): Likewise.
38297         * modules/snprintf-posix-tests (Files): Likewise.
38298         * modules/snprintf-tests (Files): Likewise.
38299         * modules/sprintf-posix-tests (Files): Likewise.
38300         * modules/stat-tests (Files): Likewise.
38301         * modules/strcasestr-tests (Files): Likewise.
38302         * modules/strchrnul-tests (Files): Likewise.
38303         * modules/strerror-tests (Files): Likewise.
38304         * modules/strsignal-tests (Files): Likewise.
38305         * modules/strstr-tests (Files): Likewise.
38306         * modules/strtod-tests (Files): Likewise.
38307         * modules/strverscmp-tests (Files): Likewise.
38308         * modules/symlink-tests (Files): Likewise.
38309         * modules/symlinkat-tests (Files): Likewise.
38310         * modules/times-tests (Files): Likewise.
38311         * modules/trunc-tests (Files): Likewise.
38312         * modules/truncf-tests (Files): Likewise.
38313         * modules/truncl-tests (Files): Likewise.
38314         * modules/tsearch-tests (Files): Likewise.
38315         * modules/uname-tests (Files): Likewise.
38316         * modules/unlink-tests (Files): Likewise.
38317         * modules/unsetenv-tests (Files): Likewise.
38318         * modules/usleep-tests (Files): Likewise.
38319         * modules/utimensat-tests (Files): Likewise.
38320         * modules/vasprintf-tests (Files): Likewise.
38321         * modules/vdprintf-posix-tests (Files): Likewise.
38322         * modules/vfprintf-posix-tests (Files): Likewise.
38323         * modules/vprintf-posix-tests (Files): Likewise.
38324         * modules/vsnprintf-posix-tests (Files): Likewise.
38325         * modules/vsnprintf-tests (Files): Likewise.
38326         * modules/vsprintf-posix-tests (Files): Likewise.
38327         * modules/wcrtomb-tests (Files): Likewise.
38328         * modules/wcsnrtombs-tests (Files): Likewise.
38329         * modules/wcsrtombs-tests (Files): Likewise.
38330         * modules/wcwidth-tests (Files): Likewise.
38331         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
38332         * tests/test-isinf.c (isinf): Likewise.
38333         * tests/test-isnan.c (isnan): Likewise.
38334         * tests/test-signbit.c (signbit): Likewise.
38335         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
38336         declaration, either as macro or with correct signature.
38337         (select): Ensure function under test is declared with correct
38338         signature in correct header.
38339         * tests/test-atexit.c (atexit): Likewise.
38340         * tests/test-btowc.c (btowc): Likewise.
38341         * tests/test-canonicalize-lgpl.c (realpath)
38342         (canonicalize_file_name): Likewise.
38343         * tests/test-ceilf1.c (ceilf): Likewise.
38344         * tests/test-ceill.c (ceill): Likewise.
38345         * tests/test-chown.c (chown): Likewise.
38346         * tests/test-dprintf-posix.c (dprintf): Likewise.
38347         * tests/test-dup2.c (dup2): Likewise.
38348         * tests/test-dup3.c (dup3): Likewise.
38349         * tests/test-duplocale.c (duplocale): Likewise.
38350         * tests/test-fchdir.c (fchdir): Likewise.
38351         * tests/test-fchownat.c (fchownat): Likewise.
38352         * tests/test-fcntl.c (fcntl): Likewise.
38353         * tests/test-fdopendir.c (fdopendir): Likewise.
38354         * tests/test-fflush.c (fflush): Likewise.
38355         * tests/test-flock.c (flock): Likewise.
38356         * tests/test-floorf1.c (floorf): Likewise.
38357         * tests/test-floorl.c (floorl): Likewise.
38358         * tests/test-fnmatch.c (fnmatch): Likewise.
38359         * tests/test-fopen.c (fopen): Likewise.
38360         * tests/test-fprintf-posix.c (fprintf): Likewise.
38361         * tests/test-freopen.c (freopen): Likewise.
38362         * tests/test-frexp.c (frexp): Likewise.
38363         * tests/test-frexpl.c (frexpl): Likewise.
38364         * tests/test-fseek.c (fseek): Likewise.
38365         * tests/test-fseeko.c (fseeko): Likewise.
38366         * tests/test-fstatat.c (fstatat): Likewise.
38367         * tests/test-fsync.c (fsync): Likewise.
38368         * tests/test-ftell.c (ftell): Likewise.
38369         * tests/test-ftello.c (ftello): Likewise.
38370         * tests/test-futimens.c (futimens): Likewise.
38371         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38372         (gai_strerror): Likewise.
38373         * tests/test-getcwd.c (getcwd): Likewise.
38374         * tests/test-getdelim.c (getdelim): Likewise.
38375         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38376         * tests/test-getgroups.c (getgroups): Likewise.
38377         * tests/test-gethostname.c (gethostname): Likewise.
38378         * tests/test-getline.c (getline): Likewise.
38379         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38380         Likewise.
38381         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38382         * tests/test-glob.c (glob, globfree): Likewise.
38383         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38384         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38385         * tests/test-inet_pton.c (inet_pton): Likewise.
38386         * tests/test-isblank.c (isblank): Likewise.
38387         * tests/test-lchown.c (lchown): Likewise.
38388         * tests/test-ldexpl.c (ldexpl): Likewise.
38389         * tests/test-link.c (link): Likewise.
38390         * tests/test-linkat.c (linkat): Likewise.
38391         * tests/test-lseek.c (lseek): Likewise.
38392         * tests/test-lstat.c (lstat): Likewise.
38393         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38394         * tests/test-mbsinit.c (mbsinit): Likewise.
38395         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38396         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38397         * tests/test-memchr.c (memchr): Likewise.
38398         * tests/test-memcmp.c (memcmp): Likewise.
38399         * tests/test-memmem.c (memmem): Likewise.
38400         * tests/test-memrchr.c (memrchr): Likewise.
38401         * tests/test-mkdir.c (mkdir): Likewise.
38402         * tests/test-mkdirat.c (mkdirat): Likewise.
38403         * tests/test-mkfifo.c (mkfifo): Likewise.
38404         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
38405         * tests/test-mknod.c (mknod): Likewise.
38406         * tests/test-nanosleep.c (nanosleep): Likewise.
38407         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
38408         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
38409         Likewise.
38410         * tests/test-open.c (open): Likewise.
38411         * tests/test-openat.c (openat): Likewise.
38412         * tests/test-perror.c (perror): Likewise.
38413         * tests/test-pipe2.c (pipe2): Likewise.
38414         * tests/test-poll.c (poll): Likewise.
38415         * tests/test-popen.c (popen, pclose): Likewise.
38416         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
38417         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
38418         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
38419         (posix_spawn_file_actions_destroy)
38420         (posix_spawn_file_actions_addclose)
38421         (posix_spawn_file_actions_addopen)
38422         (posix_spawn_file_actions_adddup2): Likewise.
38423         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
38424         * tests/test-pread.c (pread): Likewise.
38425         * tests/test-printf-posix.c (printf): Likewise.
38426         * tests/test-pty.c (openpty, forkpty): Likewise.
38427         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
38428         (random_r): Likewise.
38429         * tests/test-rawmemchr.c (rawmemchr): Likewise.
38430         * tests/test-readlink.c (readlink): Likewise.
38431         * tests/test-remove.c (remove): Likewise.
38432         * tests/test-rename.c (rename): Likewise.
38433         * tests/test-renameat.c (renameat): Likewise.
38434         * tests/test-rmdir.c (rmdir): Likewise.
38435         * tests/test-round1.c (round): Likewise.
38436         * tests/test-roundf1.c (roundf): Likewise.
38437         * tests/test-roundl.c (roundl): Likewise.
38438         * tests/test-setenv.c (setenv): Likewise.
38439         * tests/test-sigaction.c (sigaction): Likewise.
38440         * tests/test-sleep.c (sleep): Likewise.
38441         * tests/test-snprintf.c (snprintf): Likewise.
38442         * tests/test-sprintf-posix.c (sprintf): Likewise.
38443         * tests/test-stat.c (stat): Likewise.
38444         * tests/test-stpncpy.c (stpncpy): Likewise.
38445         * tests/test-strcasestr.c (strcasestr): Likewise.
38446         * tests/test-strchrnul.c (strchrnul): Likewise.
38447         * tests/test-strerror.c (strerror): Likewise.
38448         * tests/test-strsignal.c (strsignal): Likewise.
38449         * tests/test-strstr.c (strstr): Likewise.
38450         * tests/test-strtod.c (strtod): Likewise.
38451         * tests/test-strverscmp.c (strverscmp): Likewise.
38452         * tests/test-symlink.c (symlink): Likewise.
38453         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
38454         * tests/test-times.c (times): Likewise.
38455         * tests/test-trunc1.c (trunc): Likewise.
38456         * tests/test-truncf1.c (truncf): Likewise.
38457         * tests/test-truncl.c (truncl): Likewise.
38458         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
38459         Likewise.
38460         * tests/test-uname.c (uname): Likewise.
38461         * tests/test-unlink.c (unlink): Likewise.
38462         * tests/test-unlinkat.c (unlinkat): Likewise.
38463         * tests/test-unsetenv.c (unsetenv): Likewise.
38464         * tests/test-usleep.c (usleep): Likewise.
38465         * tests/test-utimensat.c (utimensat): Likewise.
38466         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
38467         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
38468         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
38469         * tests/test-vprintf-posix.c (vprintf): Likewise.
38470         * tests/test-vsnprintf.c (vsnprintf): Likewise.
38471         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
38472         * tests/test-wcrtomb.c (wcrtomb): Likewise.
38473         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
38474         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
38475         * tests/test-wcwidth.c (wcwidth): Likewise.
38476
38477         build: pull in conditional headers during GNULIB_POSIXCHECK
38478         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
38479         definitions from any conditionally-included headers.
38480         * lib/stdlib.in.h (includes): Likewise.
38481         * lib/unistd.in.h (includes): Likewise.
38482
38483 2009-12-24  Bruno Haible  <bruno@clisp.org>
38484
38485         * tests/test-argv-iter.c: Include header file being tested immediately
38486         after config.h.
38487         * tests/test-base64.c: Likewise.
38488         * tests/test-flock.c: Likewise.
38489         * tests/test-fsync.c: Likewise.
38490         * tests/test-getdate.c: Likewise.
38491         * tests/test-getndelim2.c: Likewise.
38492         * tests/test-isfinite.c: Likewise.
38493         * tests/test-isinf.c: Likewise.
38494         * tests/test-strerror.c: Likewise.
38495         * tests/test-strsignal.c: Likewise.
38496
38497 2009-12-23  Eric Blake  <ebb9@byu.net>
38498
38499         unistd: work around cygwin bug
38500         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
38501         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
38502         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38503
38504 2009-12-23  Bruno Haible  <bruno@clisp.org>
38505
38506         localename: More tests.
38507         * tests/test-localename.c (SIZEOF): New macro.
38508         (categories): New variable.
38509         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
38510         test_locale_name_default): Add test w.r.t. thread locale.
38511         (test_locale_name_thread): New function.
38512         (main): Invoke it.
38513
38514         localename: Make aware of thread locale.
38515         * lib/localename.h (gl_locale_name_thread): New declaration.
38516         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
38517         behaviour with respect to thread locale.
38518         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
38519         <langinfo.h>, glthread/lock.h.
38520         (SIZE_BITS): New macro.
38521         (string_hash): New function.
38522         (struct hash_node): New type.
38523         (HASH_TABLE_SIZE): New macro.
38524         (struniq_hash_table, struniq_lock): New variables.
38525         (struniq): New function.
38526         (gl_locale_name_thread): New function.
38527         (gl_locale_name): Invoke it.
38528         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
38529         * modules/localename (Depends-on): Add lock.
38530         Reported by Mike Gran <spk121@yahoo.com>.
38531
38532 2009-12-23  Eric Blake  <ebb9@byu.net>
38533
38534         va-args: new module
38535         * modules/va-args: New file.
38536         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
38537         * MODULES.html.sh (Core language properties): Mention it.
38538
38539         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
38540         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
38541         named alias for __attribute__((__unused__)).
38542         * lib/chown.c: Update client.
38543         * lib/fchmodat.c: Likewise.
38544         * lib/fts.c: Likewise.
38545         * lib/getdate.y: Likewise.
38546         * lib/getgroups.c: Likewise.
38547         * lib/getopt.c: Likewise.
38548         * lib/getugroups.c: Likewise.
38549         * lib/mkdir.c: Likewise.
38550         * lib/mkfifo.c: Likewise.
38551         * lib/mkfifoat.c: Likewise.
38552         * lib/mknod.c: Likewise.
38553         * lib/mknodat.c: Likewise.
38554         * lib/readlink.c: Likewise.
38555         * lib/se-context.in.h: Likewise.
38556         * lib/se-selinux.in.h: Likewise.
38557         * lib/sockets.c: Likewise.
38558         * lib/symlink.c: Likewise.
38559         * lib/symlinkat.c: Likewise.
38560         * lib/unicodeio.c: Likewise.
38561         * lib/unistr.h: Likewise.
38562         * tests/test-areadlink.c: Likewise.
38563         * tests/test-areadlinkat.c: Likewise.
38564         * tests/test-filenamecat.c: Likewise.
38565         * tests/test-fseeko.c: Likewise.
38566         * tests/test-ftello.c: Likewise.
38567         * tests/test-getdate.c: Likewise.
38568         * tests/test-getgroups.c: Likewise.
38569         * tests/test-gethostname.c: Likewise.
38570         * tests/test-quotearg.c: Likewise.
38571         * tests/test-version-etc.c: Likewise.
38572         * tests/test-xalloc-die.c: Likewise.
38573         * tests/test-xfprintf-posix.c: Likewise.
38574         * tests/test-xprintf-posix.c: Likewise.
38575         * tests/test-xvasprintf.c: Likewise.
38576
38577         tests: avoid compiler warnings
38578         * tests/test-fcntl.c (main): Delete unused parameters.
38579         * tests/test-freopen-safer.c (main): Likewise.
38580         * tests/test-xalloc-die.c (main): Mark unused parameters.
38581         * tests/test-fseeko.c (main): Likewise.
38582         * tests/test-ftello.c (main): Likewise.
38583         * tests/test-nanosleep.c (main): Avoid declaration warning.
38584         * tests/test-sleep.c (main): Likewise.
38585         * tests/test-unsetenv.c (main): Silence warning about string
38586         literal.
38587         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38588
38589 2009-12-23  Bruno Haible  <bruno@clisp.org>
38590
38591         * tests/test-localename.c (test_locale_name): New function, extracted
38592         from main. Also test mixed situations.
38593         (test_locale_name_posix, test_locale_name_environ,
38594         test_locale_name_default): New functions.
38595         (main): Invoke them all.
38596         * modules/localename-tests (configure.ac): Test for newlocale.
38597
38598 2009-12-23  Bruno Haible  <bruno@clisp.org>
38599
38600         unistd: Ensure getcwd gets declared before being overridden.
38601         * lib/unistd.in.h: Conditionally include <io.h>.
38602
38603 2009-12-22  Bruno Haible  <bruno@clisp.org>
38604
38605         wchar: Diagnose broken combination of glibc and gcc versions and flags.
38606         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
38607         (gl_WCHAR_H): Invoke it.
38608         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
38609         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
38610         Reported by Karl Berry <karl@freefriends.org>.
38611
38612 2009-12-22  Eric Blake  <ebb9@byu.net>
38613
38614         math, unistd: avoid redundant includes
38615         * lib/math.in.h (isnan): No need to re-include <math.h>.
38616         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
38617
38618         getsubopt: work around cygwin bug
38619         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
38620         avoid conflicting with system getsubopt.
38621         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
38622         bug.
38623
38624         getopt: synchronize from glibc
38625         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
38626         parameter order.  Adjust all callers.
38627         (_getopt_internal_r, main): Adjust quoting in error messages.
38628         Drop considerations for outdated POSIX 1003.2 error message.
38629         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
38630         callers.
38631         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
38632
38633         test-getopt: test stderr behavior
38634         * modules/getopt-posix-tests (Depends-on): Add dup2.
38635         * tests/test-getopt.c (ASSERT): Avoid stderr.
38636         (main): Move stderr to a temporary file.
38637         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
38638         Instead, add parameter to inform caller if output occurred.
38639         (test_getopt): Adjust all existing tests to expect silence, and
38640         add new tests of leading ":".
38641         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38642         glibc shortcomings with leading "-:" or "+:" in optstring.
38643         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38644         Likewise.
38645         * doc/posix-functions/getopt.texi (getopt): Likewise.
38646
38647         test-getopt: enhance test
38648         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
38649         supports optind=0.
38650         * tests/test-getopt.c (OPTIND_MIN): Move...
38651         * tests/test-getopt.h (OPTIND_MIN): ...here.
38652         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
38653         Require that optind=0 works, since modern BSD supports it in
38654         addition to optreset, and since coreutils expects it.
38655         (test_getopt_long_only): New test.
38656         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38657         glibc shortcomings with 'W;', and enforcement of optind=0.
38658         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38659         Likewise.
38660
38661 2009-12-21  Bruno Haible  <bruno@clisp.org>
38662
38663         localename: Improvements for MacOS X and Cygwin.
38664         * lib/localename.h (gl_locale_name_environ): New declaration.
38665         * lib/localename.c (gl_locale_name_environ): New function, extracted from
38666         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
38667         (gl_locale_name_posix): Invoke it.
38668         (gl_locale_name_default): Add comments. Use Windows native API also on
38669         Cygwin.
38670
38671 2009-12-21  Bruno Haible  <bruno@clisp.org>
38672
38673         Update list of Win32 locale ids.
38674         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
38675         (LANG_SAMI): Renamed from LANG_SAAMI.
38676         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
38677         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
38678         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
38679         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
38680         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
38681         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
38682         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
38683         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
38684         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
38685         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
38686         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
38687         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
38688         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
38689         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
38690         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
38691         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
38692         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
38693         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
38694         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
38695         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
38696         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
38697         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
38698         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
38699         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
38700         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
38701         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
38702         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
38703         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
38704         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
38705         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
38706         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
38707         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
38708         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
38709         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
38710         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
38711         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
38712         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
38713         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
38714         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
38715         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
38716         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
38717         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
38718         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
38719         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
38720         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
38721         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
38722         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
38723         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
38724         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
38725         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
38726         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
38727         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
38728         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
38729         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
38730         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
38731         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
38732         Add more languages and countries for Sami, Sorbian. Add more countries
38733         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
38734         for Pashto. Change country for Syriac, Tswana.
38735
38736 2009-12-21  Eric Blake  <ebb9@byu.net>
38737
38738         test-utimens: avoid spurious failure
38739         * tests/test-chown.h (nap): Factor...
38740         * tests/nap.h: ...into new file.
38741         * tests/test-lchown.h (nap): Avoid duplication.
38742         * tests/test-utimens-common.h (nap): Use shared implementation,
38743         necessary on file systems with 1-second resolution.
38744         * modules/chown-tests (Files): Include new file.
38745         * modules/fdutimensat-tests (Files): Likewise.
38746         * modules/futimens-tests (Files): Likewise.
38747         * modules/lchown-tests (Files): Likewise.
38748         * modules/openat-tests (Files): Likewise.
38749         * modules/utimens-tests (Files): Likewise.
38750         * modules/utimensat-tests (Files): Likewise.
38751
38752 2009-12-19  Eric Blake  <ebb9@byu.net>
38753
38754         futimens, utimensat: work around Linux bug
38755         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
38756         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38757         * lib/utimensat.c (rpl_utimensat): Work around it.
38758         * lib/futimens.c (rpl_futimens): Adjust comment.
38759
38760         utimens: work around Linux ctime bug
38761         * lib/utimens.c (detect_ctime_bug): New helper function.
38762         (update_timespec): Differentiate between workaround needed for
38763         this bug vs. what is needed for systems that lack utimensat.
38764         (fdutimens, lutimens): Work around bug.
38765
38766         utimens: check for ctime update
38767         * tests/test-utimens-common.h (check_ctime): Define.
38768         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38769         * tests/test-futimens.h (test_futimens): Likewise.
38770         * tests/test-lutimens.h (test_lutimens): Likewise.
38771         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38772         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38773
38774 2009-12-19  Bruno Haible  <bruno@clisp.org>
38775
38776         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38777         * tests/test-dprintf-posix2.sh: New file.
38778         * tests/test-dprintf-posix2.c: New file.
38779         * modules/dprintf-posix-tests (Files): Add them.
38780         (configure.ac): Check for getrlimit and setrlimit.
38781         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38782
38783 2009-12-19  Bruno Haible  <bruno@clisp.org>
38784
38785         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38786         * tests/test-fprintf-posix3.sh: New file.
38787         * tests/test-fprintf-posix3.c: New file.
38788         * modules/fprintf-posix-tests (Files): Add them.
38789         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38790
38791 2009-12-19  Eric Blake  <ebb9@byu.net>
38792
38793         dirfd: fix prototype
38794         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38795         * lib/dirfd.c (dirfd): Likewise.
38796
38797         canonicalize: reduce memory usage
38798         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38799         allocation to size.
38800         Reported by Solar Designer <solar@openwall.com>.
38801
38802 2009-12-19  Bruno Haible  <bruno@clisp.org>
38803
38804         New module attribute 'Applicability'.
38805         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38806         * gnulib-tool: New option --extract-applicability.
38807         (func_usage): Document it.
38808         (sed_extract_prog): Recognize it.
38809         (func_get_applicability): New function.
38810         (func_import): Generalize handling of 'link-warning' module.
38811         * modules/link-warning (Applicability): New section.
38812         * modules/arg-nonnull (Applicability): New section.
38813         Repoted by Simon Josefsson <simon@josefsson.org>.
38814
38815 2009-12-19  Bruno Haible  <bruno@clisp.org>
38816
38817         fflush: tweak
38818         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38819         * lib/fseeko.c (rpl_fseeko): Likewise.
38820
38821 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38822
38823         * lib/gl_list.h: Fix typo in comment.
38824
38825 2009-12-16  Eric Blake  <ebb9@byu.net>
38826
38827         fcntl: use to simplify other modules
38828         * modules/cloexec (Depends-on): Add fcntl.
38829         * modules/fchdir (Depends-on): Likewise.
38830         * modules/fd-safer-flag (Depends-on): Likewise.
38831         * modules/unistd-safer (Depends-on): Likewise.
38832         * modules/dup3 (configure.ac): Set module indicator.
38833         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38834         missing.
38835         * lib/fchdir.c (_gl_register_dup): Fix comment.
38836         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38837         * lib/dup-safer.c (dup_safer): Likewise.
38838         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38839         * lib/dup3.c (dup3): Likewise.
38840         * tests/test-fchdir.c (main): Enhance test.
38841         Fixes a dup_cloexec bug reported by Ondřej Vašík.
38842
38843         fcntl: port portions of fcntl to mingw
38844         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38845         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38846         replacement for mingw.
38847         * modules/fcntl (Description): Update.
38848         (Depends-on): Add dup2.
38849         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38850         * modules/fcntl-h (Makefile.am): Substitute it.
38851         * lib/fcntl.in.h (fcntl): Update declaration.
38852         (F_DUPFD, F_GETFD): New macros, when needed.
38853         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38854         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38855         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38856         we now guarantee.
38857
38858         fcntl: work around cygwin bug in F_DUPFD
38859         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38860         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38861         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38862         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38863         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38864
38865         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38866         * modules/fcntl (Files): List new files.
38867         (configure.ac): Run a test.
38868         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38869         * lib/fcntl.c (rpl_fcntl): Likewise.
38870         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38871         (gl_FCNTL_H): Always replace fcntl.h.
38872         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38873         * lib/fcntl.in.h (fcntl): Declare replacement.
38874         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38875         needed, plus a witness.
38876         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38877         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38878         * tests/test-fcntl.c: New file.
38879         * modules/fcntl-tests: Likewise.
38880
38881         binary-io: avoid potential compilation warning
38882         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38883         directives.
38884
38885         fflush: avoid compilation error on NetBSD
38886         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38887         between off_t and fpos_t, since the latter is sometimes a struct.
38888         * lib/fseeko.c (rpl_fseeko): Likewise.
38889         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38890
38891 2009-12-15  Eric Blake  <ebb9@byu.net>
38892
38893         fcntl-h, stdio, sys_ioctl: fix declarations
38894         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38895         function must not take arguments.
38896         * lib/sys_ioctl.in.h (ioctl): Likewise.
38897         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38898         (open): Add a link warning.
38899
38900 2009-12-15  Jim Meyering  <meyering@redhat.com>
38901
38902         areadlink, areadlink-with-size: relax license to LGPLv2+
38903         * modules/areadlink (License): Relax to LGPLv2+.
38904         * modules/areadlink-with-size (License): Likewise.
38905
38906 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38907             Bruno Haible  <bruno@clisp.org>
38908
38909         *printf: Fix memory leak.
38910         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38911         * lib/vfprintf.c (vfprintf): Likewise.
38912         * lib/dprintf.c (dprintf): Likewise.
38913         * lib/vdprintf.c (vdprintf): Likewise.
38914
38915 2009-12-14  Eric Blake  <ebb9@byu.net>
38916
38917         accept4: adjust module dependencies
38918         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38919
38920         utimens: one more try at avoiding compiler warning
38921         * lib/utimens.c (lutimens): Lower scope of result.
38922
38923 2009-12-13  Bruno Haible  <bruno@clisp.org>
38924
38925         Move the malloc checking from module 'list' to new module 'xlist'.
38926         * modules/xlist: New file.
38927         * lib/gl_xlist.h: New file.
38928         * lib/gl_xlist.c: New file.
38929         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38930         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38931         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38932         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38933         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38934         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38935         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38936         gl_sortedlist_nx_add): New declarations.
38937         (struct gl_list_implementation): Rename and change methods accordingly.
38938         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
38939         (gl_list_nx_create): Renamed from gl_list_create.
38940         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38941         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38942         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38943         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38944         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38945         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38946         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38947         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38948         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
38949         gl_list_create_empty.
38950         (gl_list_nx_create): Renamed from gl_list_create.
38951         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38952         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38953         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38954         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38955         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38956         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38957         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38958         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38959         * lib/gl_array_list.c: Don't include xalloc.h.
38960         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
38961         NULL upon out-of-memory.
38962         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
38963         out-of-memory.
38964         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
38965         Change return type to 'int'.
38966         (gl_array_nx_set_at): Renamed from gl_array_set_at.
38967         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38968         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
38969         upon out-of-memory.
38970         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
38971         upon out-of-memory.
38972         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
38973         upon out-of-memory.
38974         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
38975         upon out-of-memory.
38976         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
38977         out-of-memory.
38978         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38979         Update.
38980         (gl_array_list_implementation): Update.
38981         * lib/gl_carray_list.c: Don't include xalloc.h.
38982         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38983         Return NULL upon out-of-memory.
38984         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38985         out-of-memory.
38986         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38987         Change return type to 'int'.
38988         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38989         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38990         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38991         upon out-of-memory.
38992         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38993         upon out-of-memory.
38994         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38995         out-of-memory.
38996         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38997         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38998         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38999         Update.
39000         (gl_carray_list_implementation): Update.
39001         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
39002         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
39003         gl_linked_create_empty. Return NULL upon out-of-memory.
39004         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
39005         out-of-memory.
39006         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
39007         Change return type to 'int'. Return -1 upon out-of-memory.
39008         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
39009         out-of-memory.
39010         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
39011         upon out-of-memory.
39012         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
39013         upon out-of-memory.
39014         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
39015         NULL upon out-of-memory.
39016         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
39017         upon out-of-memory.
39018         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
39019         out-of-memory.
39020         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
39021         Update.
39022         * lib/gl_linked_list.c: Don't include xalloc.h.
39023         (gl_linked_list_implementation): Update.
39024         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
39025         (add_to_bucket): Change return type to 'int'.
39026         (gl_linkedhash_list_implementation): Update.
39027         * lib/gl_anytree_list1.h (free_subtree): New function.
39028         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
39029         gl_tree_create_empty. Return NULL upon out-of-memory.
39030         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
39031         Change return type to 'int'. Return -1 upon out-of-memory.
39032         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
39033         out-of-memory.
39034         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
39035         (gl_tree_remove_node): New function, moved here from
39036         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
39037         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
39038         Update.
39039         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
39040         malloc, not xmalloc. Return NULL upon out-of-memory.
39041         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39042         out-of-memory.
39043         (gl_tree_remove_node_from_tree): New function, extracted from
39044         gl_tree_remove_node.
39045         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39046         upon out-of-memory.
39047         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39048         out-of-memory.
39049         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39050         upon out-of-memory.
39051         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39052         upon out-of-memory.
39053         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39054         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
39055         not xmalloc. Return NULL upon out-of-memory.
39056         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39057         out-of-memory.
39058         (gl_tree_remove_node_from_tree): New function, extracted from
39059         gl_tree_remove_node.
39060         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39061         upon out-of-memory.
39062         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39063         out-of-memory.
39064         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39065         upon out-of-memory.
39066         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39067         upon out-of-memory.
39068         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39069         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
39070         gl_anytree_list1.h before gl_anyavltree_list2.h.
39071         (gl_avltree_list_implementation): Update.
39072         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
39073         gl_anytree_list1.h before gl_anyavltree_list2.h.
39074         (gl_rbtree_list_implementation): Update.
39075         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
39076         Change return type to 'int'. Return -1 upon out-of-memory. Use
39077         __builtin_expect.
39078         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
39079         (gl_avltreehash_list_implementation): Update.
39080         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
39081         (gl_rbtreehash_list_implementation): Update.
39082         * modules/array-list (Depends-on): Remove xalloc.
39083         * modules/carray-list (Depends-on): Likewise.
39084         * modules/linked-list (Depends-on): Likewise.
39085         * modules/linkedhash-list (Depends-on): Likewise.
39086         * modules/avltree-list (Depends-on): Likewise.
39087         * modules/rbtree-list (Depends-on): Likewise.
39088         * modules/avltreehash-list (Depends-on): Likewise.
39089         * modules/rbtreehash-list (Depends-on): Likewise.
39090
39091         * modules/xsublist: New file.
39092         * lib/gl_xsublist.h: New file.
39093         * lib/gl_xsublist.c: New file.
39094         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
39095         (gl_sublist_nx_create): New declaration.
39096         * lib/gl_sublist.c: Don't include xalloc.h.
39097         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
39098         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
39099         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
39100         Change return type to 'int'. Return -1 upon out-of-memory.
39101         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
39102         upon out-of-memory.
39103         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
39104         NULL upon out-of-memory.
39105         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
39106         upon out-of-memory.
39107         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
39108         NULL upon out-of-memory.
39109         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
39110         NULL upon out-of-memory.
39111         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
39112         upon out-of-memory.
39113         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
39114         (gl_sublist_list_implementation): Update.
39115         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
39116         upon out-of-memory.
39117         * modules/sublist (Depends-on): Remove xalloc.
39118
39119         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
39120         * tests/test-carray_list.c: Likewise.
39121         * tests/test-linked_list.c: Likewise.
39122         * tests/test-linkedhash_list.c: Likewise.
39123         * tests/test-avltree_list.c: Likewise.
39124         * tests/test-rbtree_list.c: Likewise.
39125         * tests/test-avltreehash_list.c: Likewise.
39126         * tests/test-rbtreehash_list.c: Likewise.
39127         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
39128         * modules/carray-list-tests (Makefile.am): Likewise.
39129         * modules/linked-list-tests (Makefile.am): Likewise.
39130         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39131         * modules/avltree-list-tests (Makefile.am): Likewise.
39132         * modules/rbtree-list-tests (Makefile.am): Likewise.
39133         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39134         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39135
39136         * NEWS: Mention the changes.
39137
39138         * lib/clean-temp.c: Include gl_xlist.h.
39139         * modules/clean-temp (Depends-on): Add xlist.
39140
39141         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
39142         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
39143
39144         * tests/test-array_oset.c: Include gl_xlist.h.
39145         * modules/array-oset-tests (Depends-on): Add xlist.
39146
39147         Reported by José E. Marchesi <jemarch@gnu.org>.
39148
39149 2009-12-13  Bruno Haible  <bruno@clisp.org>
39150
39151         Move the malloc checking from module 'oset' to new module 'xoset'.
39152         * modules/xoset: New file.
39153         * lib/gl_xoset.h: New file.
39154         * lib/gl_xoset.c: New file.
39155         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
39156         declarations.
39157         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
39158         (struct gl_oset_implementation): Rename and change methods accordingly.
39159         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
39160         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39161         'int'. Mark as __warn_unused_result__.
39162         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
39163         gl_oset_create_empty.
39164         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39165         'int'.
39166         * lib/gl_array_oset.c: Don't include xalloc.h.
39167         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
39168         malloc, not xmalloc.
39169         (grow): Change return type to 'int'. Don't call xalloc_die.
39170         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
39171         to 'int'.
39172         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
39173         'int'.
39174         (gl_array_oset_implementation): Update.
39175         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
39176         gl_tree_create_empty.
39177         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
39178         'int'.
39179         * lib/gl_avltree_oset.c: Don't include xalloc.h.
39180         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39181         xmalloc.
39182         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39183         not xmalloc.
39184         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39185         xmalloc.
39186         (gl_avltree_oset_implementation): Update.
39187         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
39188         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39189         xmalloc.
39190         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39191         not xmalloc.
39192         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39193         xmalloc.
39194         (gl_rbtree_oset_implementation): Update.
39195         * modules/array-oset (Depends-on): Remove xalloc.
39196         * modules/avltree-oset (Depends-on): Likewise.
39197         * modules/rbtree-oset (Depends-on): Likewise.
39198         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
39199         * tests/test-avltree_oset.c: Likewise.
39200         * tests/test-rbtree_oset.c: Likewise.
39201         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39202         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
39203         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39204         * NEWS: Mention the change.
39205
39206 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
39207
39208         maint.mk: allow a project to override release-prep commands
39209         * top/maint.mk (alpha, beta, stable): Move release-preparatory
39210         commands into a new rule.
39211         (release-prep): New rule.
39212         (release-prep-hook): New overridable variable.
39213
39214 2009-12-13  Bruno Haible  <bruno@clisp.org>
39215
39216         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
39217
39218 2009-12-13  Jim Meyering  <meyering@redhat.com>
39219
39220         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
39221         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
39222
39223 2009-12-12  Bruno Haible  <bruno@clisp.org>
39224
39225         duplocale: Tweak.
39226         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
39227
39228 2009-12-12  Karl Berry  <karl@gnu.org>
39229
39230         * config/srclist.txt (strtoll.c): tab changes, no more sync.
39231
39232 2009-12-12  Bruno Haible  <bruno@clisp.org>
39233
39234         * m4/po.m4: Undo incorrect untabification.
39235
39236 2009-12-12  Bruno Haible  <bruno@clisp.org>
39237
39238         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
39239         * modules/c-strtod (Depends-on): Add locale.
39240         * modules/c-strtold (Depends-on): Likewise.
39241
39242 2009-12-12  Bruno Haible  <bruno@clisp.org>
39243
39244         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
39245
39246 2009-12-11  Eric Blake  <ebb9@byu.net>
39247
39248         setenv: relax requirement in light of POSIX ruling
39249         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
39250         not NULL.
39251         * tests/test-setenv.c (main): Relax test.
39252         * tests/test-unsetenv.c (main): Likewise.
39253         * doc/posix-functions/setenv.texi (setenv): Document this.
39254         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39255
39256 2009-12-11  Bruno Haible  <bruno@clisp.org>
39257
39258         New module 'fd-safer-flag'.
39259         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
39260         * lib/dup-safer.c (dup_safer_flag): Remove function.
39261         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
39262         * lib/fd-safer.c (fd_safer_flag): Remove function.
39263         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
39264         * modules/cloexec (configure.ac): Drop indicator macro.
39265         * modules/fd-safer-flag: New file.
39266         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
39267         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
39268         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
39269
39270 2009-12-11  Bruno Haible  <bruno@clisp.org>
39271
39272         Tests for module 'nl_langinfo'.
39273         * modules/nl_langinfo-tests: New file.
39274         * tests/test-nl_langinfo.sh: New file.
39275         * tests/test-nl_langinfo.c: New file.
39276
39277         New module 'nl_langinfo'.
39278         * lib/nl_langinfo.c: New file.
39279         * m4/nl_langinfo.m4: New file.
39280         * modules/nl_langinfo: New file.
39281         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
39282
39283 2009-12-11  Bruno Haible  <bruno@clisp.org>
39284
39285         Tests for module 'langinfo'.
39286         * modules/langinfo-tests: New file.
39287         * tests/test-langinfo.c: New file.
39288
39289         New module 'langinfo'.
39290         * lib/langinfo.in.h: New file.
39291         * m4/langinfo_h.m4: New file.
39292         * modules/langinfo: New file.
39293         * doc/posix-headers/langinfo.texi: Mention the new module.
39294
39295 2009-12-11  Bruno Haible  <bruno@clisp.org>
39296
39297         * lib/config.charset: Untabify.
39298
39299 2009-12-11  Bruno Haible  <bruno@clisp.org>
39300
39301         * modules/unistd-safer (configure.ac): Drop indicator macro.
39302
39303 2009-12-11  Bruno Haible  <bruno@clisp.org>
39304
39305         Move pipe2-safer code to its own file.
39306         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
39307         * lib/pipe-safer.c (pipe2_safer): Remove function.
39308         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
39309         (Makefile.am): Add it to lib_SOURCES.
39310
39311 2009-12-10  Bruno Haible  <bruno@clisp.org>
39312
39313         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
39314
39315 2009-12-10  Bruno Haible  <bruno@clisp.org>
39316
39317         Declare which arguments expect non-NULL values, for GCC and clang.
39318         * build-aux/arg-nonnull.h: New file.
39319         * modules/arg-nonnull: New file.
39320         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
39321         (inet_ntop, inet_pton): Use it.
39322         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
39323         (closedir, dirfd, opendir, scandir, alphasort): Use it.
39324         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
39325         (open, openat): Use it.
39326         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
39327         (fnmatch): Use it.
39328         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
39329         (getopt, getopt_long, getopt_long_only): Use it.
39330         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
39331         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
39332         Use it.
39333         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
39334         (iconv_open): Use it.
39335         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
39336         (strtoimax, strtoumax): Use it.
39337         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
39338         (duplocale): Use it.
39339         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
39340         (frexp, frexpl): Use it.
39341         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
39342         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
39343         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39344         (tsearch, tfind, tdelete, twalk): Use it.
39345         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39346         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39347         sigpending): Use it.
39348         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39349         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39350         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39351         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39352         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39353         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39354         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39355         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39356         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39357         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39358         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39359         Use it.
39360         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39361         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39362         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39363         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39364         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39365         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39366         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39367         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39368         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39369         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39370         strtoull, unsetenv): Use it.
39371         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39372         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39373         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39374         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39375         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39376         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39377         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39378         (strcasecmp, strncasecmp): Use it.
39379         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39380         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39381         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39382         rpl_setsockopt): Use it.
39383         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39384         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39385         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39386         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39387         (gettimeofday): Use it.
39388         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39389         (times): Use it.
39390         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39391         (uname): Use it.
39392         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39393         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39394         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39395         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39396         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39397         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39398         unlinkat, write): Use it.
39399         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39400         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
39401         * lib/argv-iter.h: Include arg-nonnull.h.
39402         (_ATTRIBUTE_NONNULL_): Remove macro.
39403         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
39404         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
39405         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
39406         optimization.
39407         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
39408         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
39409         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
39410         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
39411         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
39412         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
39413         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
39414         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
39415         * modules/arpa_inet (Depends-on): Add arg-nonnull.
39416         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
39417         * modules/dirent (Depends-on): Add arg-nonnull.
39418         (Makefile.am): Insert arg-nonnull.h into dirent.h.
39419         * modules/fcntl-h (Depends-on): Add arg-nonnull.
39420         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
39421         * modules/fnmatch (Depends-on): Add arg-nonnull.
39422         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
39423         * modules/getopt-posix (Depends-on): Add arg-nonnull.
39424         (Makefile.am): Insert arg-nonnull.h into getopt.h.
39425         * modules/glob (Depends-on): Add arg-nonnull.
39426         (Makefile.am): Insert arg-nonnull.h into glob.h.
39427         * modules/iconv_open (Depends-on): Add arg-nonnull.
39428         (Makefile.am): Insert arg-nonnull.h into iconv.h.
39429         * modules/inttypes (Depends-on): Add arg-nonnull.
39430         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
39431         * modules/locale (Depends-on): Add arg-nonnull.
39432         (Makefile.am): Insert arg-nonnull.h into locale.h.
39433         * modules/math (Depends-on): Add arg-nonnull.
39434         (Makefile.am): Insert arg-nonnull.h into math.h.
39435         * modules/netdb (Depends-on): Add arg-nonnull.
39436         (Makefile.am): Insert arg-nonnull.h into netdb.h.
39437         * modules/search (Depends-on): Add arg-nonnull.
39438         (Makefile.am): Insert arg-nonnull.h into search.h.
39439         * modules/signal (Depends-on): Add arg-nonnull.
39440         (Makefile.am): Insert arg-nonnull.h into signal.h.
39441         * modules/spawn (Depends-on): Add arg-nonnull.
39442         (Makefile.am): Insert arg-nonnull.h into spawn.h.
39443         * modules/stdio (Depends-on): Add arg-nonnull.
39444         (Makefile.am): Insert arg-nonnull.h into stdio.h.
39445         * modules/stdlib (Depends-on): Add arg-nonnull.
39446         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
39447         * modules/string (Depends-on): Add arg-nonnull.
39448         (Makefile.am): Insert arg-nonnull.h into string.h.
39449         * modules/strings (Depends-on): Add arg-nonnull.
39450         (Makefile.am): Insert arg-nonnull.h into strings.h.
39451         * modules/sys_socket (Depends-on): Add arg-nonnull.
39452         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
39453         * modules/sys_stat (Depends-on): Add arg-nonnull.
39454         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
39455         * modules/sys_time (Depends-on): Add arg-nonnull.
39456         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
39457         * modules/sys_times (Depends-on): Add arg-nonnull.
39458         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
39459         * modules/sys_utsname (Depends-on): Add arg-nonnull.
39460         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
39461         * modules/time (Depends-on): Add arg-nonnull.
39462         (Makefile.am): Insert arg-nonnull.h into time.h.
39463         * modules/unistd (Depends-on): Add arg-nonnull.
39464         (Makefile.am): Insert arg-nonnull.h into unistd.h.
39465         * modules/wchar (Depends-on): Add arg-nonnull.
39466         (Makefile.am): Insert arg-nonnull.h into wchar.h.
39467         * modules/argv-iter (Depends-on): Add arg-nonnull.
39468         * tests/test-canonicalize.c (null_ptr): New function.
39469         (main): Use it.
39470         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
39471         (main): Use it.
39472         * tests/test-memmem.c (null_ptr): New function.
39473         (main): Use it.
39474         Reported by Jim Meyering.
39475
39476 2009-12-10  Bruno Haible  <bruno@clisp.org>
39477
39478         Use spaces for indentation, not tabs.
39479         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39480         * m4/*.m4: Untabify.
39481         * build-aux/*.h: Untabify.
39482         * tests/**/*.[hc]: Untabify.
39483         * README: New section "Indent with spaces, not TABs", based on
39484         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
39485         * NEWS: Mention the change.
39486
39487 2009-12-10  Bruno Haible  <bruno@clisp.org>
39488
39489         pty test: Fix link error.
39490         * modules/pty-tests (Makefile.am): Add the default LDADD value to
39491         test_pty_LDADD.
39492
39493 2009-12-07  Simon Josefsson  <simon@josefsson.org>
39494
39495         * modules/pty: New file.
39496         * modules/pty-tests: New file.
39497         * m4/pty.m4: New file.
39498         * tests/test-pty.c: New file.
39499         * doc/glibc-headers/pty.texi: Modified.
39500         * doc/glibc-functions/forkpty.texi: Modified.
39501         * doc/glibc-functions/openpty.texi: Modified.
39502
39503 2009-12-10  Bruno Haible  <bruno@clisp.org>
39504
39505         Avoid syntax error in C++ mode.
39506         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
39507
39508 2009-12-10  Bruno Haible  <bruno@clisp.org>
39509
39510         Use sed with option -e.
39511         * gnulib-tool (func_version, func_emit_copyright_notice,
39512         func_emit_initmacro_end, func_import, func_create_testdir): Pass
39513         option -e to sed.
39514         * modules/link-warning (Makefile.am): Likewise.
39515
39516 2009-12-10  Jim Meyering  <meyering@redhat.com>
39517
39518         mgetgroups: do not write bytes beyond end of malloc'd buffer
39519         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
39520         username, we call getgroups with a one-element-shorter buffer,
39521         but still told it the length was original, max_n_groups.
39522
39523 2009-12-09  Eric Blake  <ebb9@byu.net>
39524
39525         cloexec: relax license
39526         * modules/cloexec (Maintainer): Add myself.
39527         (License): Use LGPL, not GPL.
39528
39529         link-warning: optimize generation
39530         * modules/link-warning (Makefile.am): Reduce process usage.
39531
39532 2009-12-09  Bruno Haible  <bruno@clisp.org>
39533
39534         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
39535         workaround was added on 2009-11-17.
39536
39537 2009-12-09  Jim Meyering  <meyering@redhat.com>
39538             Bruno Haible  <bruno@clisp.org>
39539
39540         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
39541         * modules/link-warning (Makefile.am): Make the comment-removing sed
39542         command more robust in the face of bootstrap-prepended comment lines.
39543
39544 2009-12-09  Bruno Haible  <bruno@clisp.org>
39545
39546         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
39547         most one group.
39548
39549 2009-12-09  Simon Josefsson <simon@josefsson.org>
39550             Bruno Haible  <bruno@clisp.org>
39551
39552         * build-aux/link-warning.h: Add copyright notice.
39553         * modules/link-warning (Makefile.am): Generate link-warning.h from
39554         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
39555         * NEWS: Mention change in link-warning module.
39556         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
39557         * modules/dirent (Makefile.am): Add dependency to dirent.h.
39558         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
39559         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
39560         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
39561         * modules/math (Makefile.am): Add dependency to math.h.
39562         * modules/search (Makefile.am): Add dependency to search.h.
39563         * modules/signal (Makefile.am): Add dependency to signal.h.
39564         * modules/spawn (Makefile.am): Add dependency to spawn.h.
39565         * modules/stdio (Makefile.am): Add dependency to stdio.h.
39566         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
39567         * modules/string (Makefile.am): Add dependency to string.h.
39568         * modules/strings (Makefile.am): Add dependency to strings.h.
39569         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
39570         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
39571         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
39572         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
39573         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
39574         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
39575         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
39576         * modules/unistd (Makefile.am): Add dependency to unistd.h.
39577         * modules/wchar (Makefile.am): Add dependency to wchar.h.
39578
39579 2009-12-09  Bruno Haible  <bruno@clisp.org>
39580
39581         fchdir: Optimize away rpl_fstat when possible.
39582         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
39583         REPLACE_OPEN_DIRECTORY.
39584         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
39585
39586 2009-12-09  Bruno Haible  <bruno@clisp.org>
39587
39588         * lib/fchdir.c: Update comment.
39589
39590 2009-12-09  Bruno Haible  <bruno@clisp.org>
39591
39592         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
39593
39594 2009-12-08  Eric Blake  <ebb9@byu.net>
39595
39596         fchdir: avoid memory leak on re-registration.
39597         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
39598
39599 2009-12-08  Jim Meyering  <meyering@redhat.com>
39600
39601         init.sh: avoid Solaris 10 /bin/sh portability problem
39602         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
39603         sourced script:
39604           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
39605           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
39606           bar
39607         tests/init.sh relied on that, accepting a --set-path=DIR argument,
39608         and two tests used that idiom.
39609         * tests/init.sh: Update suggested usage comments.
39610         (path_prepend_): New function, to be used in place
39611         of the --src-path=DIR option.
39612         (setup_): Move PATH-prepending code into path_prepend_.
39613         * tests/test-pread.sh: Adapt to new usage.
39614         * tests/test-xalloc-die.sh: Likewise.
39615
39616 2009-12-08  Simon Josefsson  <simon@josefsson.org>
39617
39618         * doc/gnulib.texi (Glibc pty.h): Add.
39619         * doc/glibc-functions/forkpty.texi: Add.
39620         * doc/glibc-functions/openpty.texi: Add.
39621         Suggested by Bruno Haible.
39622
39623 2009-12-08  Eric Blake  <ebb9@byu.net>
39624
39625         fchdir: fix logic bugs
39626         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
39627         * tests/test-fchdir.c (main): Enhance test.
39628         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
39629         is in use.
39630
39631         dup2: fix logic bugs
39632         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
39633         REPLACE_DUP2 to decide when rpl_dup2 is needed.
39634         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
39635         exists.
39636         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
39637
39638 2009-12-07  Eric Blake  <ebb9@byu.net>
39639
39640         unlink: fix m4 detection
39641         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
39642
39643         unistd-safer: add unit test
39644         * modules/unistd-safer-tests: New file.
39645         * tests/test-dup-safer.c: Likewise.
39646         * tests/test-cloexec.c (setmode): Avoid compiler warning.
39647         * tests/test-dup2.c (setmode): Likewise.
39648         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
39649
39650         cloexec: preserve text vs. binary across dup_cloexec
39651         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
39652         mode.
39653         * modules/dup2-tests (Depends-on): Add binary-io.
39654         * modules/cloexec-tests (Depends-on): Likewise.
39655         * tests/test-dup2.c (setmode, is_mode): New helpers.
39656         (main): Add tests that translation mode is preserved.
39657         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
39658         Reported by Bruno Haible.
39659
39660         mgetgroups: reduce duplicate listings
39661         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
39662         resulting array.
39663         * tests/test-chown.h (test_chown): Simplify client.
39664         * tests/test-lchown.h (test_lchown): Likewise.
39665
39666 2009-12-06  Bruno Haible  <bruno@clisp.org>
39667
39668         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
39669         value.
39670
39671 2009-12-06  Bruno Haible  <bruno@clisp.org>
39672
39673         * lib/progname.c: Include stdio.h, stdlib.h.
39674         (set_program_name): Reject a NULL argument.
39675
39676 2009-12-05  Eric Blake  <ebb9@byu.net>
39677
39678         pipe2-safer: new module
39679         * modules/pipe2-safer: New file.
39680         * lib/unistd-safer.h (pipe2_safer): New prototype.
39681         * lib/unistd--.h (pipe2): New wrapper.
39682         * lib/pipe-safer.c (pipe2_safer): New function.
39683         * modules/pipe (Depends-on): Add pipe2-safer.
39684         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
39685
39686         stdlib-safer: preserve cloexec flag for mkostemp[s]
39687         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
39688         fd_safer_flag.
39689
39690         unistd-safer: allow preservation of cloexec status via flag
39691         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
39692         prototypes.
39693         * lib/dup-safer.c (dup_safer_flag): New function.
39694         * lib/fd-safer.c (fd_safer_flag): Likewise.
39695         * modules/cloexec (configure.ac): Set witness.
39696
39697         test-dup2: enhance test
39698         * modules/dup2-tests (Depends-on): Add cloexec.
39699         * tests/test-dup2.c (main): Enhance test.
39700
39701         cloexec: add dup_cloexec
39702         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
39703         header and comments.
39704         * lib/cloexec.c (set_cloexec_flag): Add comments.
39705         (dup_cloexec): New function, with mingw implementation borrowed
39706         from...
39707         * lib/w32spawn.h (dup_noinherit): ...here.
39708         * modules/execute (Depends-on): Add cloexec.
39709         * modules/pipe (Depends-on): Likewise.
39710         * modules/cloexec (Depends-on): Add dup2.
39711         * modules/cloexec-tests (Files): New file.
39712         * tests/test-cloexec.c: Likewise.
39713
39714         test-xalloc-die: fix test for mingw
39715         * modules/xalloc-die-tests (Files): Add tests/init.sh.
39716         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
39717         directory and .exe suffix off argv[0] output.
39718
39719         test-fseeko: fix test for mingw
39720         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
39721         than undefining fseek, so test will pass on mingw.
39722
39723 2009-12-05  Bruno Haible  <bruno@clisp.org>
39724
39725         * lib/progname.h (set_program_name): Clarify specification.
39726         * lib/progname.c (set_program_name): Likewise.
39727         Reported by Jim Meyering.
39728
39729 2009-12-05  Jim Meyering  <meyering@redhat.com>
39730
39731         maint.mk: backslash-escape parens in default regexp
39732         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
39733         backslash-escape the literal parentheses.
39734
39735         maint.mk: news-date-check: use grep -E
39736         * top/maint.mk (today): Define a Make variable, not a...
39737         (news-date-check): ...shell variable.
39738         (news-date-regexp): Use the Make variable.
39739         Use grep's -E option.  Change the failing diagnostic to mention
39740         the variable, $(news-date-regexp).
39741
39742 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
39743
39744         maintainer-makefile: allow customization of NEWS entry format
39745         * top/maint.mk (news-date-regexp): New overridable variable.
39746         (news-date-check): Use it.
39747
39748 2009-12-04  Eric Blake  <ebb9@byu.net>
39749
39750         mgetgroups: add xgetgroups, and avoid ENOSYS failures
39751         * lib/mgetgroups.h (xgetgroups): New prototype.
39752         * lib/mgetgroups.c (xgetgroups): New wrapper.
39753         (mgetgroups): Handle ENOSYS.
39754         * modules/mgetgroups (Depends-on): Add realloc.
39755         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
39756
39757         mgetgroups: avoid argument promotion issues with -1
39758         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
39759         for invalid gid_t.
39760         * tests/test-chown.h (getegid, test_chown): Likewise.
39761         * tests/test-lchown.h (getegid, test_lchown): Likewise.
39762
39763 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
39764
39765         exclude: Fix header file problems.
39766         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39767
39768 2009-12-01  Jim Meyering  <meyering@redhat.com>
39769
39770         fts: fts_open: do not let an empty string cause immediate failure
39771         This is required in support of GNU rm, for which the command
39772         "rm A '' B" must process and remove both A and B, in spite of
39773         the empty string argument.
39774         * lib/fts.c (fts_open): Do not let the presence of an empty string
39775         cause fts_open to fail immediately.  Most fts-using tools must be
39776         able to process all arguments, in order, and can be expected to
39777         diagnose such arguments themselves.
39778
39779 2009-11-30  Eric Blake  <ebb9@byu.net>
39780
39781         utimens: fix compilation error
39782         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39783         Declare variable at right scope.
39784
39785 2009-11-29  Jim Meyering  <meyering@redhat.com>
39786
39787         bootstrap: handle perl-5.11's changed --version output
39788         * build-aux/bootstrap (get_version): Handle perl separately,
39789         since perl-5.11's --version output is different.
39790
39791 2009-11-28  Jim Meyering  <meyering@redhat.com>
39792
39793         userspec: depend on the inttostr module, too
39794         * modules/userspec (Depends-on): Add inttostr.
39795
39796         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39797         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39798         number of MAXUID when it evaluates to (uid_t) -1.
39799         Likewise for group ID.  Reported by Matt McCutchen in
39800         <http://savannah.gnu.org/bugs/?28113>
39801
39802         userspec: reformat to use spaces, not TABs
39803         * lib/userspec.c: Expand TABs to spaces.
39804         Add Emacs' "indent-tabs-mode: nil" hint.
39805
39806 2009-11-27  Eric Blake  <ebb9@byu.net>
39807
39808         getopt-gnu: flush out another BSD bug
39809         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39810         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39811         flush out BSD bug.
39812         * tests/test-getopt.h (test_getopt): End lists with NULL.
39813         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39814         (test_getopt_long_posix): Enhance test.
39815         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39816         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39817         getopt-gnu.
39818         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39819         Likewise.
39820
39821 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39822
39823         * modules/idpriv-droptemp-tests (Notice): Fix text.
39824
39825 2009-11-27  Jim Meyering  <meyering@redhat.com>
39826
39827         test-xalloc-die: avoid spurious failure due to libtool argv difference
39828         In a libtool-enabled project, this test would fail due to a difference
39829         in the emitted program name, e.g.,
39830         -test-xalloc-die: memory exhausted
39831         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39832         Use program to avoid that.
39833         * modules/xalloc-die-tests (Depends-on): Add progname.
39834         * tests/test-xalloc-die.c: Include progname.h".
39835         (program_name): Remove decl.
39836         (main): Call set_program_name.
39837         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39838
39839 2009-11-26  Richard Jones  <rjones@redhat.com>
39840
39841         w32sock: leave win32 error in place.
39842         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39843
39844 2009-11-26  Eric Blake  <ebb9@byu.net>
39845
39846         init.sh: suggest to use skip_ and fail_ functions in comments
39847         * tests/init.sh: Add a sentence.
39848
39849 2009-11-25  Bruno Haible  <bruno@clisp.org>
39850
39851         init.sh: add documentation in comments
39852         * tests/init.sh: Add some developer and user documentation.
39853
39854 2009-11-26  Jim Meyering  <meyering@redhat.com>
39855
39856         init.sh: accommodate even those who specify bogus srcdir manually
39857         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39858         configure-time tests to be sanitized, so that there is no need to
39859         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39860         (with no double quotes) suffices.  However, since tests may be
39861         invoked manually, and since you may explicitly set srcdir to the
39862         name of a directory containing spaces, do quote its uses here.
39863         * tests/test-pread.sh: Likewise.
39864         Suggested by Bruno Haible.
39865
39866         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39867         * tests/test-pread.sh: Write no data into the pipe, because
39868         test-pread actually reads none.  This avoids a diagnostic,
39869         "bash: echo: write error: Broken pipe", that arises in the unusual
39870         event something is ignoring SIGPIPE, and might be interpreted
39871         as some sort of failure.  Reported by Bruno Haible.
39872
39873 2009-11-25  Jim Meyering  <meyering@redhat.com>
39874
39875         test-pread: cover failure with ESPIPE and EINVAL
39876         * tests/test-pread.c (main): Test for failure, too.
39877         * tests/test-pread.sh: Invoke with stdin on a pipe.
39878         Suggested by Eric Blake.
39879
39880         pread: improvement and fix
39881         * modules/pread (Depends-on): Depend on lseek, for portability to
39882         e.g., mingw.  Suggested by Eric Blake.
39883         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39884
39885         unistd.in.h: correct declaration of pread
39886         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39887         Reported by Richard W.M. Jones.
39888
39889         test-pread.sh: distribute the test script
39890         * modules/pread-tests (Files): Include test-pread.sh.
39891
39892         test-pread.sh: clean up
39893         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39894         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39895         That is unnecessary, since it's always ".".
39896         Suggestion from Eric Blake.
39897
39898         test-pread.sh: make executable
39899         * tests/test-pread.sh: Set executable bit.
39900         Reported by Eric Blake.
39901
39902         correct typo in test-pread.sh
39903         * tests/test-pread.sh: Add #! line.
39904
39905         test pread
39906         * tests/test-pread.c: New file.
39907         * tests/test-pread.sh: Likewise.
39908         * modules/pread-tests: Likewise.
39909
39910         pread: new module
39911         * modules/pread: New file.
39912         * lib/unistd.in.h (pread): Define/declare.
39913         * lib/pread.c (pread): New file.
39914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39915         * modules/unistd (Makefile.am): Substitute witnesses.
39916         * doc/posix-functions/pread.texi (pread): Update.
39917         * MODULES.html.sh: Add pread.
39918
39919 2009-11-25  Jim Meyering  <meyering@redhat.com>
39920
39921         tests/init.sh: new file to be used via most *.sh tests
39922         * tests/init.sh: New file.
39923
39924 2009-11-25  Eric Blake  <ebb9@byu.net>
39925
39926         utimens: work around older Linux failure with symlinks
39927         * lib/utimens.c (lutimensat_works_really): New variable.
39928         (fdutimens, lutimens): Use it to manage kernels that support
39929         nanosecond times on files, but not on symlinks.
39930         Reported by Ondřej Vašík.
39931
39932         utimes: fix configure grammar
39933         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39934
39935 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39936
39937         regex: Fix fastmap for multibyte character ranges.
39938         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
39939         characters when a multibyte character range is included.
39940
39941 2009-11-22  Andy Wingo  <wingo@pobox.com>
39942
39943         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
39944         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
39945
39946 2009-11-24  Bruno Haible  <bruno@clisp.org>
39947
39948         doc: Most *_l functions exist in MacOS X 10.5.
39949         * doc/posix-functions/duplocale.texi: Update platforms list.
39950         * doc/posix-functions/freelocale.texi: Likewise.
39951         * doc/posix-functions/newlocale.texi: Likewise.
39952         * doc/posix-functions/uselocale.texi: Likewise.
39953         * doc/posix-functions/isalnum_l.texi: Likewise.
39954         * doc/posix-functions/isalpha_l.texi: Likewise.
39955         * doc/posix-functions/isblank_l.texi: Likewise.
39956         * doc/posix-functions/iscntrl_l.texi: Likewise.
39957         * doc/posix-functions/isdigit_l.texi: Likewise.
39958         * doc/posix-functions/isgraph_l.texi: Likewise.
39959         * doc/posix-functions/islower_l.texi: Likewise.
39960         * doc/posix-functions/isprint_l.texi: Likewise.
39961         * doc/posix-functions/ispunct_l.texi: Likewise.
39962         * doc/posix-functions/isspace_l.texi: Likewise.
39963         * doc/posix-functions/isupper_l.texi: Likewise.
39964         * doc/posix-functions/iswalnum_l.texi: Likewise.
39965         * doc/posix-functions/iswalpha_l.texi: Likewise.
39966         * doc/posix-functions/iswblank_l.texi: Likewise.
39967         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39968         * doc/posix-functions/iswctype_l.texi: Likewise.
39969         * doc/posix-functions/iswdigit_l.texi: Likewise.
39970         * doc/posix-functions/iswgraph_l.texi: Likewise.
39971         * doc/posix-functions/iswlower_l.texi: Likewise.
39972         * doc/posix-functions/iswprint_l.texi: Likewise.
39973         * doc/posix-functions/iswpunct_l.texi: Likewise.
39974         * doc/posix-functions/iswspace_l.texi: Likewise.
39975         * doc/posix-functions/iswupper_l.texi: Likewise.
39976         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39977         * doc/posix-functions/isxdigit_l.texi: Likewise.
39978         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39979         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39980         * doc/posix-functions/strcoll_l.texi: Likewise.
39981         * doc/posix-functions/strfmon_l.texi: Likewise.
39982         * doc/posix-functions/strftime_l.texi: Likewise.
39983         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39984         * doc/posix-functions/strxfrm_l.texi: Likewise.
39985         * doc/posix-functions/tolower_l.texi: Likewise.
39986         * doc/posix-functions/toupper_l.texi: Likewise.
39987         * doc/posix-functions/towctrans_l.texi: Likewise.
39988         * doc/posix-functions/towlower_l.texi: Likewise.
39989         * doc/posix-functions/towupper_l.texi: Likewise.
39990         * doc/posix-functions/wcscoll_l.texi: Likewise.
39991         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39992         * doc/posix-functions/wctrans_l.texi: Likewise.
39993         * doc/posix-functions/wctype_l.texi: Likewise.
39994         * doc/glibc-functions/strptime_l.texi: Likewise.
39995         * doc/glibc-functions/strtod_l.texi: Likewise.
39996         * doc/glibc-functions/strtof_l.texi: Likewise.
39997         * doc/glibc-functions/strtol_l.texi: Likewise.
39998         * doc/glibc-functions/strtold_l.texi: Likewise.
39999         * doc/glibc-functions/strtoll_l.texi: Likewise.
40000         * doc/glibc-functions/strtoul_l.texi: Likewise.
40001         * doc/glibc-functions/strtoull_l.texi: Likewise.
40002         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40003         * doc/glibc-functions/wcstod_l.texi: Likewise.
40004         * doc/glibc-functions/wcstof_l.texi: Likewise.
40005         * doc/glibc-functions/wcstol_l.texi: Likewise.
40006         * doc/glibc-functions/wcstold_l.texi: Likewise.
40007         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40008         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40009         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40010
40011 2009-11-24  Bruno Haible  <bruno@clisp.org>
40012
40013         duplocale: Fix logic bug.
40014         * lib/duplocale.c: Don't include <langinfo.h>.
40015         (_NL_LOCALE_NAME): Remove macro.
40016         (rpl_duplocale): Use setlocale instead of nl_langinfo.
40017         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
40018
40019 2009-11-23  Jim Meyering  <meyering@redhat.com>
40020
40021         test-update-copyright: don't hard-code /usr/bin/perl
40022         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
40023         perl to print the current year.  Gilles Espinasse reported that
40024         the replaced use of perl was hard-coded as /usr/bin/perl.
40025
40026 2009-11-23  Bruno Haible  <bruno@clisp.org>
40027
40028         duplocale: Add support for glibc 2.3.x.
40029         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
40030
40031 2009-11-22  Bruno Haible  <bruno@clisp.org>
40032
40033         vasnprintf: Tiny optimization.
40034         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
40035         MacOS X.
40036
40037 2009-11-22  Bruno Haible  <bruno@clisp.org>
40038
40039         Tests for module 'duplocale'.
40040         * modules/duplocale-tests: New file.
40041         * tests/test-duplocale.c: New file.
40042
40043         New module 'duplocale'.
40044         * m4/duplocale.m4: New file.
40045         * lib/locale.in.h (duplocale): New declaration.
40046         * lib/duplocale.c: New file.
40047         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
40048         gl_LOCALE_H_DEFAULTS): New macros.
40049         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
40050         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
40051         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
40052         REPLACE_DUPLOCALE.
40053         * modules/duplocale: New file.
40054         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
40055
40056 2009-11-22  Bruno Haible  <bruno@clisp.org>
40057
40058         * modules/locale-tests (configure.ac): Test for newlocale function.
40059         * tests/test-locale.c: When the system has extended locale functions,
40060         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
40061
40062         locale: Make locale_t available when possible.
40063         * lib/locale.in.h: Include <xlocale.h> when it exists.
40064         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
40065         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
40066         * modules/locale (Depends-on): Add extensions.
40067         (Makefile.am): Also substitute HAVE_XLOCALE_H.
40068         * doc/posix-headers/locale.texi: Document the problem with locale_t.
40069
40070 2009-11-22  Bruno Haible  <bruno@clisp.org>
40071
40072         Add comments.
40073         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
40074         invocation.
40075         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40076         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
40077         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40078
40079 2009-11-22  Bruno Haible  <bruno@clisp.org>
40080
40081         error: account for the possibility of freopen (stdout).
40082         * lib/error.c: Include <unistd.h>.
40083         (flush_stdout): New function, extracted from error and error_at_line.
40084         Determine stdout's fd dynamically.
40085         (error, error_at_line): Invoke flush_stdout.
40086         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
40087         * modules/error (Depends-on): Add unistd.
40088
40089 2009-11-22  Bruno Haible  <bruno@clisp.org>
40090
40091         diffseq: Add comment.
40092         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
40093
40094 2009-11-22  Jim Meyering  <meyering@redhat.com>
40095
40096         c-stack: avoid defining an unused static function
40097         * lib/c-stack.c (find_stack_direction): Do not define this function
40098         when it will not be used.
40099
40100         diffseq: avoid spurious gcc warnings
40101         * lib/diffseq.h (IF_LINT2): Define.
40102         (compareseq): Use it to initialize two members of "part".
40103         This avoids two used-uninitialized warnings.
40104
40105 2009-11-21  Jim Meyering  <meyering@redhat.com>
40106
40107         c-stack: avoid "ignoring return value of `write'" warning
40108         * lib/c-stack.c: Include "ignore-value.h".
40109         (die): Explicitly ignore each write return value.
40110         * modules/c-stack (Depends-on): Add ignore-value.
40111
40112 2009-11-21  Bruno Haible  <bruno@clisp.org>
40113
40114         diffseq: reduce scope of variable 'best'.
40115         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
40116         variable, earlier used for two different purposes.
40117
40118 2009-11-21  Jim Meyering  <meyering@redhat.com>
40119
40120         diffseq: remove useless assignment to "best"
40121         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
40122         assignment.  At that point "best" is already guaranteed to be zero.
40123
40124 2009-11-20  Eric Blake  <ebb9@byu.net>
40125
40126         build: mention ftp redirector in release announcements
40127         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
40128         values that used to come from cfg.mk; mention FTP redirect URL.
40129         * build-aux/announce-gen: Mention the mirror list.
40130         Suggested by Karl Berry.
40131
40132         nanosleep: improve port to mingw
40133         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
40134         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
40135         LIB_NANOSLEEP, but only when needed.
40136         * modules/select (Link): Document LIBSOCKET.
40137         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
40138         enough.
40139
40140         nanosleep: work around cygwin bug
40141         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
40142         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
40143         bug.
40144         (getnow): Delete, not needed.
40145         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
40146         LIB_CLOCK_GETTIME.
40147         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
40148         clock-time, gettime.
40149         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
40150         bug.
40151         * modules/nanosleep-tests: New test.
40152         * tests/test-nanosleep.c: New file.
40153
40154         sleep: work around cygwin bug
40155         * lib/sleep.c (rpl_sleep): Work around the bug.
40156         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
40157         (gl_PREREQ_SLEEP): Delete unused macro.
40158         * modules/sleep (Depends-on): Add verify.
40159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40160         * modules/unistd (Makefile.am): Substitute witness.
40161         * lib/unistd.in.h (sleep): Update prototype.
40162         * doc/posix-functions/sleep.texi (sleep): Document the bug.
40163         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
40164         * modules/sleep-tests (Depends-on): Check for alarm.
40165
40166 2009-11-20  Jim Meyering  <meyering@redhat.com>
40167
40168         maint.mk: improve sc_prohibit_magic_number_exit
40169         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
40170         so it does not match uses like System.exit(1).
40171         Add comments showing how to correct all offenders.
40172
40173 2009-11-19  Eric Blake  <ebb9@byu.net>
40174
40175         xalloc-die-tests: add missing library
40176         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
40177
40178         test-xvasprintf: silence compiler warnings
40179         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
40180         empty string from gcc.
40181
40182 2009-11-19  Jim Meyering  <meyering@redhat.com>
40183
40184         xfreopen: new module, from coreutils
40185         * modules/xfreopen: New module.
40186         * lib/xfreopen.c: New file.
40187         * lib/xfreopen.h: New file.
40188         * MODULES.html.sh (File stream based Input/Output"): Add it.
40189
40190 2009-11-19  Eric Blake  <ebb9@byu.net>
40191
40192         manywarnings: depend on warnings
40193         * modules/manywarnings (Depends-on): Add warnings.
40194
40195         build: avoid compiler warnings
40196         * lib/select.c (rpl_select): Delete unused variable.
40197         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
40198
40199 2009-11-18  Eric Blake  <ebb9@byu.net>
40200
40201         tests: avoid false negative with --with-packager
40202         * tests/test-version-etc.sh: Discard packager information.
40203         * tests/test-argp-version-etc-1.sh: Likewise.
40204         Reported by Mike Frysinger.
40205
40206         utimens: fix regression on Solaris
40207         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
40208         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
40209         can only change fd timestamps via futimesat.  Instead, use an
40210         additional witness macro to avoid BSD bug.
40211         Reported by Jim Meyering.
40212
40213 2009-11-17  Eric Blake  <ebb9@byu.net>
40214
40215         usleep: use it to simplify tests
40216         * modules/stat-time-tests (Depends-on): Add usleep.
40217         (configure.ac): Drop usleep check.
40218         * modules/chown-tests (Depends-on, configure.ac): Likewise.
40219         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
40220         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
40221         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
40222         * modules/openat-tests (Depends-on, configure.ac): Likewise.
40223         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
40224         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
40225         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
40226         Likewise.
40227         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
40228         * tests/test-lchown.h (nap): Likewise.
40229         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
40230         * tests/test-stat-time.c (nap): Likewise.
40231         * tests/test-utimens-common.h (nap): Update comments.
40232
40233         usleep: new module
40234         * modules/usleep: New file.
40235         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
40236         * lib/usleep.c (usleep): Likewise.
40237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40238         * modules/unistd (Makefile.am): Substitute witnesses.
40239         * lib/unistd.in.h (usleep): Add declaration.
40240         * doc/pastposix-functions/usleep.texi (usleep): Document this.
40241         * MODULES.html.sh (Date and time): Likewise.
40242         * modules/usleep-tests (Depends-on): New test.
40243         * tests/test-usleep.c: New file.
40244
40245         chown: work around OpenBSD bug
40246         * lib/chown.c (rpl_chown): Work around the bug.
40247         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
40248         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
40249         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
40250         * modules/chown (Depends-on): Add stdbool.
40251         * modules/lchown (Depends-on): Likewise.
40252         * doc/posix-functions/chown.texi (chown): Document the bug.
40253         * doc/posix-functions/lchown.texi (lchown): Likewise.
40254         * tests/test-lchown.h (test_chown): Relax test.
40255
40256         mkstemp: avoid conflict with C++ keyword template
40257         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
40258         * lib/mkostemp.c (mkostemp): Likewise.
40259         * lib/mkostemps.c (mkostemps): Likewise.
40260         * lib/mkstemp.c (mkstemp): Likewise.
40261         * lib/mkstemps.c (mkstemps): Likewise.
40262
40263         xalloc-die-tests: optimize
40264         * tests/test-xalloc-die.sh: Reduce number of processes.
40265
40266 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40267
40268         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
40269         patch from ludo@gnu.org (Ludovic Courtès).
40270
40271 2009-11-17  Jim Meyering  <meyering@redhat.com>
40272
40273         version-etc: use proper license string
40274         * modules/version-etc (License): Use LGPL, not LGPLv3+.
40275         * modules/version-etc-fsf: Likewise.
40276
40277 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40278
40279         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
40280         printed to stdout.  Deal with EOL differences.
40281
40282 2009-11-17  Eric Blake  <ebb9@byu.net>
40283
40284         unsetenv: work around Solaris bug
40285         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
40286         * lib/unsetenv.c (rpl_unsetenv): Work around it.
40287         Reported by Jim Meyering.
40288
40289         vasnprintf: avoid compiler warnings
40290         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
40291         variables.
40292         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
40293
40294 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40295
40296         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
40297         settings since xalloc-die is no longer the self test,
40298         xalloc-die.sh is.
40299
40300 2009-11-17  Jim Meyering  <meyering@redhat.com>
40301
40302         test-xalloc-die.sh: make the code agree with the commit log
40303         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
40304         at the end, just in case you happen to have a test-xalloc-die
40305         program in some other PATH directory.
40306
40307         test-xalloc-die.sh: fix a portability bug
40308         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
40309         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
40310         Otherwise, argv[0] (as often seen in diagnostics) would be too
40311         system-dependent, sometimes with, and sometimes without the leading "./".
40312
40313         version-etc-fsf: relax license to LGPLv3+
40314         * modules/version-etc-fsf (License): Relax license.
40315
40316 2009-11-16  Eric Blake  <ebb9@byu.net>
40317
40318         xalloc-die-tests: avoid printing null pointer
40319         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
40320         shell script.
40321         * tests/test-xalloc-die.c (program_name): Declare.
40322         * tests/test-xalloc-die.sh (tmpfiles): New file.
40323
40324         setenv, unsetenv: work around various bugs
40325         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
40326         (setenv) [HAVE_SETENV]: Work around bugs.
40327         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
40328         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
40329         for bugs.
40330         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
40331         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
40332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
40333         * modules/stdlib (Makefile.am): Update substitutions.
40334         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
40335         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
40336         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40337         * modules/setenv-tests: New test.
40338         * modules/unsetenv-tests: Likewise.
40339         * tests/test-setenv.c: New file.
40340         * tests/test-unsetenv.c: Likewise.
40341
40342 2009-11-16  Jim Meyering  <meyering@redhat.com>
40343
40344         version-etc: relax license to LGPLv3+
40345         * modules/version-etc (License): Relax license.
40346
40347         better AC_REQUIRE expanded-before-required-warning avoidance
40348         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40349         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40350         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40351         which is no longer needed.
40352
40353 2009-11-16  Eric Blake  <ebb9@byu.net>
40354
40355         test-freading: clean up temporary file
40356         * tests/test-freading.c (main): Remove file on success, and use
40357         ASSERT more liberally.
40358         Reported by Jim Meyering.
40359
40360 2009-11-16  Jim Meyering  <meyering@redhat.com>
40361
40362         avoid new AC_REQUIRE expanded-before-required warnings
40363         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40364         merely using it.
40365         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40366         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40367
40368 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40369
40370         * tests/test-xalloc-die.c: New file.
40371         * modules/xalloc-die-tests: New file.
40372         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40373         XFAIL_TESTS so it can be appended by modules.
40374
40375 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40376
40377         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40378         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40379
40380 2009-11-14  Eric Blake  <ebb9@byu.net>
40381
40382         fnmatch: avoid compiler warning
40383         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40384         to silence compiler warning about mismatch signedness in ?:.
40385         Reported by Robert Millan.
40386
40387         intprops: add double-inclusion guard
40388         * lib/intprops.h: Allow idempotent includes.
40389         Suggested by Bruce Korb.
40390
40391         openat: detect Solaris fchownat bug
40392         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40393         penalizing glibc chownat when only lchownat is broken.
40394         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40395         trailing slash bugs.
40396         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40397         * modules/openat-tests (Files): Include more files.
40398         (Depends-on): Add mgetgroups, sleep, stat-time.
40399         (configure.ac): Add additional checks.
40400         (Makefile.am): Build new test.
40401         * tests/test-fchownat.c: New file.
40402
40403         lchown: detect Solaris and FreeBSD bug
40404         * lib/lchown.c (rpl_lchown): Work around bug.
40405         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
40406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40407         * modules/unistd (Makefile.am): Populate it.
40408         * lib/unistd.in.h (lchown): Update declaration.
40409         * doc/posix-functions/lchown.texi (lchown): Document the bug.
40410         * modules/lchown-tests: New file.
40411         * tests/test-lchown.h (test_lchown): Likewise.
40412         * tests/test-lchown.c (main): Likewise.
40413
40414         chown: detect Solaris and FreeBSD bug
40415         * lib/chown.c (rpl_chown): Work around bug.
40416         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
40417         (gl_PREREQ_CHOWN): Delete.
40418         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40419         * modules/unistd (Makefile.am): Populate it.
40420         * lib/unistd.in.h (chown): Update declaration.
40421         * lib/lchown.c (chown): Update client.
40422         * modules/lchown (Depends-on): Add lstat.
40423         * doc/posix-functions/chown.texi (chown): Document the bug.
40424         * doc/posix-functions/getgroups.texi (getgroups): Document
40425         getgroups pitfall.
40426         * modules/chown-tests: New file.
40427         * tests/test-chown.h (test_chown): Likewise.
40428         * tests/test-chown.c (main): Likewise.
40429
40430 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
40431
40432         gnulib-tool: correctly detect absence of m4 directories
40433         * gnulib-tool: Avoid extra newline on data passed to wc -l.
40434
40435 2009-11-14  Jim Meyering  <meyering@redhat.com>
40436
40437         maint.mk: Prohibit inclusion of "xalloc.h" without use.
40438         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40439
40440 2009-11-14  John W. Eaton  <jwe@gnu.org>
40441
40442         strftime.h: wrap function declaration in extern "C" block
40443         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
40444
40445 2009-11-13  Eric Blake  <ebb9@byu.net>
40446
40447         getgroups: avoid compiler warning
40448         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
40449
40450         getgroups: work around FreeBSD bug
40451         * lib/getgroups.c (rpl_getgroups): Work around the bug.
40452         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
40453         * doc/posix-functions/getgroups.texi (getgroups): Document it.
40454         * tests/test-getgroups.c (main): Fix buffer overrun.
40455
40456         getgroups: avoid compilation failure
40457         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
40458         * modules/getgroups (Depends-on): Add stdint.
40459
40460 2009-11-13  Jim Meyering  <meyering@redhat.com>
40461
40462         test-getgroups: avoid compilation failure
40463         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
40464
40465 2009-11-13  Eric Blake  <ebb9@byu.net>
40466
40467         mgetgroups: new module, taken from coreutils
40468         * modules/mgetgroups: New file.
40469         * lib/mgetgroups.h: Likewise.
40470         * lib/mgetgroups.c (mgetgroups): Likewise.
40471         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
40472         * MODULES.html.sh (Users and groups): Mention it.
40473
40474         getgroups: don't expose GETGROUPS_T to user
40475         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
40476         an element at a time if GETGROUPS_T is wrong size.
40477         * lib/getugroups.h (getugroups): Change signature.
40478         * lib/unistd.in.h (getgroups): Likewise.
40479         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
40480         signature needs fixing.
40481         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
40482         AC_TYPE_GETGROUPS.
40483         * modules/group-member (Depends-on): Add getgroups.
40484         * lib/group-member.c (group_info, get_group_info): Use gid_t.
40485         (group_member): Rely on getgroups replacement.
40486         * lib/getugroups.c (getugroups): Use gid_t.
40487         * tests/test-getgroups.c (main): Likewise.
40488         * NEWS: Mention the signature change.
40489         * doc/posix-functions/getgroups.texi (getgroups): Mention the
40490         problem with signature.
40491         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
40492         GETGROUPS_T is still useful for setgroups.
40493
40494         getgroups, getugroups: provide stubs for mingw
40495         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
40496         * lib/getugroups.c (getugroups): Likewise.
40497         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
40498         function.  Modernize replacement scheme.
40499         (gl_PREREQ_GETGROUPS): Delete.
40500         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
40501         * modules/getgroups (configure.ac): Declare witness.
40502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40503         * modules/unistd (Depends-on): Substitute witness.
40504         * lib/unistd.in.h (getgroups): Declare replacement.
40505
40506         getgroups: avoid calling exit
40507         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
40508         drop xalloc.
40509         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
40510         dependencies.
40511         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
40512         exiting, in the rare case of malloc failure.
40513
40514         getgroups: fix logic error
40515         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
40516         has more than 20 groups.
40517         * modules/getgroups-tests: New test.
40518         * tests/test-getgroups.c: New file.
40519
40520 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40521
40522         * tests/test-base64.c: Improve.
40523
40524 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40525
40526         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
40527         Blake <ebb9@byu.net>.
40528
40529 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40530
40531         * tests/test-xvasprintf.c: Add %s%s related checks.
40532
40533 2009-11-12  Eric Blake  <ebb9@byu.net>
40534
40535         version-etc: match standards.texi style
40536         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
40537         and use <> only for URLs.
40538
40539 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
40540
40541         fts: do not fail on a submount during traversal
40542         * lib/fts.c (fts_build): Read the stat info again after opening
40543         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
40544         Original report at http://bugzilla.redhat.com/501848.
40545
40546 2009-11-12  Jim Meyering  <meyering@redhat.com>
40547
40548         bootstrap: sync from coreutils
40549         * build-aux/bootstrap (bootstrap_epilogue): New function.
40550         Use git_modules_config in one more place.  This make bootstrap's
40551         --gnulib-srcdir option more useful for testing.
40552
40553         bootstrap: generalize autoheader check
40554         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
40555         AC_CONFIG_HEADERS.
40556
40557 2009-11-11  Eric Blake  <ebb9@byu.net>
40558
40559         mkfifoat: use new modules for Solaris and BSD bugs
40560         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
40561         * lib/mkfifoat.c (mknodat): Split...
40562         * lib/mknodat.c (mknodat): ...into new file.
40563         * modules/mkfifoat (Files): Ship new file.
40564         (Depends-on): Add mkfifo, mknod.
40565         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
40566         (Depends-on): Add symlink.
40567         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
40568         redundant with test_mkfifo.h.
40569         (do_mkfifoat, do_mknodat): New helpers.
40570
40571         mknod: new module
40572         * modules/mknod: New file.
40573         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
40574         * lib/mknod.c (mknod): Likewise.
40575         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40576         defaults.
40577         * modules/sys_stat (Makefile.am): Substitute them.
40578         * lib/sys_stat.in.h (mknod): Declare replacement.
40579         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40580         Document it.
40581         * doc/posix-functions/mknod.texi (mknod): Likewise.
40582         * modules/mknod-tests: New test.
40583         * tests/test-mknod.c: Likewise.
40584
40585         mkfifo: new module
40586         * modules/mkfifo: New file.
40587         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
40588         * lib/mkfifo.c (mkfifo): Likewise.
40589         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40590         defaults.
40591         * modules/sys_stat (Makefile.am): Substitute them.
40592         * lib/sys_stat.in.h (mkfifo): Declare replacement.
40593         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40594         Document it.
40595         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
40596         * modules/mkfifo-tests: New test.
40597         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
40598         from test-mkfifoat.c.
40599         * tests/test-mkfifo.c: New file.
40600
40601         readlink: detect FreeBSD bug
40602         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
40603         slash on symlink.
40604         * doc/posix-functions/readlink.texi (readlink): Document the bug.
40605         * tests/test-readlink.h (test_readlink): Enhance test.
40606
40607         symlink: detect FreeBSD bug
40608         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
40609         slash on symlink.
40610         * doc/posix-functions/symlink.texi (symlink): Document the bug.
40611         * tests/test-symlink.h (test_symlink): Enhance test.
40612
40613 2009-11-10  Eric Blake  <ebb9@byu.net>
40614
40615         link: detect FreeBSD bug
40616         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
40617         symlink.
40618         * doc/posix-functions/link.texi (link): Document the bug.
40619         * tests/test-link.h (test_link): Enhance test.
40620         * tests/test-linkat.c (main): Update caller.
40621
40622         unlink, remove: detect FreeBSD bug
40623         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
40624         slash on symlink.
40625         * doc/posix-functions/unlink.texi (unlink): Document the bug.
40626         * doc/posix-functions/remove.texi (remove): Likewise.
40627         * tests/test-unlink.h (test_unlink): Enhance test.
40628         * tests/test-remove.c (main): Likewise.
40629
40630 2009-11-09  Eric Blake  <ebb9@byu.net>
40631
40632         rename: detect FreeBSD bug
40633         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
40634         slash on symlink.
40635         * modules/renameat-tests (Depends-on): Add filenamecat.
40636         * tests/test-rename.h (test_rename): Allow one more errno.
40637         * tests/test-renameat.c (main): Likewise.
40638         * doc/posix-functions/rename.texi (rename): Document the bug.
40639
40640         open: detect FreeBSD bug
40641         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
40642         symlink.
40643         * doc/posix-functions/open.texi (open): Document the bug.
40644         * doc/posix-functions/utimes.texi (utimes): Likewise.
40645         * tests/test-open.h (test_open): Add parameters, and test symlink
40646         handling.
40647         * tests/test-open.c (main): Adjust caller.
40648         * tests/test-fcntl-safer.c (main): Likewise.
40649         * modules/open-tests (Depends-on): Add stdbool, symlink.
40650         * modules/fcntl-safer-tests (Depends-on): Likewise.
40651         * tests/test-openat.c (main): Add test-open tests.
40652
40653         stat: detect FreeBSD bug
40654         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
40655         symlink.
40656         * doc/posix-functions/stat.texi (stat): Document the bug.
40657         * tests/test-stat.h (test_stat_func): Add argument.
40658         * tests/test-stat.c (main): Adjust caller.
40659         * tests/test-fstatat.c (main): Likewise.
40660         * modules/stat-tests (Depends-on): Add stdbool, symlink.
40661         Reported by Jim Meyering.
40662
40663 2009-11-09  James Youngman  <jay@gnu.org>
40664
40665         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
40666         * lib/strftime.c: Correct placement of #include "ignore-value.h".
40667
40668 2009-11-08  Jim Meyering  <meyering@redhat.com>
40669
40670         utimens: remove invalid futimesat call
40671         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
40672         It used the file descriptor of the target file as the DIR_FD
40673         parameter and NULL as the file name.  That caused failure with
40674         errno == EFAULT on FreeBSD-8.0-rc2
40675
40676 2009-11-07  Eric Blake  <ebb9@byu.net>
40677
40678         fflush, freadseek: use fseeko, not fseek
40679         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
40680         (clear_ungetc_buffer): Avoid potential problems on large files.
40681         * lib/freadseek.c (freadseek): Likewise.
40682         * modules/freadseek (Depends-on): Add fseeko.
40683         * modules/fseek (configure.ac): Set a witness.
40684         * tests/test-fflush.c (main): Use fseeko.
40685         * tests/test-fpurge.c (fseek): Disable link warning.
40686         * tests/test-freadable.c (fseek): Likewise.
40687         * tests/test-freading.c (fseek): Likewise.
40688         * tests/test-fseeko.c (fseek): Likewise.
40689         * tests/test-ftell.c (fseek): Likewise.
40690         * tests/test-ftello.c (fseek): Likewise.
40691         * tests/test-fwritable.c (fseek): Likewise.
40692         * tests/test-fwriting.c (fseek): Likewise.
40693
40694 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40695
40696         * modules/memchr (Depends-on): Drop getpagesize dependency.
40697
40698 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40699
40700         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
40701         Reported by Ludovic Courtès.
40702         * build-aux/pmccabe2html: Improve example usage.
40703         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
40704
40705 2009-11-06  Jim Meyering  <meyering@redhat.com>
40706
40707         do-release-commit-and-tag: New module.
40708         Automate the release-commit and tag process.
40709         * build-aux/do-release-commit-and-tag: New script, from coreutils.
40710         * modules/do-release-commit-and-tag: New file.
40711         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40712
40713 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40714
40715         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
40716         because test-select.c uses inet_pton.
40717
40718 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40719
40720         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
40721         GETADDRINFO_LIB.  Bump serial number.
40722         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
40723         Suggested by Eric Blake <ebb9@byu.net>.
40724
40725 2009-11-05  Eric Blake  <ebb9@byu.net>
40726
40727         strtod: detect darwin bug
40728         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
40729         Reported by Leo Davis.
40730
40731         freopen-safer: new module
40732         * modules/freopen-safer: New module.
40733         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
40734         * lib/freopen-safer.c (freopen_safer): New file.
40735         * lib/stdio-safer.h (freopen_safer): New declaration.
40736         * lib/stdio--.h (freopen): New override.
40737         * MODULES.html.sh (File stream based Input/Output): Mention it.
40738         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
40739         freopen-safer module.
40740         * doc/posix-functions/stderr.texi (stderr): Likewise.
40741         * doc/posix-functions/stdin.texi (stdin): Likewise.
40742         * doc/posix-functions/stdout.texi (stdout): Likewise.
40743         * modules/freopen-safer-tests: New test.
40744         * tests/test-reopen-safer.c: New file.
40745
40746 2009-11-05  Jim Meyering  <meyering@redhat.com>
40747
40748         maint.mk: Prohibit inclusion of "close-stream.h" without use.
40749         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40750
40751 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40752
40753         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
40754
40755 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40756
40757         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
40758
40759 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40760
40761         Fix link error.
40762         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40763         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40764
40765 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40766
40767         * tests/test-func.c: Also test value of __func__.
40768
40769 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40770
40771         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40772         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40773
40774 2009-11-05  Bruno Haible  <bruno@clisp.org>
40775
40776         Fix link error.
40777         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40778         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40779         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40780
40781 2009-11-05  Bruno Haible  <bruno@clisp.org>
40782
40783         Tests for module 'inet_pton'.
40784         * modules/inet_pton-tests: New file.
40785         * tests/test-inet_pton.c: New file.
40786
40787 2009-11-05  Bruno Haible  <bruno@clisp.org>
40788
40789         Tests for module 'inet_ntop'.
40790         * modules/inet_ntop-tests: New file.
40791         * tests/test-inet_ntop.c: New file.
40792
40793 2009-11-04  Eric Blake  <ebb9@byu.net>
40794
40795         stdlib-safer: wrap all mkstemp variants
40796         * modules/mkostemp (configure.ac): Set witness.
40797         * modules/mkostemps (configure.ac): Likewise.
40798         * modules/mkstemps (configure.ac): Likewise.
40799         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40800         (mkstemps_safer): Wrap more functions.
40801         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40802         wrapping.
40803         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40804         (mkstemps_safer): Implement the wrappers.
40805
40806         mkstemps, mkostemps: new modules
40807         * modules/mkostemps: New module.
40808         * modules/mkstemps: Likewise.
40809         * lib/mkostemps.c (mkostemps): New file.
40810         * lib/mkstemps.c (mkstemps): Likewise.
40811         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40812         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40814         * modules/stdlib (Makefile.am): Substitute them.
40815         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40816         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40817         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40818         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40819         * MODULES.html.sh (File system functions): Mention them.
40820
40821         tempname: resync from glibc
40822         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40823         same values for __GT_FILE as glibc.  Abort even when assertions
40824         are disabled.
40825         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40826         match its value otherwise.  Allow idempotent inclusion.
40827         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40828         * lib/mkostemp.c (mkostemp): Likewise.
40829         * lib/mkstemp.c (mkstemp): Likewise.
40830         * lib/tmpfile.c (tmpfile): Likewise.
40831         * NEWS: Document this.
40832
40833         utimens: fix use of futimens on older Linux
40834         * lib/utimens.c (fdutimens): Use updated, rather than original,
40835         timespec to avoid bug in older Linux kernel.
40836         Reported by Simon Josefsson.
40837
40838 2009-11-04  Bruno Haible  <bruno@clisp.org>
40839
40840         Make num_processors more flexible and consistent.
40841         * lib/nproc.h (enum nproc_query): New type.
40842         (num_processors): Add a 'query' argument.
40843         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40844         (num_processors): Add a 'query' argument. Test the value of the
40845         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40846         mingw, count the number of CPUs available for the current process.
40847         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40848         Check for sched_getaffinity and sched_getaffinity_np.
40849         * modules/nproc (Depends-on): Add c-ctype, extensions.
40850         * NEWS: Mention the change.
40851
40852 2009-11-03  Bruno Haible  <bruno@clisp.org>
40853
40854         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40855
40856 2009-11-03  Jim Meyering  <meyering@redhat.com>
40857
40858         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40859         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40860         if it is defined.
40861
40862 2009-11-02  Eric Blake  <ebb9@byu.net>
40863
40864         mktime, timegm: share common declaration
40865         * lib/mktime-internal.h: New file.
40866         * lib/mktime.c: Use it rather than open-coding a declaration.
40867         * lib/timegm.c: Likewise.
40868         * modules/mktime (Files): Ship it.
40869         * modules/timegm (Files): Likewise.
40870         Suggested by Bruno Haible.
40871
40872         test-update-copyright: update test to match script changes
40873         * tests/test-update-copyright.sh: Avoid hard-coding perl
40874         location.  Don't update *.bak created by earlier runs.
40875
40876 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40877             Simon Josefsson  <simon@josefsson.org>
40878             Bruno Haible  <bruno@clisp.org>
40879
40880         Fix link error on Solaris 8.
40881         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40882         also in libnsl. Define also INET_PTON_LIB.
40883         * modules/inet_pton (Link): New section.
40884
40885 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40886             Bruno Haible  <bruno@clisp.org>
40887
40888         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40889         * modules/inet_ntop (Link): New section.
40890         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40891
40892 2009-11-02  Eric Blake  <ebb9@byu.net>
40893
40894         maint: avoid compiler warnings in m4 macros
40895         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40896         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40897
40898 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40899
40900         * m4/pmccabe2html.m4: Remove file.
40901         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40902         function.  Change maintainer.
40903         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40904         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40905         Courtès).
40906
40907 2009-10-31  Eric Blake  <ebb9@byu.net>
40908
40909         fseeko: fix m4 regression
40910         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40911         regression from 2009-10-27.
40912         Reported by Ralf Wildenhues.
40913
40914 2009-10-31  Jim Meyering  <meyering@redhat.com>
40915
40916         inttostr: aesthetics and improved (compile-time) safety
40917         Define inttype_is_signed rather than inttype_is_unsigned,
40918         since the sole use is via "#if inttype_is_signed".
40919         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40920         inttype_is_unsigned.
40921         * lib/offtostr.c (inttype_is_signed): Likewise.
40922         * lib/uinttostr.c (inttype_is_signed): Likewise.
40923         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40924         * lib/inttostr.c (inttostr): Use verify to cross-check the
40925         inttype_is_signed value and the signedness of the actual type.
40926         * modules/inttostr (Depends-on): Add verify.
40927
40928 2009-10-30  Eric Blake  <ebb9@byu.net>
40929
40930         build: avoid compiler warnings
40931         * lib/fchmodat.c (lchmod): Mark unused variables.
40932         * lib/getopt.c (_getopt_initialize): Likewise.
40933         * lib/mktime.c (__mktime_internal): Provide prototype.
40934         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40935         older gcc that do not understand #pragma GCC diagnostic.
40936         * lib/uinttostr.c (inttype_is_unsigned): Define.
40937         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
40938
40939 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
40940
40941         stat: fix compilation on AIX
40942         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
40943         only see struct stat64.
40944
40945 2009-10-30  Eric Blake  <ebb9@byu.net>
40946
40947         exclude: make more robust
40948         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
40949         rather than masking a coding bug.
40950         Suggested by Bruno Haible.
40951
40952 2009-10-30  Jim Meyering  <meyering@redhat.com>
40953
40954         perl scripts: remove #!/usr/bin/perl in favor of more portable...
40955         Rather than putting #!/usr/bin/perl on the first line,
40956         start with a variant of what's recommended by "man perlrun" that
40957         invokes the first "perl" program from your shell's search path.
40958         * build-aux/gitlog-to-changelog: Replace #!... as above.
40959         Add a "Local Variables" perl mode setting.
40960         Prompted by a patch from Ludovic Courtès.
40961         Improved by Eric Blake.
40962         * build-aux/useless-if-before-free: Likewise.
40963         * build-aux/announce-gen: Likewise.
40964         * build-aux/update-copyright: Likewise.
40965
40966 2009-10-29  Eric Blake  <ebb9@byu.net>
40967
40968         filenamecat-lgpl: adjust clients
40969         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
40970         filenamecat.
40971         * modules/renameat (Depends-on): Likewise.
40972
40973         filenamecat: split into filenamecat-lgpl
40974         * modules/filenamecat-lgpl: New module.
40975         * modules/filenamecat (Files): Move library-safe files into
40976         filenamecat-lgpl.
40977         (Depends-on): Add filenamecat-lgpl.
40978         (configure.ac): Declare witness.
40979         * lib/filenamecat.h (file_name_concat): Only declare when using
40980         GPL module.
40981         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40982         Move...
40983         * lib/filenamecat-lgpl.c: ...into new file.
40984         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40985         (gl_FILE_NAME_CONCAT): Use it.
40986         * MODULES.html.sh (File system functions): Mention new module.
40987
40988         argp: avoid memory leak
40989         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40990         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40991         base_name, since the latter malloc()s and can call exit().
40992         Leak introduced 2006-07-03.
40993
40994         dirname-lgpl: adjust clients that don't need full dirname
40995         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40996         * modules/filenamecat (Depends-on): Likewise.
40997         * modules/linkat (Depends-on): Likewise.
40998         * modules/mkancesdirs (Depends-on): Likewise.
40999         * modules/mkdir (Depends-on): Likewise.
41000         * modules/openat (Depends-on): Likewise.
41001         * modules/savewd (Depends-on): Likewise.
41002         * modules/rename (Depends-on): Likewise.
41003         (License): Relax license.
41004         * modules/mkdir-tests (Depends-on): Drop progname.
41005         (Makefile.am): Delete unneeded LDADD.
41006         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
41007
41008         dirname: split into dirname-lgpl
41009         * modules/dirname-lgpl: New module.
41010         * modules/dirname (Files): Move library-safe files into
41011         dirname-lgpl.
41012         (Depends-on): Add dirname-lgpl.
41013         (configure.ac): Declare witness.
41014         * modules/double-slash-root (License): Relax license.
41015         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
41016         module.
41017         * lib/dirname.c (dir_len, mdir_name): Move...
41018         * lib/dirname-lgpl.c: ...into new file.
41019         * lib/basename.c (last_component, base_len): Move...
41020         * lib/basename-lgpl.c: ...into new file.
41021         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
41022         (gl_DIRNAME): Use it.
41023         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
41024         Mention new module.
41025         * modules/dirname-tests (Depends-on): Add progname.
41026         * tests/test-dirname.c (program_name): Delete.
41027
41028         mkdir: make safe for libraries
41029         * modules/mkdir (Depends-on): Drop xalloc.
41030         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
41031         exit.
41032
41033         tests: avoid some compiler warnings
41034         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
41035         literals.
41036         * tests/test-memchr.c (main): Avoid type mismatch.
41037         * tests/test-arpa_inet.c (main): Avoid unused parameters.
41038         * tests/test-base64.c (main): Likewise.
41039         * tests/test-getdelim.c (main): Likewise.
41040         * tests/test-gethostname.c (main): Likewise.
41041         * tests/test-getline.c (main): Likewise.
41042         * tests/test-netinet_in.c (main): Likewise.
41043         * tests/test-select.c (open_server_socket, main): Likewise.
41044         * tests/test-select-stdin.c (main): Likewise.
41045         * tests/test-sockets.c (main): Likewise.
41046         * tests/test-strsignal.c (main): Likewise.
41047         * tests/test-sys_select.c (main): Likewise.
41048         * tests/test-sys_socket.c (main): Likewise.
41049         * tests/test-u64.c (main): Likewise.
41050         * tests/test-xfprintf-posix.c (main): Likewise.
41051         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
41052
41053         sockets: avoid compiler warning
41054         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
41055
41056         maint: detect usage(1) and other suspicious exits
41057         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
41058
41059 2009-10-29  Jim Meyering  <meyering@redhat.com>
41060
41061         timespec: long-to-int truncation could make timespec_cmp malfunction
41062         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
41063         a multiple of 2^32 nanoseconds as no difference.
41064
41065 2009-10-28  Jim Meyering  <meyering@redhat.com>
41066
41067         fprintftime: wrap macro code argument in "do {...} while(0)"
41068         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
41069         cpy macro must be a statement that can be followed by a semicolon.
41070         Now that the else clause contains a comment and is hence longer
41071         than one line, I require curly braces.  That in turn requires
41072         that we wrap this code block in the standard do...while(0).
41073
41074         fprintftime: remove stray semicolon from previous change
41075         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
41076
41077         fprintftime: avoid a warning about ignored fwrite return value
41078         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
41079         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
41080         that is unsafe.
41081         * modules/fprintftime (Depends-on): Add ignore-value.
41082
41083         exclude: avoid an unwarranted warning
41084         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
41085
41086 2009-10-27  Eric Blake  <ebb9@byu.net>
41087
41088         fseek: avoid compilation failure when fflush is replaced
41089         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
41090         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
41091         module is in use.
41092         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
41093         module is not in use; since REPLACE_FSEEK worked otherwise.
41094         (GNULIB_FTELLO): Likewise for ftell.
41095         Reported by Ian Beckwith and others.
41096
41097 2009-10-27  Bruno Haible  <bruno@clisp.org>
41098
41099         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
41100         Reported by Jim Meyering.
41101
41102 2009-10-27  Jim Meyering  <jim@meyering.net>
41103             Bruno Haible  <bruno@clisp.org>
41104
41105         Avoid warning despite dropping the return value of fwrite.
41106         * lib/unicodeio.c: Include ignore-value.h.
41107         (fwrite_success_callback): Explicitly ignore fwrite's return value.
41108         * modules/unicodeio (Depends-on): Add ignore-value.
41109
41110 2009-10-26  Eric Blake  <ebb9@byu.net>
41111
41112         areadlinkat: fix fallback path
41113         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
41114         pointer and zero.
41115
41116 2009-10-22  Pádraig Brady  <P@draigBrady.com>
41117
41118         Use a better IO block size for modern systems
41119         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
41120         * lib/md2.c: Likewise.
41121         * lib/md4.c: Likewise.
41122         * lib/md5.c: Likewise.
41123         * lib/sha1.c: Likewise.
41124         * lib/sha256.c: Likewise.
41125         * lib/sha512.c: Likewise.
41126
41127 2009-10-22  Eric Blake  <ebb9@byu.net>
41128
41129         tests: avoid several compiler warnings
41130         * tests/test-getcwd.c (main): Avoid buffer underflow.
41131         * tests/test-getdate.c (main): String literals are not safe with
41132         putenv, so use setenv.  Declare unused argument.
41133         * modules/getdate-tests (Depends-on): Add setenv.
41134         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
41135         problems with string literals in char *.
41136         * tests/test-hash.c (main): Avoid shadowing declaration.
41137         (insert_new): Treat string literals as char const *.
41138         * tests/test-getopt.h (test_getopt): Likewise.
41139         (getopt_loop): Alter types to minimize casting elsewhere.
41140         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
41141         (test_getopt_long_posix): Likewise.
41142         (do_getopt_long): Add wrapper to minimize casting.
41143         * tests/test-atexit.c (clear_temp_file): Use void.
41144         * tests/test-areadlink-with-size.c (main): Declare unused
41145         arguments.
41146         * tests/test-areadlink.c (main): Likewise.
41147         * tests/test-areadlinkat-with-size.c (main): Likewise.
41148         * tests/test-areadlinkat.c (main): Likewise.
41149         * tests/test-canonicalize-lgpl.c (main): Likewise.
41150         * tests/test-canonicalize.c (main): Likewise.
41151         * tests/test-dirent-safer.c (main): Likewise.
41152         * tests/test-dirname.c (main): Likewise.
41153         * tests/test-dup2.c (main): Likewise.
41154         * tests/test-fchdir.c (main): Likewise.
41155         * tests/test-fcntl-h.c (main): Likewise.
41156         * tests/test-fcntl-safer.c (main): Likewise.
41157         * tests/test-fdopendir.c (main): Likewise.
41158         * tests/test-fdutimensat.c (main): Likewise.
41159         * tests/test-fflush.c (main): Likewise.
41160         * tests/test-filenamecat.c (main): Likewise.
41161         * tests/test-filevercmp.c (main): Likewise.
41162         * tests/test-fopen-safer.c (main): Likewise.
41163         * tests/test-fopen.c (main): Likewise.
41164         * tests/test-fpending.c (main): Likewise.
41165         * tests/test-fpurge.c (main): Likewise.
41166         * tests/test-freading.c (main): Likewise.
41167         * tests/test-fstatat.c (main): Likewise.
41168         * tests/test-fsync.c (main): Likewise.
41169         * tests/test-futimens.c (main): Likewise.
41170         * tests/test-getndelim2.c (main): Likewise.
41171         * tests/test-gettimeofday.c (main): Likewise.
41172         * tests/test-getopt.c (main): Likewise.
41173         * tests/test-i-ring.c (main): Likewise.
41174         * tests/test-inttypes.c (main): Likewise.
41175         * tests/test-link.c (main): Likewise.
41176         * tests/test-lstat.c (main): Likewise.
41177         * tests/test-math.c (main): Likewise.
41178         * tests/test-md5.c (main): Likewise.
41179         * tests/test-memchr2.c (main): Likewise.
41180         * tests/test-memrchr.c (main): Likewise.
41181         * tests/test-mkdir.c (main): Likewise.
41182         * tests/test-mkdirat.c (main): Likewise.
41183         * tests/test-mkfifoat.c (main): Likewise.
41184         * tests/test-open.c (main): Likewise.
41185         * tests/test-openat-safer.c (main): Likewise.
41186         * tests/test-openat.c (main): Likewise.
41187         * tests/test-quotearg.c (main): Likewise.
41188         * tests/test-rawmemchr.c (main): Likewise.
41189         * tests/test-readlink.c (main): Likewise.
41190         * tests/test-remove.c (main): Likewise.
41191         * tests/test-rename.c (main): Likewise.
41192         * tests/test-renameat.c (main): Likewise.
41193         * tests/test-rmdir.c (main): Likewise.
41194         * tests/test-sha1.c (main): Likewise.
41195         * tests/test-signal.c (main): Likewise.
41196         * tests/test-sigaction.c (main): Likewise.
41197         * tests/test-stat.c (main): Likewise.
41198         * tests/test-stat-time.c (main): Likewise.
41199         * tests/test-stddef.c (main): Likewise.
41200         * tests/test-stdint.c (main): Likewise.
41201         * tests/test-stdio.c (main): Likewise.
41202         * tests/test-stdlib.c (main): Likewise.
41203         * tests/test-strchrnul.c (main): Likewise.
41204         * tests/test-strerror.c (main): Likewise.
41205         * tests/test-string.c (main): Likewise.
41206         * tests/test-strtod.c (main): Likewise.
41207         * tests/test-strverscmp.c (main): Likewise.
41208         * tests/test-symlink.c (main): Likewise.
41209         * tests/test-symlinkat.c (main): Likewise.
41210         * tests/test-sys_stat.c (main): Likewise.
41211         * tests/test-sys_time.c (main): Likewise.
41212         * tests/test-time.c (main): Likewise.
41213         * tests/test-unistd.c (main): Likewise.
41214         * tests/test-unlink.c (main): Likewise.
41215         * tests/test-unlinkat.c (main): Likewise.
41216         * tests/test-utimens.c (main): Likewise.
41217         * tests/test-utimensat.c (main): Likewise.
41218         * tests/test-version-etc.c (main): Likewise.
41219         * tests/test-wchar.c (main): Likewise.
41220         * tests/test-wctype.c (main): Likewise.
41221         * tests/test-xprintf-posix.c (main): Likewise.
41222         * tests/test-posixtm.c (main): Likewise.
41223         (STREQ): Delete unused macro.
41224         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
41225         shadowed variables.
41226         * tests/test-memchr.c (main): Likewise.
41227
41228 2009-10-21  Eric Blake  <ebb9@byu.net>
41229
41230         areadlinkat: avoid failure on older glibc
41231         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
41232         rather than mis-comparing 0 against FUNC_RESULT of char*.
41233
41234 2009-10-21  Bruno Haible  <bruno@clisp.org>
41235
41236         * modules/stpncpy (License): Relicense under LGPLv2+.
41237         Reported by David Lutterkort <lutter@redhat.com>.
41238
41239 2009-10-20  Eric Blake  <ebb9@byu.net>
41240
41241         utimensat: work around Solaris 9 bug
41242         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
41243         has trailing slash bugs.
41244         * tests/test-lutimens.h (test_lutimens): Enhance test.
41245         * tests/test-utimens.h (test_utimens): Likewise.
41246         * doc/posix-functions/utime.texi (utime): Enhance documentation.
41247         * doc/posix-functions/utimes.texi (utimes): Likewise.
41248         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41249         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
41250         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
41251         * doc/posix-functions/futimens.texi (futimens): Likewise.
41252
41253         fdutimensat: new module
41254         * modules/fdutimensat: New file.
41255         * lib/fdutimensat.c (fdutimensat): Likewise.
41256         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
41257         * MODULES.html.sh (File system functions): Mention module.
41258         * modules/fdutimensat-tests: New test.
41259         * tests/test-fdutimensat.c: Likewise.
41260
41261         doc: regenerate INSTALL
41262         * doc/INSTALL: Reflect recent autoconf update.
41263         * doc/INSTALL.ISO: Likewise.
41264         * doc/INSTALL.UTF-8: Likewise.
41265
41266 2009-10-20  Pádraig Brady  <P@draigBrady.com>
41267
41268         acl: warn if ACL support is not detected
41269         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
41270
41271 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
41272
41273         * lib/nproc.h: Add extern "C" block for C++.
41274
41275 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
41276             Bruno Haible  <bruno@clisp.org>
41277
41278         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
41279         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
41280         * doc/posix-functions/isalpha.texi: Likewise.
41281         * doc/posix-functions/isblank.texi: Likewise.
41282         * doc/posix-functions/iscntrl.texi: Likewise.
41283         * doc/posix-functions/isdigit.texi: Likewise.
41284         * doc/posix-functions/isgraph.texi: Likewise.
41285         * doc/posix-functions/islower.texi: Likewise.
41286         * doc/posix-functions/isprint.texi: Likewise.
41287         * doc/posix-functions/ispunct.texi: Likewise.
41288         * doc/posix-functions/isspace.texi: Likewise.
41289         * doc/posix-functions/isupper.texi: Likewise.
41290         * doc/posix-functions/isxdigit.texi: Likewise.
41291
41292 2009-10-18  Bruno Haible  <bruno@clisp.org>
41293
41294         Tests for module 'isblank'.
41295         * modules/isblank-tests: New file.
41296         * tests/test-isblank.c: New file.
41297
41298         New module 'isblank'.
41299         * lib/isblank.c: New file.
41300         * m4/isblank.m4: New file.
41301         * modules/isblank: New file.
41302         * doc/posix-functions/isblank.texi: Mention the new module.
41303
41304 2009-10-18  Bruno Haible  <bruno@clisp.org>
41305
41306         New module 'ctype'.
41307         * lib/ctype.in.h: New file.
41308         * m4/ctype.m4: New file.
41309         * modules/ctype: New file.
41310         * doc/posix-headers/ctype.texi: Mention the new module.
41311
41312 2009-10-18  Jim Meyering  <meyering@redhat.com>
41313
41314         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
41315         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
41316         right after its initialization, rather than farther down.
41317         Keeping these in close proximity makes it easier to ensure
41318         that each such variable is initialized.  E.g.,
41319
41320             LIB_CLOCK_GETTIME=
41321             AC_SUBST([LIB_CLOCK_GETTIME])
41322
41323         This change also increments these serial numbers.
41324         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
41325         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41326         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41327
41328 2009-10-18  Bruno Haible  <bruno@clisp.org>
41329
41330         Don't let environment variables perturb build.
41331         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
41332         (gl_PREREQ_GETHRXTIME): ... not here.
41333
41334 2009-10-18  Bruno Haible  <bruno@clisp.org>
41335
41336         Avoid symlink attack in localcharset module.
41337         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
41338         (O_NOFOLLOW): Define fallback.
41339         (get_charset_aliases): Don't open the file if it is a symbolic link.
41340         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
41341         gl_FCNTL_H.
41342         (gl_FCNTL_H): Require it.
41343         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41344         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41345         Reported by Fergal Glynn <fglynn@veracode.com>.
41346
41347 2009-10-18  Bruno Haible  <bruno@clisp.org>
41348
41349         Implement nproc for mingw.
41350         * lib/nproc.c: Include <windows.h>
41351         (num_processors): On native Windows platforms, try GetSystemInfo.
41352
41353 2009-10-18  Bruno Haible  <bruno@clisp.org>
41354
41355         Implement nproc for IRIX.
41356         * lib/nproc.c: Include <sys/sysmp.h>.
41357         (num_processors): On IRIX systems, try sysmp.
41358         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41359
41360 2009-10-18  Bruno Haible  <bruno@clisp.org>
41361
41362         Implement nproc for HP-UX.
41363         * lib/nproc.c: Include <sys/pstat.h>
41364         (num_processors): On HP-UX systems, try pstat_getdynamic.
41365         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41366         pstat_getdynamic.
41367
41368 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41369             Bruno Haible  <bruno@clisp.org>
41370
41371         Implement nproc for NetBSD, OpenBSD.
41372         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41373         (ARRAY_SIZE): New macro.
41374         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41375         * m4/nproc.m4: New file.
41376         * modules/nproc (Files): Add m4/nproc.m4.
41377         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41378         (Makefile.am): Instead, augment lib_SOURCES.
41379
41380 2009-10-18  Bruno Haible  <bruno@clisp.org>
41381
41382         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41383         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41384         sys/param.h.
41385
41386 2009-10-16  Eric Blake  <ebb9@byu.net>
41387
41388         utimensat: new module
41389         * modules/utimensat: New file.
41390         * lib/utimensat.c (utimensat): Likewise.
41391         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41392         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41393         so we can work around Linux bugs.
41394         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41395         * modules/sys_stat (Makefile.am): Substitute them.
41396         * lib/sys_stat.in.h (utimensat): Declare it.
41397         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41398         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41399         * modules/utimensat-tests: New test.
41400         * tests/test-utimensat.c: Likewise.
41401
41402         utimens: let lutimens work on non-symlinks
41403         * lib/utimens.c (lutimens): Fall back to utimens rather than
41404         failing with ENOSYS, when file is not a symlink.
41405         (utimens): Reduce redirection.
41406         * tests/test-lutimens.h (test_lutimens): Update test to cover
41407         non-symlinks.
41408         * tests/test-utimens.h (test_utimens): Update test to cover
41409         symlinks.
41410         * tests/test-utimens.c (main): Update caller.
41411
41412         utimens: cache whether utimensat syscall works
41413         * lib/utimens.c (utimensat_works_really): New cache variable.
41414         (fdutimens, lutimens): Use it to avoid failing syscall.
41415
41416         test-stat-time, test-utimens: improve portability
41417         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
41418         ext4 on alpha, and for cygwin.
41419         * tests/test-utimens-common.h: New file.
41420         (nap): Factor delays into single function.
41421         * tests/test-lutimens.h (test_lutimens): Use new header.
41422         * tests/test-futimens.h (test_futimens): Likewise.
41423         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
41424         timestamps to occur from same machine, as was done previously for
41425         test_utimens.
41426         * modules/utimens-tests (Files): Ship new file.
41427         * modules/futimens-tests (Files): Likewise.
41428         Reported in part by Jim Meyering.
41429
41430         sys_stat: sort replacement declarations
41431         * lib/sys_stat.in.h: Sort declarations.
41432         * lib/futimens.c (futimens): Fix typo.
41433
41434 2009-10-15  Jim Meyering  <meyering@redhat.com>
41435
41436         don't let environment settings perturb build
41437         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
41438         could cause a configure-time and/or build-time malfunction.
41439         Typically, a configure-time function-in-library test is performed
41440         via code like this:
41441
41442           LIB_VAR=
41443           AC_SUBST([LIB_VAR])
41444           prefix_saved_LIBS=$LIBS
41445             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
41446                        [test "$ac_cv_search_FUNC" = "none required" ||
41447                         LIB_VAR=$ac_cv_search_FUNC])
41448           LIBS=$prefix_saved_LIBS
41449
41450         However, in each of the files affected by this change, the LIB_VAR=
41451         initialization was omitted.  Thus, when set in the environment, its
41452         value would propagate into generated Makefiles when FUNC is not found
41453         in LIB_NAME.
41454         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
41455         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41456         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41457
41458 2009-10-14  Eric Blake  <ebb9@byu.net>
41459
41460         fchdir: avoid infinite recursion in mingw
41461         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
41462         recursing.
41463
41464         test-stat-time: port to mingw
41465         * tests/test-stat-time.c (force_unlink): Return a value.
41466         (test_ctime) [W32]: Fix compilation error.
41467         (nap): Don't call usleep with too large an argument.  Use
41468         force_unlink.
41469         * doc/pastposix-functions/usleep.texi (usleep): Document the
41470         portability issue.
41471
41472 2009-10-13  Jim Meyering  <meyering@redhat.com>
41473
41474         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
41475         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
41476         * modules/pipe-filter-ii: Likewise.
41477         * modules/sys_socket-tests: Likewise.
41478         * modules/tsearch-tests: Likewise.
41479         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
41480         (check): Depend on it.
41481
41482 2009-10-12  Eric Blake  <ebb9@byu.net>
41483
41484         utimens-tests: port to NFS file systems
41485         * tests/test-utimens.h (test_utimens): Refactor utimecmp
41486         comparisons to avoid spurious failures from timestamp drift
41487         between NFS machines.
41488
41489 2009-10-12  Eric Blake  <ebb9@byu.net>
41490
41491         stat-time-tests: minor cleanups
41492         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
41493         * tests/test-stat-time.c (nap): Separate assignment from call.
41494         Suggested by Paolo Bonzini and Bruno Haible.
41495
41496         sys_stat: guarantee struct timespec
41497         * lib/sys_stat.in.h (includes): Always include <time.h>
41498         * modules/sys_stat (Depends-on): Add time.
41499         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
41500         mode_t permission values.
41501         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
41502         get at subsecond timestamps.
41503
41504 2009-10-10  Eric Blake  <ebb9@byu.net>
41505
41506         futimens: new module
41507         * modules/futimens: New file.
41508         * lib/futimens.c (futimens): Likewise.
41509         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
41510         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
41511         we can work around Linux bugs.
41512         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41513         * modules/sys_stat (Makefile.am): Substitute them.
41514         * lib/sys_stat.in.h (futimens): Declare it.
41515         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41516         * doc/posix-functions/futimens.texi (futimens): Likewise.
41517         * modules/futimens-tests: New test.
41518         * tests/test-futimens.c: Likewise.
41519
41520         utimens: introduce fdutimens
41521         * lib/utimens.h (fdutimens): New prototype.
41522         * lib/utimens.c (gl_futimens): Move guts...
41523         (fdutimens): ...to new interface.
41524         * tests/test-utimens.c (do_fdutimens): Use it.
41525
41526         utimens: add UTIME_NOW and UTIME_OMIT support
41527         * lib/utimens.c (validate_timespec, update_timespec): New helper
41528         functions.
41529         (gl_futimens, lutimens): Use them.
41530         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
41531         stdbool, sys_stat.
41532         (Link): Mention resulting library dependency.
41533         * modules/utimecmp (Link): Likewise.
41534         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
41535         (Makefile.am): Pick up library dependency.
41536         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
41537         definition.
41538         * tests/test-sys_stat.c: Test the definitions.
41539         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
41540         * NEWS: Document library dependency.
41541
41542         utimecmp: support symlink timestamps
41543         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
41544         hashing when possible.  Use pathconf when available.
41545         (SYSCALL_RESOLUTION): Recognize tighter resolution.
41546         * modules/utimecmp (Depends-on): Add lstat.
41547
41548         utimens: add lutimens interface
41549         * lib/utimens.c (lutimens): New function.
41550         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
41551         * lib/utimens.h (lutimens): Declare new interface.
41552         * tests/test-utimens.c (main): Enhance test.
41553         * tests/test-lutimens.h (test_lutimens): New file.
41554         * modules/utimens-tests (Files): Distribute it.
41555         (Depends-on): Add symlink.
41556         (configure.ac): Check for usleep.
41557
41558         utimens: validate futimens usage
41559         * lib/utimens.c (gl_futimens): Require valid fd up front, using
41560         fewer syscalls on failure later on.  Avoid compiler warning on
41561         mingw.
41562         * modules/utimens (Depends-on): Add dup2.
41563
41564         utimens: add test
41565         * modules/utimens-tests: New test.
41566         * tests/test-utimens.h: New file.
41567         * tests/test-futimens.h: Likewise.
41568         * tests/test-utimens.c: Likewise.
41569
41570         doc: mention timestamp portability issues
41571         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
41572         instead.
41573         * doc/posix-functions/utime.texi (utime): Likewise.
41574         * doc/posix-functions/utimes.texi (utimes): Likewise.
41575         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
41576         instead.
41577         * doc/posix-functions/futimens.texi (futimens): Mention utimens
41578         module.
41579         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41580         Mention weakness with symlink timestamps.
41581         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
41582         to utimensat/futimens instead.
41583         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
41584
41585         test-dup2: enhance test
41586         * tests/test-dup2.c (main): Also check AT_FDCWD.
41587
41588         test-stat-time: avoid more spurious failures
41589         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
41590         xfs; and avoid race if the two timestamps cross quantization edge.
41591
41592         relocatable: prefer 'file system' over 'filesystem'
41593         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
41594         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
41595         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
41596         * doc/relocatable.texi (Enabling Relocatability): Likewise.
41597         * lib/relocatable.c (compute_curr_prefix): Likewise.
41598
41599 2009-10-10  Jim Meyering  <meyering@redhat.com>
41600
41601         stat-time-tests: check for the usleep function
41602         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
41603
41604 2009-10-10  Bruno Haible  <bruno@clisp.org>
41605
41606         * modules/xnanosleep: Put the Link section after the Include section.
41607
41608 2009-10-09  Eric Blake  <ebb9@byu.net>
41609
41610         dup2: work around FreeBSD 6.1 bug
41611         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
41612         * doc/posix-functions/dup2.texi (dup2): Document it.
41613         Reported by Nelson H. F. Beebe and Jim Meyering.
41614
41615         test-stat-time: port to buggy NFS clients
41616         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
41617         (test_ctime): Also skip test if mtime and ctime are skewed.
41618
41619         maint: prefer 'file system' over 'filesystem'
41620         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41621         * doc/posix-functions/lstat.texi (lstat): Likewise.
41622         * lib/file-has-acl.c (file_has_acl): Likewise.
41623         * lib/fwriteerror.c [TEST]: Likewise.
41624         * tests/test-areadlink.h (test_areadlink): Likewise.
41625         * tests/test-areadlinkat-with-size.c (main): Likewise.
41626         * tests/test-areadlinkat.c (main): Likewise.
41627         * tests/test-canonicalize-lgpl.c (main): Likewise.
41628         * tests/test-canonicalize.c (main): Likewise.
41629         * tests/test-fstatat.c (main): Likewise.
41630         * tests/test-linkat.c (main): Likewise.
41631         * tests/test-lstat.h (test_lstat_func): Likewise.
41632         * tests/test-mkdir.h (test_mkdir): Likewise.
41633         * tests/test-readlink.h (test_readlink): Likewise.
41634         * tests/test-remove.c (main): Likewise.
41635         * tests/test-rename.h (test_rename): Likewise.
41636         * tests/test-renameat.c (main): Likewise.
41637         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41638         * tests/test-symlink.h (test_symlink): Likewise.
41639         * tests/test-symlinkat.c (main): Likewise.
41640         * tests/test-unlink.h (test_unlink_func): Likewise.
41641         * tests/test-unlinkat.c (main): Likewise.
41642
41643         maint: make realtime library usage explicit
41644         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
41645         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
41646         * modules/settime (Link): Likewise.
41647         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
41648
41649         test-stat-time: speed up execution
41650         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
41651         warning on mingw.
41652         (nap): New helper function.
41653         (prepare_test): Use it to reduce sleep time.
41654         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
41655         execution.
41656         * modules/stat-time-tests (configure.ac): Check for usleep.
41657
41658 2009-10-09  Jim Meyering  <meyering@redhat.com>
41659
41660         selinux-h: always use getfilecon wrappers
41661         * lib/getfilecon.c: New file.
41662         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
41663         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
41664         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
41665         (fgetfilecon): Provide a stub.
41666         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
41667         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
41668         file unconditionally.
41669         When <selinux/selinux.h> is found, arrange to use wrappers.
41670         * modules/selinux-h (Files): Add getfilecon.c.
41671         (Makefile.am): Substitute include-next-related bits
41672         into the now-always-generated selinux/selinux.h file.
41673         * doc/glibc-functions/lgetfilecon.texi: New file.
41674         * doc/glibc-functions/fgetfilecon.texi: New file.
41675         * doc/glibc-functions/getfilecon.texi: New file.
41676         * doc/glibc-functions/getfilecon-desc.texi: New file.
41677         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
41678         which to pull in the new files.
41679         * MODULES.html.sh (Misc): Add selinux-h.
41680
41681 2009-10-08  Jim Meyering  <meyering@redhat.com>
41682
41683         unistd: fix comment typo
41684         * lib/unistd.in.h (euidaccess): Fix a comment typo.
41685
41686 2009-10-08  Eric Blake  <ebb9@byu.net>
41687
41688         areadlink: use SIZE_MAX consistently
41689         * modules/areadlink (Depends-on): Add stdint.
41690         * modules/areadlink-with-size (Depends-on): Likewise.
41691         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
41692         gives NULL; drop sys/types, since unistd gives size_t; and add
41693         stdint for SIZE_MAX.
41694         (SIZE_MAX): Rely on headers.
41695         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
41696         and add stdint.
41697         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
41698         (SIZE_MAX): Likewise.
41699         (INITIAL_BUF_SIZE): Turn into enum.
41700         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
41701
41702 2009-10-08  Jim Meyering  <meyering@redhat.com>
41703
41704         areadlinkat: avoid compilation failure
41705         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
41706         Fix typo in comment.
41707
41708 2009-10-07  Eric Blake  <ebb9@byu.net>
41709
41710         areadlinkat-with-size: new module
41711         * modules/areadlinkat-with-size: New module.
41712         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
41713         * lib/areadlink.h (areadlinkat): Declare it.
41714         * MODULES.html.sh (File system functions): Mention it.
41715         * modules/areadlinkat-with-size-tests: New test.
41716         * tests/test-areadlinkat-with-size.c: New file.
41717
41718         xreadlinkat: new module
41719         * modules/xreadlinkat: New module.
41720         * lib/xreadlinkat.c (xreadlinkat): New file.
41721         * lib/xreadlink.h (xreadlinkat): Declare it.
41722         * MODULES.html.sh (File system functions): Mention it.
41723
41724         areadlinkat: new module
41725         * lib/at-func.c (FUNC_FAIL): New define.
41726         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
41727         * modules/areadlinkat: New module.
41728         * lib/linkat.c (areadlinkat): Move...
41729         * lib/areadlinkat.c (areadlinkat): ...to new file.
41730         * lib/areadlink.h (areadlinkat): Declare it.
41731         * modules/linkat (Depends-on): Add areadlinkat.
41732         * MODULES.html.sh (File system functions): Mention it.
41733         * modules/areadlinkat-tests: New test.
41734         * tests/test-areadlinkat.c: New file.
41735
41736         areadlink, areadlink-with-size: add tests
41737         * modules/areadlink-tests: New test.
41738         * modules/areadlink-with-size-tests: Likewise.
41739         * tests/test-areadlink.h: New file.
41740         * tests/test-areadlink.c: Likewise.
41741         * tests/test-areadlink-with-size.c: Likewise.
41742
41743         maint: minor cleanups
41744         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
41745         _UNUSED_PARAMETER_ instead.
41746         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
41747         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
41748         * modules/linkat-tests (Files): Distribute test-link.h.
41749
41750         openat, utimens: whitespace cleanup
41751         * lib/openat.c: Prefer space throughout, rather than mix of 8
41752         spaces vs. tabs.
41753         * lib/at-func.c: Likewise.
41754         * lib/utimens.c: Likewise.
41755
41756         openat: avoid using wrong fd
41757         * lib/openat.c (openat_permissive): Reject user's fd if saving the
41758         working directory chooses same fd.
41759         * lib/at-func.c (AT_FUNC_NAME): Likewise.
41760
41761         mkdir, mkdirat: fix cygwin 1.5.x bug
41762         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
41763         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
41764         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
41765         bug.
41766         (gl_PREREQ_MKDIR): Delete unused macro.
41767         * modules/mkdir (Files): Track file rename.
41768         (configure.ac): Update macro name.
41769         * modules/openat (Depends-on): Add mkdir.
41770         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41771
41772         mkdir, mkdirat: add tests
41773         * modules/mkdir-tests: New test.
41774         * tests/test-mkdir.h: New file.
41775         * tests/test-mkdir.c: Likewise.
41776         * tests/test-mkdirat.c: Likewise.
41777         * modules/openat-tests (Files): Add new files.
41778         (Makefile.am): Run new test.
41779
41780 2009-10-06  Eric Blake  <ebb9@byu.net>
41781
41782         doc: tweak *at function documentation
41783         * doc/posix-functions/faccessat.texi (faccessat): Mention
41784         known issue with replacement.
41785         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41786         * doc/posix-functions/linkat.texi (linkat): Likewise.
41787         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41788         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41789         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41790         * doc/posix-functions/renameat.texi (renameat): Likewise.
41791         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41792
41793         openat: fix GNU/Hurd bug in unlinkat
41794         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41795         broken.
41796         * doc/posix-functions/unlink.texi (unlink): Document this.
41797         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41798
41799         fdopendir: fix GNU/Hurd bug
41800         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41801         allowing non-directory fds.
41802         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41803         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41804         * modules/dirent (Makefile.am): Substitute it.
41805         * lib/dirent.in.h (fdopendir): Declare replacement.
41806         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41807         * tests/test-fdopendir.c (main): Test something other than
41808         /dev/null, since on Hurd that behaves like a directory.
41809
41810         test-symlink: port to GNU/Hurd
41811         * tests/test-symlink.h (test_symlink): Relax expected errno.
41812
41813         doc: tweak more cygwin information
41814         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41815         now compatible with glibc.
41816         * doc/posix-functions/getopt.texi (getopt): Likewise.
41817
41818         getopt-gnu: add another test
41819         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41820         guarantee behavior relied on by m4.
41821         * tests/test-getopt.c (main): Use it.
41822         * modules/getopt-posix-tests (Depends-on): Add setenv.
41823         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41824
41825         getopt: fix compilation on darwin
41826         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41827         include.
41828         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41829         Reported by Ludovic Courtès.
41830
41831 2009-10-06  Bruno Haible  <bruno@clisp.org>
41832
41833         * modules/size_max (Description): Discourage its use.
41834         Reported by Simon Josefsson.
41835
41836 2009-10-06  Jim Meyering  <meyering@redhat.com>
41837
41838         linkat: avoid compilation failure
41839         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41840
41841 2009-10-05  Eric Blake  <ebb9@byu.net>
41842
41843         linkat: support Linux 2.6.17
41844         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41845         linkat on Linux, but allow cache variable override.
41846         * lib/linkat.c (rpl_linkat): Define override.
41847         * modules/linkat (Depends-on): Add symlinkat.
41848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41849         * modules/unistd (Makefile.am): Substitute it.
41850         * lib/unistd.in.h (linkat): Declare replacement.
41851         Reported by Pádraig Brady.
41852
41853         quotearg: port test to systems with C.UTF-8 locale
41854         * tests/test-quotearg.c (struct result_strings): Add another
41855         member, differentiating between C.ASCII and C.UTF-8 handling.
41856         (compare_strings): Add parameter.
41857         (main): Adjust all callers.
41858
41859         getopt: avoid clash with FreeBSD _getopt_internal
41860         * lib/getopt.in.h (_getopt_internal): Override the name.
41861         * lib/getopt_int.h (includes): Pick up any overrides.
41862         Reported by Reuben Thomas.
41863
41864         hash: allow C89 compilation
41865         * lib/hash.c (check_tuning): Move declaration before statement.
41866         Reported by Reuben Thomas.
41867
41868 2009-10-05  Karl Berry  <karl@gnu.org>
41869
41870         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41871
41872 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41873             Bruno Haible  <bruno@clisp.org>
41874
41875         * lib/uname.c (uname): Use a table-driven algorithm to compute
41876         Windows NT versions.
41877
41878 2009-10-04  Bruno Haible  <bruno@clisp.org>
41879
41880         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41881         program_invocation_short_name.
41882         * modules/progname (configure.ac): Test for presence of
41883         program_invocation_short_name.
41884         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41885
41886 2009-10-04  Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/progname.c (set_program_name): Fix comment.
41889         Reported by Jim Meyering.
41890
41891 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41892             Bruno Haible  <bruno@clisp.org>
41893
41894         * lib/uname.c: Include <string.h>.
41895         (uname): Do only one call to GetVersionEx in the common case.
41896
41897 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41898             Bruno Haible  <bruno@clisp.org>
41899
41900         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41901         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41902         (uname): Add support for Windows CE and various non-x86 CPU types.
41903
41904 2009-10-03  Bruno Haible  <bruno@clisp.org>
41905
41906         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41907         invocation to tests/configure.ac.
41908         Reported by Ian Beckwith <ianb@erislabs.net>.
41909
41910 2009-10-02  Eric Blake  <ebb9@byu.net>
41911
41912         fchdir: avoid compiler warning
41913         * lib/fchdir.c (canonicalize_file_name)
41914         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41915
41916         test-open: support mingw errno values
41917         * tests/test-open.h (test_open): Relax test.
41918         * tests/test-fopen.h (test_fopen): Likewise.
41919         * tests/test-openat-safer.c (main): Likewise.
41920
41921         open: fix opening directory on mingw
41922         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41923
41924         test-open: on GNU/Hurd, /dev/null is a directory
41925         * tests/test-fopen.h (main): Rename...
41926         (test_fopen): ...to this.  Use a guaranteed non-directory when
41927         confirming open behavior on trailing slash.
41928         * tests/test-openat-safer.c (main): Likewise.
41929         * tests/test-open.h (main): Likewise....
41930         (test_open): ...to this.
41931         * tests/test-fopen.c (main): Adjust caller.
41932         * tests/test-fopen-safer.c (main): Likewise.
41933         * tests/test-open.c (main): Likewise.
41934         * tests/test-fcntl-safer.c (main): Likewise.
41935         Reported by Samuel Thibault.
41936
41937         rename, fchdir: don't ignore chdir failure
41938         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
41939         * lib/rename.c (rpl_rename) [W32]: Likewise.
41940         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
41941         an empty destination directory if source cannot be renamed,
41942         although there is still possibility for failure.
41943         * doc/posix-functions/rename.texi (rename): Document the race.
41944         Reported by Jim Meyering.
41945
41946         maint: cleanup whitespace in recent commits
41947         * lib/rename.c (rpl_rename): Remove tabs.
41948         * tests/test-link.h (test_link): Likewise.
41949         * lib/fchdir.c (get_name): Likewise.
41950         Reported by Jim Meyering.
41951
41952 2009-10-02  Ben Pfaff  <blp@gnu.org>
41953
41954         relocatable-prog-wrapper: Add missing dependency on
41955         double-slash-root.
41956         * modules/relocatable-prog-wrapper: Add dependency.
41957         Reported by Ian Beckwith <ianb@erislabs.net>.
41958
41959 2009-10-02  Eric Blake  <ebb9@byu.net>
41960
41961         renameat: fix Solaris bugs
41962         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
41963         needed fixing.
41964         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
41965         * modules/stdio (Makefile.am): Substitute it.
41966         * lib/stdio.in.h (renameat): Declare replacement.
41967         * lib/renameat.c (rpl_renameat): Implement fix.
41968
41969         renameat: new module
41970         * modules/renameat: New file.
41971         * lib/renameat.c (renameat): Likewise.
41972         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
41973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41974         * modules/stdio (Makefile.am): Substitute them.
41975         * lib/stdio.in.h (renameat): Declare it.
41976         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41977         * doc/posix-functions/renameat.texi (renameat): Likewise.
41978         * modules/renameat-tests: New test.
41979         * tests/test-renameat.c: Likewise.
41980
41981         rename: fix mingw bugs
41982         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41983         directory overwrite bugs.
41984
41985         rename: fix another cygwin 1.5 bug
41986         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41987         checks.
41988         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41989         unnecessary cygwin workarounds.  Also work around bug with moving
41990         full directory onto an empty one.
41991         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41992
41993         rename-dest-slash: merge into rename module
41994         * modules/rename-dest-slash (Status): Mark obsolete.
41995         (Depends-on): Add rename.
41996         (Files): Let rename do it all.
41997         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41998         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41999         * m4/rename-dest-slash.m4: ...so this file can be deleted.
42000         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
42001         * lib/rename.c (rpl_rename): Update comments.
42002
42003         rename: fix cygwin 1.5.x bugs
42004         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
42005         * lib/rename.c (rpl_rename): Work around them.
42006         * modules/rename (Depends-on): Add same-inode.
42007
42008         rename: fix Solaris 10 bug
42009         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42010         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
42011         was the only bug.
42012
42013         rename: fix Solaris 9 bug
42014         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
42015         on non-directory.  Avoid calling exit.
42016         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
42017         strdup.
42018         * modules/rename-tests (Depends-on): Drop lstat.
42019         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42020         (gl_PREREQ_RENAME): Delete unused macro.
42021
42022         rename-dest-slash: fix NetBSD bug
42023         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
42024         links.
42025         * modules/rename-dest-slash (Depends-on): Add same-inode.
42026
42027         rename-tests: new test, exposes several platform bugs
42028         * modules/rename-tests: New file.
42029         * tests/test-rename.h: Likewise.
42030         * tests/test-rename.c: Likewise.
42031         * doc/posix-functions/rename.texi (rename): Improve documentation,
42032         including bugs that will eventually be fixed in gnulib.
42033
42034 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
42035
42036         * lib/uname.c: Include <stdlib.h>
42037         (uname): Assume version info is available.
42038
42039 2009-10-02  Jim Meyering  <meyering@redhat.com>
42040
42041         gnu-web-doc-update: correct --help output
42042         * build-aux/gnu-web-doc-update: Make --help output relevant.
42043
42044         gnu-web-doc-update: add standard options
42045         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
42046
42047         gnu-web-doc-update: New module.
42048         Use this script to automatically update the on-line web documentation
42049         for your GNU project at http://www.gnu.org/software/$pkg/manual/
42050         * modules/gnu-web-doc-update: New file, from coreutils.
42051         * build-aux/gnu-web-doc-update: New script.
42052
42053 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
42054
42055         link: LoadLibrary is not needed.
42056         * lib/link.c: Use GetModuleHandle.
42057
42058 2009-10-01  Eric Blake  <ebb9@byu.net>
42059
42060         getopt: bump serial number
42061         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
42062         change.
42063
42064         tests: tighten link, rmdir, and remove tests
42065         * tests/test-link.h (includes): No need to use <config.h> here.
42066         Clean up if directory hard link was created, otherwise test for
42067         trailing '.'.
42068         * tests/test-linkat.c (main): Simplify.
42069         * tests/test-remove.c (main): Enhance test for trailing '.'.
42070         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42071
42072 2009-10-01  Jim Meyering  <meyering@redhat.com>
42073
42074         maint.mk: requiring "make major" was annoying, for a "minor" release.
42075         What is intended is "stable", to contrast with alpha and beta,
42076         so require "make stable", not "make major".
42077         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
42078         (get_tool_versions): Likewise.
42079         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
42080
42081 2009-09-30  Ben Pfaff  <blp@gnu.org>
42082
42083         Fix broken build of replacement for Windows tmpfile().
42084         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
42085         flags argument added along with the 'mkostemp' module.
42086
42087 2009-09-28  Bruno Haible  <bruno@clisp.org>
42088
42089         Avoid identifier clash with POSIX function 'remove' defined as a macro.
42090         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
42091         to 'remove_elt'.
42092         (gl_list_remove): Update.
42093         * lib/gl_list.c (gl_list_remove): Update.
42094         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
42095         to 'remove_elt'.
42096         (gl_oset_remove): Update.
42097         * lib/gl_list.c (gl_oset_remove): Update.
42098         Reported by Eric Blake.
42099
42100 2009-09-28  Eric Blake  <ebb9@byu.net>
42101
42102         doc: mention yet more cygwin 1.7 status
42103         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
42104         cygwin.
42105         * doc/glibc-functions/execvpe.texi (execvpe): New file.
42106         * doc/gnulib.texi (Glibc unistd.h): Mention it.
42107
42108         argp: fix test failure
42109         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
42110         that are not upper-case.  Pass correct range to tolower.
42111
42112 2009-09-27  Jim Meyering  <meyering@redhat.com>
42113
42114         test-yesno: work around sparc-dash here-document infelicity
42115         Without this change, the literal \177 byte in a here document
42116         would make dash 0.5.5.1-3 access uninitialized memory.
42117         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
42118         Instead, use a marker, "@", and filter through tr to create the desired
42119         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
42120
42121 2009-09-27  Bruno Haible  <bruno@clisp.org>
42122
42123         Disable untested support for new flavours of ACLs on AIX.
42124         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
42125         progress.
42126         * lib/set-mode-acl.c (qset_acl): Likewise.
42127
42128 2008-12-07  Bruno Haible  <bruno@clisp.org>
42129
42130         Add support for new flavours of ACLs on AIX. (Untested.)
42131         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
42132         (file_has_acl): Add support for newer AIX.
42133         * lib/set-mode-acl.c (qset_acl): Likewise.
42134         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
42135         Rainer Tammer <tammer@tammer.net>.
42136
42137 2009-09-26  Eric Blake  <ebb9@byu.net>
42138
42139         argp: fix compilation of getopt
42140         * lib/getopt.in.h (includes): Use different guard than glibc.
42141         Reported by Sergey Poznyakoff.
42142
42143         doc: mention more cygwin 1.7 status
42144         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
42145         bug.
42146         * doc/posix-functions/execl.texi (execl): Likewise.
42147         * doc/posix-functions/execle.texi (execle): Likewise.
42148         * doc/posix-functions/execlp.texi (execlp): Likewise.
42149         * doc/posix-functions/execv.texi (execv): Likewise.
42150         * doc/posix-functions/execve.texi (execve): Likewise.
42151         * doc/posix-functions/execvp.texi (execvp): Likewise.
42152         * doc/glibc-functions/canonicalize_file_name.texi
42153         (canonicalize_file_name): Cygwin 1.7 now provides this.
42154         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
42155         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
42156         on AT_SYMLINK_NOFOLLOW.
42157
42158 2009-09-24  Eric Blake  <ebb9@byu.net>
42159
42160         test-linkat: make test more robust
42161         * tests/test-linkat.c (main): Avoid collision with EEXIST.
42162
42163         getopt: fix inclusion guards for cygwin
42164         * modules/getopt-posix (Depends-on): Add include-next.
42165         (Makefile.am): Substitute more items in replacement header.
42166         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
42167         <getopt.h>.
42168         * lib/getopt.in.h (includes): Use split inclusion guard, and
42169         prefer <getopt.h> over include <unistd.h> when one is present.
42170         (option): Also override name of 'struct option'.
42171
42172         same-inode: revert prior change; it is not yet ready
42173         * NEWS: Undo mention of this change.
42174         * lib/same-inode.h (same-inode.h): Undo tri-state change.
42175         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42176         * lib/cycle-check.c (cycle_check): Likewise.
42177         * lib/same.c (same_name): Likewise.
42178         * lib/at-func2.c (at_func2): Likewise.
42179
42180 2009-09-23  Eric Blake  <ebb9@byu.net>
42181
42182         linkat: new module
42183         * modules/linkat: New file.
42184         * lib/at-func2.c (at_func2): Likewise.
42185         * lib/linkat.c (linkat): Likewise.
42186         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
42187         * lib/openat-priv.h (at_func2): Add declaration.
42188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42189         * modules/unistd (Makefile.am): Substitute them.
42190         * lib/unistd.in.h (linkat): Declare it.
42191         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42192         * doc/posix-functions/linkat.texi (linkat): Likewise.
42193         * doc/posix-functions/link.texi (link): Tweak wording.
42194         * tests/test-link.c (main): Move guts...
42195         * tests/test-link.h (test_link): ...into new file.
42196         * modules/linkat-tests: New test.
42197         * tests/test-linkat.c: Likewise.
42198         * modules/link-tests (Files): Ship new file.
42199         (Depends-on): Add stdbool.
42200
42201         dirname: add library-safe mdir_name
42202         * lib/dirname.h (mdir_name): New prototype.
42203         * lib/dirname.c (dir_name): Move guts...
42204         (mdir_name): ...to new function that avoids xalloc_die.
42205
42206         fchdir: another mingw fix
42207         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
42208         * lib/fchdir.c (get_name): New helper method; skips canonicalize
42209         on mingw (where it has not yet been ported), and make it optional
42210         elsewhere.
42211         (_gl_register_fd): Use it.
42212
42213         same-inode: make SAME_INODE tri-state, to port to mingw
42214         * NEWS: Mention this change.
42215         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
42216         st_ino always being 0.
42217         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42218         * lib/cycle-check.c (cycle_check): Likewise.
42219         * lib/same.c (same_name): Likewise.
42220
42221         lstat: avoid mingw compilation error
42222         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
42223         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
42224         lstat ourselves.
42225         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
42226         was adequate.
42227         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
42228         the checks for lstat.
42229         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
42230
42231         link: fix test failure on Solaris 9
42232         * lib/link.c (rpl_link): Don't assume link will catch bogus
42233         trailing slash on source.
42234
42235         test-symlinkat: enhance test
42236         * tests/test-readlink.c (main): Move guts...
42237         * tests/test-readlink.h (test_readlink): ...into new file.
42238         * tests/test-symlink.c (main): Move guts...
42239         * tests/test-symlink.h (test_symlink): ...into new file.
42240         * tests/test-symlinkat.c (main): Use new files for further
42241         coverage.
42242         (do_symlink, do_readlink): New helper functions.
42243         * modules/symlink-tests (Files): Ship new file.
42244         (Depends-on): Add stdbool.
42245         * modules/readlink-tests (Files): Ship new file.
42246         (Depends-on): Add stdbool.
42247         * modules/symlinkat-tests (Files): Use new files.
42248
42249 2009-09-23  Eric Blake  <ebb9@byu.net>
42250
42251         readlink: document portability issue with symlink length
42252         * doc/posix-functions/lstat.texi (lstat): Mention that some file
42253         systems have bogus st_size on symlinks, and mention the
42254         areadlink-with-size module.
42255         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42256         * doc/posix-functions/readlink.texi (readlink): Mention the
42257         areadlink module, and ERANGE failure.
42258         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42259         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
42260
42261         readlink: fix Solaris 9 bug with trailing slash
42262         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
42263         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
42264         * doc/posix-functions/readlink.texi (readlink): Document this.
42265         * modules/readlink-tests: New test.
42266         * tests/test-readlink.c: Likewise.
42267
42268         readlink: fix cygwin 1.5.x bug with return type
42269         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
42270         * lib/unistd.in.h (readlink): Use ssize_t.
42271         * lib/readlink.c (readlink): Likewise.
42272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42273         * modules/unistd (Makefile.am): Substitute it.
42274         * lib/unistd.in.h (readlink): Declare replacement.
42275         * doc/posix-functions/readlink.texi (readlink): Document this.
42276
42277         symlink: use throughout gnulib
42278         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
42279         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
42280         symlink is not used.
42281         * modules/symlinkat (Depends-on): Add symlink.
42282         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42283         * modules/canonicalize-tests (Depends-on): Likewise.
42284         * modules/lstat-tests (Depends-on): Likewise.
42285         * modules/openat-tests (Depends-on): Likewise.
42286         * modules/remove-tests (Depends-on): Likewise.
42287         * modules/rmdir-tests (Depends-on): Likewise.
42288         * modules/unlink-tests (Depends-on): Likewise.
42289         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
42290         * tests/test-canonicalize.c (symlink): Likewise.
42291         * tests/test-fstatat.c (symlink): Likewise.
42292         * tests/test-lstat.c (symlink): Likewise.
42293         * tests/test-remove.c (symlink): Likewise.
42294         * tests/test-rmdir.c (symlink): Likewise.
42295         * tests/test-unlink.c (symlink): Likewise.
42296         * tests/test-unlinkat.c (symlink): Likewise.
42297
42298         symlink: new module, for Solaris 9 bug
42299         * modules/symlink: New file.
42300         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
42301         * lib/symlink.c: Likewise.
42302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42303         * modules/unistd (Makefile.am): Substitute them.
42304         * lib/unistd.in.h (symlink): Declare replacement.
42305         * MODULES.html.sh (File system functions): Mention it.
42306         * doc/posix-functions/symlink.texi (symlink): Likewise.
42307         * modules/symlink-tests: New test.
42308         * tests/test-symlink.c: Likewise.
42309
42310 2009-09-23  Bruno Haible  <bruno@clisp.org>
42311
42312         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
42313         when needed.
42314         Test case: gnulib-tool --import --with-tests atexit inttypes.
42315         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
42316
42317 2009-09-23  Bruno Haible  <bruno@clisp.org>
42318
42319         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
42320         subcommand, not in a subshell.
42321
42322 2009-09-22  Eric Blake  <ebb9@byu.net>
42323
42324         unistd: sort replacement declarations
42325         * lib/unistd.in.h: Sort declarations.
42326
42327         open, openat: minor optimization
42328         * lib/open.c (open): If open succeeded, len is non-zero.
42329         * lib/openat.c (rpl_openat): Likewise.
42330
42331         link-follow: ensure correct result
42332         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
42333         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
42334         distinguish between possible failures.
42335
42336 2009-09-21  Eric Blake  <ebb9@byu.net>
42337
42338         fts: avoid compiler warning
42339         * lib/fts.c (dirent_inode_sort_may_be_useful)
42340         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
42341
42342 2009-09-19  Bruno Haible  <bruno@clisp.org>
42343
42344         * lib/progreloc.c (canonicalize_file_name): New declaration.
42345
42346 2009-09-19  Eric Blake  <ebb9@byu.net>
42347
42348         link: fix quoting
42349         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42350
42351         openat: fix openat bugs on Solaris 9
42352         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42353         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42354         * modules/openat (Depends-on): Add open.
42355         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42356         * modules/fcntl-h (Makefile.am): Substitute it.
42357         * lib/fcntl.in.h (openat): Declare replacement.
42358         * doc/posix-functions/openat.texi (openat): Document this.
42359
42360         openat: move fstatat and unlinkat into correct files
42361         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42362         compiled.
42363         * lib/openat.c (fstatat, unlinkat): Move...
42364         * lib/fstatat.c (fstatat): ...into correct files.
42365         * lib/unlinkat.c (unlinkat): Likewise.
42366
42367         openat: fix unlinkat bugs on Solaris 9
42368         * lib/unlinkat.c (unlinkat): New file.
42369         * modules/openat (Depends-on): Add unlink.
42370         (Files): Distribute it.
42371         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42372         trailing slash behavior is broken.
42373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42374         * modules/unistd (Makefile.am): Substitute it.
42375         * lib/unistd.in.h (unlinkat): Declare replacement.
42376         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42377
42378         openat: fix fstatat bugs on Solaris 9
42379         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42380         stat.
42381         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42382
42383         test-unlinkat: enhance test, to expose Solaris 9 bug
42384         * tests/test-unlink.c (main): Factor guts...
42385         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42386         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42387         * tests/test-rmdir.c (main): Adjust caller.
42388         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42389         (unlinker): New helper function.
42390         (rmdirat): Enhance check.
42391         * modules/rmdir-tests (Depends-on): Add stdbool.
42392         * modules/unlink-tests (Depends-on): Likewise.
42393         (Files): Add test-unlink.h.
42394         * modules/openat-tests (Files): Likewise.
42395         (Depends-on): Add unlinkdir.
42396
42397         test-fstatat: new test, to expose Solaris 9 bugs
42398         * tests/test-stat.c (main): Factor guts...
42399         * tests/test-stat.h (test_stat_func): ...into new file.
42400         * tests/test-lstat.c (main): Factor guts...
42401         * tests/test-lstat.h (test_lstat_func): ...into new file.
42402         * tests/test-fstatat.c: New file.
42403         * modules/stat-tests (Files): Add test-stat.h.
42404         * modules/lstat-tests (Files): Add test-lstat.h.
42405         (Depends-on): Add stdbool.
42406         * modules/openat-tests (Depends-on): Add pathmax.
42407         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
42408         (Makefile.am): Run new test.
42409
42410         remove: new module, for mingw and Solaris 9 bugs
42411         * modules/remove: New file.
42412         * lib/remove.c: Likewise.
42413         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
42414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42415         * modules/stdio (Makefile.am): Use them.
42416         * lib/stdio.in.h (remove): Declare replacement.
42417         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42418         * doc/posix-functions/remove.texi (remove): Likewise.
42419         * modules/remove-tests: New test.
42420         * tests/test-remove.c: Likewise.
42421
42422         unlink: new module, for Solaris 9 bug
42423         * modules/unlink: New file.
42424         * lib/unlink.c: Likewise.
42425         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42427         * modules/unistd (Makefile.am): Use them.
42428         * lib/unistd.in.h (stat): Declare replacement.
42429         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42430         * doc/posix-functions/unlink.texi (unlink): Likewise.
42431         * modules/unlink-tests: New test.
42432         * tests/test-unlink.c: Likewise.
42433
42434         lstat: fix Solaris 9 bug
42435         * lib/lstat.c (lstat): Also check for trailing slash on
42436         non-symlink, non-directories.  Use stat module to simplify logic.
42437         * doc/posix-functions/lstat.texi (lstat): Document it.
42438         * modules/lstat-tests (Depends-on): Add errno, same-inode.
42439         (configure.ac): Check for symlink.
42440         * tests/test-lstat.c (main): Add more tests.
42441
42442         stat: add as dependency to other modules
42443         * modules/chown (Depends-on): Add stat.
42444         * modules/euidaccess (Depends-on): Likewise.
42445         * modules/fchdir (Depends-on): Likewise.
42446         * modules/isdir (Depends-on): Likewise.
42447         * modules/link (Depends-on): Likewise.
42448         * modules/lstat (Depends-on): Likewise.
42449         * modules/mkdir-p (Depends-on): Likewise.
42450         * modules/modechange (Depends-on): Likewise.
42451         * modules/open (Depends-on): Likewise.
42452         * modules/readlink (Depends-on): Likewise.
42453         * modules/same (Depends-on): Likewise.
42454
42455         stat: fix Solaris 9 bug
42456         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
42457         slash.
42458         * lib/stat.c (rpl_stat): Work around it.
42459         * doc/posix-functions/stat.texi (stat): Update documentation.
42460
42461         stat: new module, for mingw bug
42462         * modules/stat: New file.
42463         * lib/stat.c: Likewise.
42464         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42465         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42466         * modules/sys_stat (Makefile.am): Use them.
42467         * lib/sys_stat.in.h (stat): Declare replacement.
42468         * lib/openat.c (fstatat): Deal with lstat and stat being function
42469         macros.
42470         * modules/openat (Depends-on): Add inline.
42471         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42472         * doc/posix-functions/stat.texi (stat): Likewise.
42473         * modules/stat-tests: New test.
42474         * tests/test-stat.c: Likewise.
42475
42476 2009-09-19  Jim Meyering  <meyering@redhat.com>
42477
42478         syntax-check: detect unnecessary inclusion of canonicalize.h
42479         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
42480
42481 2009-09-19  Eric Blake  <ebb9@byu.net>
42482
42483         canonicalize-lgpl: adjust clients to use correct header
42484         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42485         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
42486         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
42487         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
42488         * lib/progreloc.c (includes): Likewise.
42489
42490 2009-09-19  Jim Meyering  <meyering@redhat.com>
42491
42492         test-posixtm.c: correct a comment
42493         * tests/test-posixtm.c: Correct first-line comment.
42494         Spotted by Eric Blake.
42495
42496 2009-09-16  Jim Meyering  <meyering@redhat.com>
42497
42498         posixtm-tests: make T const-correct; add a test case
42499         * tests/test-posixtm.c (T): Declare const.
42500         Add a test for -(2^31+1).
42501         Remove useless can-succeed-only-in-2002 test.
42502
42503         posixtm-tests: adjust the sole failing test
42504         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
42505         expected output matches what mktime now produces.  Cross-checked via
42506         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
42507
42508         posixtm: move #ifdef'd tests into a new module
42509         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
42510         * tests/test-posixtm.c: ... this new file.
42511         * modules/posixtm-tests: New module.
42512
42513 2009-09-19  Eric Blake  <ebb9@byu.net>
42514
42515         openat: simplify use of at-func.c
42516         * lib/at-func.c (includes): Include prerequisites here, to
42517         simplify requirements on client files.
42518         * lib/openat-priv.h: Add double-inclusion guard.
42519         * lib/faccessat.c (includes): Simplify.
42520         * lib/fchmodat.c (includes): Likewise.
42521         * lib/fchownat.c (includes): Likewise.
42522         * lib/mkdirat.c (includes): Likewise.
42523         * lib/mkfifoat.c (includes): Likewise.
42524         * lib/symlinkat.c (includes): Likewise.
42525
42526         openat: allow return of fd 0
42527         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
42528         * modules/save-cwd (Depends-on): Replace fcntl-safer with
42529         unistd-safer.
42530         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
42531         <fcntl.h>; this module does not leak fds.
42532         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
42533         must be allowed to return 0, leaving openat_safer to add the
42534         safety.
42535         (openat_permissive): Avoid writing to just-opened fd 2 if
42536         restoring the current directory fails.
42537         * lib/openat-die.c (openat_restore_fail): Add comment.
42538         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
42539         (save_cwd): Guarantee safe fd, but without use of open_safer.
42540         * tests/test-openat.c: New test.
42541         * modules/openat-tests (Files, Makefile.am): Distribute and build
42542         new file.
42543
42544         relocatable-prog-wrapper: fix build
42545         * modules/relocatable-prog-wrapper (Files): Update name of
42546         canonicalize m4 file, broken on 2009-09-17.
42547         Reported by emad hajjar <aleppos@hotmail.com>.
42548
42549 2009-09-19  Bruno Haible  <bruno@clisp.org>
42550
42551         * lib/safe-alloc.h: Use the standard header with GPL copyright.
42552         * lib/safe-alloc.c: Likewise.
42553         Reported by Ian Beckwith <ianb@erislabs.net>.
42554
42555 2009-09-18  Bruno Haible  <bruno@clisp.org>
42556
42557         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
42558         Reported by <erobles@sensacd.com.mx>.
42559
42560 2009-09-17  Eric Blake  <ebb9@byu.net>
42561
42562         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
42563         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
42564         slashes when checking if last component is missing.
42565         * tests/test-canonicalize.c (main): Test this.
42566
42567         canonicalize, canonicalize-lgpl: honor // if distinct from /
42568         * modules/canonicalize (Files): Add double-slash-root.m4.
42569         * modules/canonicalize-lgpl (Files): Likewise.
42570         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42571         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
42572         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
42573         fallback definition.
42574         (canonicalize_filename_mode): Use it to protect //.
42575         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
42576         (__realpath): Likewise.
42577         * tests/test-canonicalize.c (main): Test this.
42578         * tests/test-canonicalize-lgpl.c (main): Likewise.
42579         * modules/canonicalize-tests (Depends-on): Add same-inode.
42580         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42581
42582         canonicalize-lgpl: fix glibc bug with trailing slash
42583         * m4/canonicalize-lgpl.m4: Move contents...
42584         * m4/canonicalize.m4: ...here.
42585         (gl_CANONICALIZE_LGPL): Factor realpath check...
42586         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
42587         glibc 2.3.5 bug, fixed 2005-04-27.
42588         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
42589         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
42590         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
42591         * modules/canonicalize-lgpl (Files): Manage file rename.
42592         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42593         * modules/stdlib (Makefile.am): Substitute witness.
42594         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
42595         is needed.
42596         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
42597         replacement is required.
42598         * lib/canonicalize.c (canonicalize_file_name): Likewise.
42599         * doc/glibc-functions/canonicalize_file_name.texi
42600         (canonicalize_file_name): Document this.
42601         * doc/posix-functions/realpath.texi (realpath): Likewise.
42602
42603         canonicalize-lgpl: reject non-directory with trailing slash
42604         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
42605         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
42606         catches failures in glibc 2.3.5.
42607         * tests/test-canonicalize.c (main): Likewise.
42608
42609         canonicalize-lgpl: use native realpath if it works
42610         * lib/canonicalize-lgpl.c (realpath): Guard with
42611         FUNC_REALPATH_WORKS.
42612         * lib/stdlib.in.h (realpath): Make declaration optional based on
42613         HAVE_REALPATH.
42614         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
42615         native realpath works.
42616         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42617         * modules/stdlib (Makefile.am): Substitute witness.
42618
42619         canonicalize, canonicalize-lgpl: use <stdlib.h>
42620         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
42621         (Include): Mention <stdlib.h>.
42622         (configure.ac): Mention functions we provide.
42623         * modules/canonicalize (configure.ac): Likewise.
42624         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
42625         realpath if canonicalize_file_name is missing.
42626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
42627         * modules/stdlib (Makefile.am): Substitute witnesses.
42628         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
42629         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
42630         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
42631         * NEWS: Document this.
42632         * doc/glibc-functions/canonicalize_file_name.texi
42633         (canonicalize_file_name): Likewise.
42634         * doc/posix-functions/realpath.texi (realpath): Likewise.
42635         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
42636
42637         test-canonicalize: consolidate into single C program
42638         * tests/test-canonicalize.sh: Delete; move setup into...
42639         * tests/test-canonicalize.c (main): ...the program, making it
42640         easier to run in debugger.  Add some tests.
42641         * modules/canonicalize-tests (Files): Remove unused file.
42642         (Depends-on): Add progname.
42643         (configure.ac, Makefile.am): Simplify.
42644
42645         test-canonicalize-lgpl: consolidate into single C program
42646         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
42647         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
42648         easier to run in debugger.  Add some tests.
42649         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
42650         (configure.ac, Makefile.am): Simplify.
42651
42652         canonicalize: avoid resolvepath
42653         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
42654         unnecessary checks.
42655         * lib/canonicalize.c (includes): Simplify.
42656         (canonicalize_file_name): Drop resolvepath implementation.
42657         * modules/canonicalize (Depends-on): Drop filenamecat.
42658
42659         canonicalize: don't lose errno
42660         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
42661         over calls to free.
42662
42663         canonicalize: simplify errno handling
42664         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
42665         assignment.
42666
42667         canonicalize, canonicalize-lgpl: update module dependencies
42668         * modules/canonicalize (Depends-on): Add extensions, lstat,
42669         pathmax, stdlib.
42670         (Files): Drop pathmax.h.
42671         (configure.ac): Adjust macro name.
42672         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
42673         lstat, stdlib, sys_stat.
42674         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
42675         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
42676         extensions.
42677         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
42678         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
42679         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
42680         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
42681         declaration, if available.
42682         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
42683         we can rely on the readlink module.
42684         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
42685         (includes): Use <unistd.h> unconditionally.
42686
42687 2009-09-17  Eric Blake  <ebb9@byu.net>
42688
42689         maint: make Include sections of modules consistent
42690         * modules/alloca: Use only header name; no need to list #include.
42691         * modules/alloca-opt: Likewise.
42692         * modules/arpa_inet: Likewise.
42693         * modules/canon-host: Likewise.
42694         * modules/configmake: Likewise.
42695         * modules/dirent: Likewise.
42696         * modules/eealloc: Likewise.
42697         * modules/environ: Likewise.
42698         * modules/fchdir: Likewise.
42699         * modules/fcntl: Likewise.
42700         * modules/fcntl-h: Likewise.
42701         * modules/gethrxtime: Likewise.
42702         * modules/gettime: Likewise.
42703         * modules/ignore-value: Likewise.
42704         * modules/inet_ntop: Likewise.
42705         * modules/inet_pton: Likewise.
42706         * modules/inttypes: Likewise.
42707         * modules/isnand-nolibm: Likewise.
42708         * modules/isnanf-nolibm: Likewise.
42709         * modules/mbchar: Likewise.
42710         * modules/mbfile: Likewise.
42711         * modules/mbiter: Likewise.
42712         * modules/mbuiter: Likewise.
42713         * modules/netdb: Likewise.
42714         * modules/netinet_in: Likewise.
42715         * modules/nproc: Likewise.
42716         * modules/pagealign_alloc: Likewise.
42717         * modules/poll: Likewise.
42718         * modules/printf-frexp: Likewise.
42719         * modules/pthread: Likewise.
42720         * modules/putenv: Likewise.
42721         * modules/random_r: Likewise.
42722         * modules/relocatable-prog: Likewise.
42723         * modules/search: Likewise.
42724         * modules/select: Likewise.
42725         * modules/selinux-h: Likewise.
42726         * modules/settime: Likewise.
42727         * modules/signal: Likewise.
42728         * modules/size_max: Likewise.
42729         * modules/socklen: Likewise.
42730         * modules/ssize_t: Likewise.
42731         * modules/stdarg: Likewise.
42732         * modules/stdbool: Likewise.
42733         * modules/stddef: Likewise.
42734         * modules/stdint: Likewise.
42735         * modules/stdio: Likewise.
42736         * modules/stdlib: Likewise.
42737         * modules/string: Likewise.
42738         * modules/strings: Likewise.
42739         * modules/sys_file: Likewise.
42740         * modules/sys_ioctl: Likewise.
42741         * modules/sys_select: Likewise.
42742         * modules/sys_socket: Likewise.
42743         * modules/sys_stat: Likewise.
42744         * modules/sys_time: Likewise.
42745         * modules/sys_times: Likewise.
42746         * modules/sys_utsname: Likewise.
42747         * modules/sys_wait: Likewise.
42748         * modules/sysexits: Likewise.
42749         * modules/time: Likewise.
42750         * modules/times: Likewise.
42751         * modules/tmpfile: Likewise.
42752         * modules/trim: Likewise.
42753         * modules/unistd: Likewise.
42754         * modules/wchar: Likewise.
42755         * modules/wctype: Likewise.
42756
42757 2009-09-17  Bruno Haible  <bruno@clisp.org>
42758
42759         Make getdate.y compile on QNX and NetBSD 5 / i386.
42760         * m4/getdate.m4 (gl_GETDATE): Conditionally define
42761         TIME_T_FITS_IN_LONG_INT.
42762         * lib/getdate.y (long_time_t): New type.
42763         (relative_time): Change type of 'seconds' field to long_time_t.
42764         (get_date): Update types of local variables. Check against overflow
42765         during conversion from long_time_t to time_t.
42766         Reported by Matt Kraai <kraai@ftbfs.org>
42767         and Hasso Tepper <hasso@netbsd.org>.
42768
42769 2009-09-17  Bruno Haible  <bruno@clisp.org>
42770
42771         * modules/COPYING: Update copyright years.
42772         * modules/README: Likeiwse.
42773         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42774         Reported by Ian Beckwith <ianb@erislabs.net>.
42775
42776 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42777
42778         * users.txt: Update references for gnuit package.
42779
42780 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42781
42782         * m4/getdelim.m4: Fix typo in copyright line.
42783
42784 2009-09-17  Bruno Haible  <bruno@clisp.org>
42785
42786         * lib/atoll.c: Use the standard header with GPL copyright.
42787         * lib/argz.in.h: Likewise.
42788         * lib/glob.c: Likewise.
42789         * lib/glob-libc.h: Likewise.
42790         * lib/random_r.c: Likewise.
42791         * lib/siglist.h: Likewise.
42792         * lib/strsignal.c: Likewise.
42793         Reported by Ian Beckwith <ianb@erislabs.net>.
42794
42795 2009-09-17  Eric Blake  <ebb9@byu.net>
42796
42797         rmdir: ensure correct dependency order
42798         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42799
42800 2009-09-17  Bruno Haible  <bruno@clisp.org>
42801
42802         Disable assertion that fails on NetBSD 5 / i386.
42803         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42804         Reported by Sam Steingold <sds@gnu.org>
42805         and Hasso Tepper <hasso@netbsd.org>.
42806
42807 2009-09-16  Eric Blake  <ebb9@byu.net>
42808
42809         unlinkdir: port to mingw
42810         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42811         on which no one can unlink a directory.
42812
42813         stdlib: sort witness names
42814         * modules/stdlib (Makefile.am): Sort replacements.
42815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42816         * lib/stdlib.in.h: Likewise.
42817
42818         parse-duration-tests: avoid link failure
42819         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42820         LIBINTL.
42821         Reported by Tom G. Christensen.
42822
42823         openat-tests: ensure unlinkat behaves like rmdir
42824         * tests/test-rmdir.c (main): Factor guts...
42825         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42826         * modules/rmdir-tests (Files): Ship new file.
42827         * modules/openat-tests: New test.
42828         * tests/test-unlinkat.c: Likewise.
42829
42830         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42831         * modules/rmdir-errno (Status, Notice): Now obsolete.
42832
42833         rmdir: work around cygwin 1.5.x and mingw bugs
42834         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42835         * lib/rmdir.c (rmdir): Work around it.
42836         * modules/rmdir (Status, Notice): No longer obsolete.
42837         (Files): Add dos.m4.
42838         (Depends-on): Add unistd.
42839         (configure.ac): Set witnesses.
42840         (License): Relax to LGPLv2+.
42841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42842         * modules/unistd (Makefile.am): Substitute witnesses.
42843         * lib/unistd.in.h (rmdir): Declare replacement.
42844         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42845         * modules/rmdir-tests: New tests.
42846         * tests/test-rmdir.c: Likewise.
42847
42848 2009-09-15  Eric Blake  <ebb9@byu.net>
42849
42850         fchdir: improve use of replacement functions
42851         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42852         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42853         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42854         REPLACE_CLOSEDIR.
42855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42856         * modules/sys_stat (Makefile.am): Substitute correct witness.
42857         * modules/dirent (Makefile.am): Likewise.
42858         * modules/unistd (Makefile.am): Likewise.
42859         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42860         * lib/unistd.in.h (dup): Likewise.
42861         * lib/sys_stat.in.h (fstat): Likewise.
42862
42863         maint: ignore gnulib-tool temp files
42864         * .gitignore: Ignore files created during gnulib-tool --test.
42865
42866 2009-09-13  Jim Meyering  <meyering@redhat.com>
42867
42868         posixtm: don't reject a time that specify "60" as the number of seconds
42869         * lib/posixtm.c (posixtime): The code to reject invalid dates
42870         would also reject a time specified with the .60 suffix.
42871         But POSIX allows that, in order to accommodate leap seconds.
42872         So don't reject it.
42873         (main): Adjust tests accordingly.
42874         * modules/posixtm (Depends-on): Add stpcpy.
42875
42876 2009-09-11  Jim Meyering  <meyering@redhat.com>
42877
42878         announce-gen: include [$release_type] in emitted Subject:
42879         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42880         e.g., [stable] in the emitted Subject: line.
42881
42882 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42883
42884         Remove obsolete macros from several modules.
42885         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42886         obsolete Autoconf macros with their modern counterparts.
42887         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42888         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42889         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42890         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42891         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42892         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42893         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42894         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42895         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42896         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42897         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42898         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42899         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42900         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42901         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42902         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42903         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42904         * m4/time_r.m4 (gl_TIME_R): Likewise.
42905         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42906         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42907         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42908
42909         Fix copyright header in build-aux scripts.
42910         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42911         recommendation.
42912         * build-aux/ncftpput-ftp: Likewise.
42913         * build-aux/update-copyright: Likewise.
42914
42915 2009-09-09  Eric Blake  <ebb9@byu.net>
42916
42917         test-link: allow Linux choice of errno
42918         * tests/test-link.c (main): Relax test for alternate error.
42919
42920         strndup: fix improper m4 caching
42921         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42922         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42923         (gl_PREREQ_STRNDUP): Delete.
42924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42925         * modules/string (Makefile.am): Substitute it.
42926         * lib/string.in.h (strndup): Modernize prototype.
42927
42928         getcwd: port to mingw
42929         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42930         different from the POSIX assumptions made throughout the getcwd
42931         module; fortunately, the mingw getcwd does not need replacement.
42932         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42933         * modules/getcwd-tests: New test.
42934         * tests/test-getcwd.c: Likewise.
42935
42936         link: fix platform bugs
42937         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
42938         * lib/link.c (link): Work around them.  Fix related mingw bug.
42939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
42940         * modules/unistd (Makefile.am): Substitute it.
42941         * lib/unistd.in.h (link): Declare replacement.
42942         * doc/posix-functions/link.texi (link): Document this.
42943         * modules/link (Depends-on): Add strdup-posix, sys_stat.
42944
42945         test-link: consolidate into single C program, test more cases
42946         * tests/test-link.sh: Delete.
42947         * tests/test-link.c: Test more error conditions.  Exposes bugs on
42948         at least Cygwin and Solaris.
42949         * modules/link-tests (Files): Remove unused file.
42950         (Depends-on): Add errno, sys_stat.
42951         (Makefile.am): Simplify.
42952
42953 2009-09-08  Bruno Haible  <bruno@clisp.org>
42954
42955         Work around towlower, towupper bug on mingw.
42956         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
42957         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
42958         * doc/posix-functions/towlower.texi: Mention the mingw bug.
42959         * doc/posix-functions/towupper.texi: Likewise.
42960         Reported by Eric Blake.
42961
42962 2009-09-08  Jim Meyering  <meyering@redhat.com>
42963
42964         build: don't try to run autoheader if we don't use it
42965         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
42966         is not used in configure.ac.
42967
42968 2009-09-08  Eric Blake  <ebb9@byu.net>
42969
42970         euidaccess: fix compilation error
42971         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
42972
42973         rawmemchr: relax license
42974         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
42975         okay.
42976         Reported by Jim Meyering.
42977
42978         mkfifoat: new module
42979         * modules/mkfifoat: New file.
42980         * lib/mkfifoat.c: Likewise.
42981         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42982         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42983         * modules/sys_stat (Makefile.am): Use them.
42984         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42985         * MODULES.html.sh (File system functions): Mention module.
42986         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42987         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42988         * modules/mkfifoat-tests: New test.
42989         * tests/test-mkfifoat.c: Likewise.
42990
42991         strchrnul: relax license
42992         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42993         okay.
42994         Reported by Jim Meyering.
42995
42996 2009-09-08  Eric Blake  <ebb9@byu.net>
42997
42998         fstatat: fix compilation on Solaris
42999         * lib/fstatat.c (includes): Add fcntl.h.
43000         Reported by Pádraig Brady.
43001
43002 2009-09-07  Eric Blake  <ebb9@byu.net>
43003
43004         rename: modernize replacement
43005         * modules/rename (Depends-on): Add stdio.
43006         (configure.ac): Declare witness.
43007         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
43008         stdio take care of replacement.
43009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43010         * modules/stdio (Makefile.am): Substitute them.
43011         * lib/stdio.in.h (rename): Declare replacement.
43012         * lib/rename.c (includes): Allow cross-compilation to non-windows
43013         machines.
43014         * doc/posix-functions/rename.texi (rename): Improve
43015         documentation.
43016
43017         stdio: sort witness names
43018         * modules/stdio (Makefile.am): Sort replacements.
43019         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43020         * lib/stdio.in.h: Likewise.
43021
43022         getcwd: minor cleanups
43023         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
43024         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
43025
43026         openat: provide more convenience names
43027         * modules/faccessat (configure.ac): Add C witness.
43028         * lib/unistd.in.h (readlinkat): Fix typo.
43029         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
43030         convenience wrappers.
43031         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
43032         wrappers in syntax checks.
43033
43034 2009-09-06  Eric Blake  <ebb9@byu.net>
43035
43036         doc: fix comments in recent patches
43037         * lib/faccessat.c: Mention correct function.
43038         * lib/fchmodat.c: Likewise.
43039         * lib/fchownat.c: Likewise.
43040         * lib/symlinkat.c: Likewise.
43041         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
43042         constants.
43043
43044         faccessat, symlinkat: continue cleanup of previous patch
43045         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
43046         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43047         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
43048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
43049         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
43050         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
43051         set.
43052
43053 2009-09-06  Bruno Haible  <bruno@clisp.org>
43054
43055         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
43056         (fstatat): Declare if GNULIB_FSTATAT is set.
43057         (mkdirat): Declare if GNULIB_MKDIRAT is set.
43058         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
43059         (unlinkat): Declare if GNULIB_UNLINKAT is set.
43060         * modules/fcntl-h (Files): Remove m4/openat.m4.
43061         * modules/sys_stat (Files): Remove m4/openat.m4.
43062         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
43063         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
43064         * modules/unistd (Files): Remove m4/openat.m4.
43065         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
43066         GNULIB_OPENAT.
43067         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
43068         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
43069         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
43070         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
43071         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
43072         gl_OPENAT_DEFAULTS.
43073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
43074         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
43075         Don't require gl_OPENAT_DEFAULTS.
43076         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
43077         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
43078         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
43079         (gl_OPENAT_DEFAULTS): Remove macro.
43080
43081 2009-09-06  Bruno Haible  <bruno@clisp.org>
43082
43083         * modules/openat (configure.ac): Remove unneeded witness.
43084
43085 2009-09-06  Bruno Haible  <bruno@clisp.org>
43086
43087         Set errno to ENOSYS when a function is entirely unsupported.
43088         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
43089         EOPNOTSUPP.
43090         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43091         * modules/chown (Depends-on): Remove errno.
43092
43093 2009-09-06  Bruno Haible  <bruno@clisp.org>
43094
43095         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
43096
43097 2009-09-06  Bruno Haible  <bruno@clisp.org>
43098
43099         * lib/sys_stat.in.h: Fix preprocessor command indentation.
43100
43101 2009-09-06  Ben Pfaff  <blp@gnu.org>
43102             Bruno Haible  <bruno@clisp.org>
43103
43104         Work around a glibc bug in strtok_r.
43105         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
43106         Undefine if UNDEFINE_STRTOK_R is set.
43107         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
43108         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43109         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
43110         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
43111         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
43112         UNDEFINE_STRTOK_R.
43113         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
43114
43115 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
43116
43117         exclude: minor fix
43118         * lib/exclude.c: Include wctype.h
43119
43120 2009-09-06  Akim Demaille  <demaille@gostai.com>
43121
43122         bootstrap: improve error message
43123         * build-aux/bootstrap (find_tool): Upon failure, report the list
43124         of candidates.
43125         Honor the initial value of the envvar.
43126
43127 2009-09-05  Eric Blake  <ebb9@byu.net>
43128
43129         symlinkat: new module
43130         * modules/symlinkat: New file.
43131         * lib/symlinkat.c: Likewise.
43132         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
43133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43134         * modules/unistd (Makefile.am): Use them.
43135         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
43136         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
43137         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
43138         * MODULES.html.sh (File system functions): Mention module.
43139         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43140         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43141         * modules/symlinkat-tests: New test.
43142         * tests/test-symlinkat.c: Likewise.
43143
43144         test-openat-safer: add more checks
43145         * tests/test-openat-safer.c (main): Check more code paths.
43146
43147 2009-09-05  Jim Meyering  <meyering@redhat.com>
43148
43149         syntax-check: detect unnecessary inclusion of openat.h
43150         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
43151
43152 2009-09-05  Bruno Haible  <bruno@clisp.org>
43153
43154         Support towlower, towupper.
43155         * doc/posix-functions/towlower.texi: Mention module wctype.
43156         * doc/posix-functions/towupper.texi: Likewise.
43157         * lib/wctype.in.h (towlower, towupper): New functions.
43158         * tests/test-wctype.c: Include stdio.h, stdlib.h.
43159         (ASSERT): New macro.
43160         (e): New variable.
43161         (main): Test also towlower, towupper. Test WEOF argument.
43162         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43163
43164 2009-09-05  Bruno Haible  <bruno@clisp.org>
43165
43166         Fix conversion behaviour when the input is invalid.
43167         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
43168         mark occurring in first pass of indirect conversion.
43169         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
43170         input.
43171         Found by clang's static analyzer.
43172
43173 2009-09-05  Bruno Haible  <bruno@clisp.org>
43174
43175         * tests/test-striconveh.c (main): Test indirect conversion on platforms
43176         where direct conversion is possible.
43177
43178 2009-09-04  Eric Blake  <ebb9@byu.net>
43179
43180         openat: fail with ENOENT on empty name
43181         * lib/openat-proc.c (openat_proc_name): Special-case the empty
43182         buffer.
43183
43184         link-follow: fix logic bug in prior patch
43185         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
43186         reversed sense of yes and no in prior patch.  Avoid confusing
43187         compilation failure with desired semantics.
43188
43189         link-follow: accommodate mingw and cross-compilation
43190         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
43191         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
43192         cross-compilation results to -1, to make linkat easier to
43193         implement when cross-compiling.  Trivially support mingw.
43194         * modules/link-follow (configure.ac): Call new name.
43195         * NEWS: Mention this.
43196
43197 2009-09-03  Eric Blake  <ebb9@byu.net>
43198
43199         faccessat: compile replacement
43200         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
43201         needed.
43202
43203         fts: fix compilation error
43204         * lib/fts.c (includes): Re-add "openat.h", for
43205         openat_needs_fchdir.
43206
43207         faccessat: new module
43208         * modules/faccessat: New file.
43209         * lib/faccessat.c: Likewise.
43210         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43212         * modules/unistd (Makefile.am): Use it.
43213         * lib/unistd.in.h (faccessat): Declare it.
43214         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
43215         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
43216         * MODULES.html.sh (File system functions): Mention it.
43217         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
43218         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
43219
43220         euidaccess: prefer POSIX over non-standard implementation
43221         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
43222         * lib/euidaccess.c (euidaccess): Use it if available.
43223
43224         openat: make template easier to use
43225         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
43226         AT_FUNC_F2 to be undefined.
43227         (VALIDATE_FLAG): New macro; use it to reject bad flags.
43228         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
43229         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
43230         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
43231         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
43232         Likewise.
43233         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
43234         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
43235         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
43236         Likewise.
43237
43238         openat: declare in POSIX headers
43239         * NEWS: Mention this.
43240         * modules/openat (configure.ac): Declare witnesses.
43241         (Depends-on): Add fcntl-h, sys_stat, unistd.
43242         (Include): Mention correct headers.
43243         * modules/fcntl-h (Depends-on): Add link-warning.
43244         (Files): Add openat.m4.
43245         (Makefile.am): Substitute witnesses.
43246         * modules/sys_stat (Files, Makefile.am): Likewise.
43247         * modules/unistd (Files, Makefile.am): Likewise.
43248         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
43249         (gl_OPENAT_DEFAULTS): New macro.
43250         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
43251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
43252         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
43253         (SYS_STAT_H): Remove unused variable.
43254         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
43255         * lib/fcntl--.h (includes): Remove unneeded header.
43256         * lib/openat-safer.c (includes): Likewise.
43257         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
43258         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
43259         appropriate headers.
43260         (__OPENAT_PREFIX): Delete.
43261         * lib/fcntl.in.h (openat): Provide declaration.
43262         (AT_FDCWD): Fix Solaris bug.
43263         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
43264         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
43265         * lib/fchmodat.c (includes):  Adjust to find declaration.
43266         * lib/fchownat.c (includes): Likewise.
43267         * lib/mkdirat.c (includes): Likewise.
43268         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
43269         still visible.
43270
43271 2009-09-02  Eric Blake  <ebb9@byu.net>
43272
43273         errno: use consistently
43274         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
43275         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
43276         * lib/canonicalize.c (ELOOP): Likewise.
43277         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
43278         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
43279         * lib/lchown.c (EOPNOTSUPP): Likewise.
43280         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
43281         * lib/savewd.c (ESTALE): Likewise.
43282         * lib/settime.c (ENOSYS): Likewise.
43283         * lib/utimens.c (ENOSYS): Likewise.
43284         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
43285         * lib/chdir-safer.c (ELOOP): Likewise.
43286         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
43287         * modules/c-stack (Depends-on): Add errno.
43288         * modules/canonicalize (Depends-on): Likewise.
43289         * modules/chdir-safer (Depends-on): Likewise.
43290         * modules/fdopendir (Depends-on): Likewise.
43291         * modules/inet_ntop (Depends-on): Likewise.
43292         * modules/inet_pton (Depends-on): Likewise.
43293         * modules/lchown (Depends-on): Likewise.
43294         * modules/openat (Depends-on): Likewise.
43295         * modules/savewd (Depends-on): Likewise.
43296         * modules/settime (Depends-on): Likewise.
43297         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
43298
43299         fts: avoid leaking fds
43300         * modules/fts (Depends-on): Add cloexec.
43301         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
43302         flag.
43303
43304         fts: make directory fds more robust
43305         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
43306         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
43307
43308         backupfile, chdir-long, fts, savedir: make safer
43309         * lib/backupfile.c (includes): Use "dirent--.h", since
43310         numbered_backup can write to stderr during readdir.
43311         * lib/savedir.c (includes): Likewise.
43312         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
43313         emulation can write to stderr on failure.
43314         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
43315         * lib/getcwd.c: Document why opendir_safer is unused.
43316         * lib/glob.c: Likewise.
43317         * lib/scandir.c: Likewise.
43318         * lib/openat-proc.c: Likewise, for open_safer.
43319         * modules/backupfile (Depends-on): Add dirent-safer.
43320         * modules/savedir (Depends-on): Likewise.
43321         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
43322         * modules/chdir-long (Depends-on): Add openat-safer.
43323
43324         openat-safer: new module
43325         * modules/openat-safer: New file.
43326         * lib/openat-safer.c: Likewise.
43327         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
43328         * lib/fcntl-safer.h (openat_safer): Declare.
43329         * lib/fcntl--.h (openat): Override.
43330         * MODULES.html.sh (File descriptor based I/O): Mention it.
43331         * lib/openat.h: Add double-inclusion guards.
43332         * lib/openat.c (includes): Only include "fcntl-safer.h", not
43333         "fcntl--.h", so we can implement openat.
43334         * modules/openat-safer-tests: New test.
43335         * tests/test-openat-safer.c: New file.
43336
43337         dirent-safer: new module
43338         * modules/dirent-safer: New file.
43339         * lib/dirent--.h: Likewise.
43340         * lib/dirent-safer.h: Likewise.
43341         * lib/opendir-safer.c: Likewise.
43342         * m4/dirent-safer.m4: Likewise.
43343         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43344         * modules/dirent-safer-tests: New test.
43345         * tests/test-dirent-safer.c: New file.
43346         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43347
43348         fdopendir: optimize on mingw
43349         * lib/unistd.in.h (_gl_directory_name): New prototype.
43350         * lib/fchdir.c (_gl_directory_name): Implement it.
43351         (fchdir): Use it to simplify implementation.
43352         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43353         fchdir, when available, to avoid calling [f]chdir().
43354
43355         fdopendir: split into its own module
43356         * lib/openat.c (fdopendir): Move...
43357         * lib/fdopendir.c: ...into new file.
43358         * modules/fdopendir: New module.
43359         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43360         * modules/openat (Depends-on): Add fdopendir.
43361         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43362         fdopendir here.
43363         * modules/savedir (Depends-on): Only need fdopendir, not full
43364         openat.
43365         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43366         * lib/openat.h (fdopendir): Drop prototype.
43367         * lib/dirent.in.h (fdopendir): Provide prototype.
43368         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43369         * modules/dirent (Makefile.am): Substitute them.
43370         * MODULES.html.sh (File system functions): Mention it.
43371         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43372         * modules/fdopendir-tests: New file.
43373         * tests/test-fdopendir.c: Likewise.
43374
43375         fchdir: use more consistent macro convention
43376         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43377         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43378         REPLACE_FCHDIR, rather than relying on config.h macros.
43379         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43380         inside a single make-time REPLACE_FCHDIR block, rather than using
43381         the config.h FCHDIR_REPLACEMENT.
43382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43383         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43384         Manage fstat replacement.
43385         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43386         REPLACE_FCHDIR.
43387         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43388         (Makefile.am): Substitute REPLACE_FCHDIR.
43389         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43390         FCHDIR_REPLACEMENT.
43391         * lib/dup-safer.c (dup_safer): Likewise.
43392         * lib/dup2.c (rpl_dup2): Likewise.
43393         * lib/dup3.c (rpl_dup3): Likewise.
43394         * lib/open.c (rpl_open): Likewise.
43395
43396         fchdir: simplify error handling, and support dup3
43397         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43398         stdbool, malloc-posix, realloc-posix.
43399         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43400         (ensure_dirs_slot): Return false on allocation failure.
43401         (rpl_dup2): Delete.
43402         (_gl_register_dup): New function.
43403         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
43404         (_gl_register_fd): Close fd on allocation failure.
43405         * lib/fcntl.in.h (_gl_register_fd): Update signature.
43406         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
43407         prototype.
43408         (rpl_dup2_fchdir): Delete prototype.
43409         * lib/open.c (open): Update caller.
43410         * lib/dup2.c (dup2): Track fchdir metadata.
43411         * lib/dup3.c (dup3): Likewise.
43412         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
43413         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
43414
43415 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43416
43417         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
43418         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
43419         don't pass arguments to AC_OUTPUT.
43420
43421 2009-09-02  Bruno Haible  <bruno@clisp.org>
43422
43423         * modules/mkdtemp (License): Relicense under LGPLv2+.
43424         Reported by Paolo Bonzini.
43425
43426 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43427
43428         Replace uses of obsolete autoconf macros in Jim's modules.
43429         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
43430         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
43431         can evoke a warning from autoconf when run with -Wobsolete
43432         enabled.  They were declared obsolete for good reasons (see
43433         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
43434         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
43435         should not continue using the deprecated macros.
43436         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
43437         obsolete Autoconf macros with modern counterparts.
43438         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43439         * m4/dos.m4 (gl_AC_DOS): Likewise.
43440         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
43441         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
43442         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
43443         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
43444         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
43445         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
43446         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
43447         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
43448         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43449         Likewise.
43450         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
43451         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43452         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
43453         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
43454         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43455         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43456
43457 2009-09-01  Eric Blake  <ebb9@byu.net>
43458
43459         fchdir: fix off-by-one bug in previous patch
43460         * lib/fchdir.c (rpl_fstat): Use correct bounds.
43461         (_gl_unregister_fd): Delete useless if.
43462
43463 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
43464
43465         maint.mk: sort the list of syntax-check rules
43466         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
43467         easier to get a sense of progress when the rules are run sequentially
43468         and take a long time.
43469
43470 2009-09-01  Simon Josefsson  <simon@josefsson.org>
43471
43472         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
43473         * modules/netinet_in: Likewise.
43474         * modules/sys_file: Likewise.
43475         * modules/sys_ioctl: Likewise.
43476         * modules/sys_select: Likewise.
43477         * modules/sys_socket: Likewise.
43478         * modules/sys_stat: Likewise.
43479         * modules/sys_time: Likewise.
43480         * modules/sys_times: Likewise.
43481         * modules/sys_utsname: Likewise.
43482         * modules/sys_wait: Likewise.
43483
43484 2009-09-01  Jim Meyering  <meyering@redhat.com>
43485
43486         fts: help ensure that return values are not ignored
43487         * lib/fts_.h (__GNUC_PREREQ): Define.
43488         (__attribute_warn_unused_result__): Define.
43489         (fts_children, fts_close, fts_open, fts_read): Declare with
43490         __attribute_warn_unused_result__.
43491
43492         fts: fts_close now fails also when closing a dir file descriptor fails
43493         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
43494         and propagate to caller, along with errno.
43495
43496         announce-gen: correct formatting in --help output
43497         * build-aux/announce-gen (usage): Move the one-line description in
43498         --help output "up", to where it belongs, just after Usage:.
43499
43500 2009-08-31  Eric Blake  <ebb9@byu.net>
43501
43502         fchdir: port to mingw
43503         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
43504         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
43505         opened, then use a substitute.
43506         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
43507         replacement.
43508         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
43509         (_gl_register_fd): No need to check stat if open already filters
43510         all directories.
43511         (fchdir): Fix error condition to match POSIX.
43512         * modules/fchdir (Depends-on): Add sys_stat.
43513         * doc/posix-functions/open.texi (open): Document the limitation.
43514         * modules/fchdir-tests: New file.
43515         * tests/test-fchdir.c: Likewise.
43516
43517         canonicalize: allow cross-testing from cygwin to mingw
43518         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
43519         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
43520         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
43521         Likewise.
43522         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
43523         target does not support symlinks.
43524         * tests/test-canonicalize-lgpl.sh: Likewise.
43525
43526         chown: avoid compilation warning on mingw
43527         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
43528         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
43529         mingw.
43530         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43531         * modules/chown (Depends-on): Add errno.
43532
43533 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
43534
43535         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
43536         command.
43537
43538 2009-08-31  Jim Meyering  <meyering@redhat.com>
43539
43540         canonicalize: remove useless initialization
43541         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
43542         initialization of local, "end".
43543
43544 2009-08-30  Bruno Haible  <bruno@clisp.org>
43545
43546         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
43547         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
43548         ENOSYS.
43549
43550 2009-08-30  Bruno Haible  <bruno@clisp.org>
43551
43552         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
43553         /usr/xpg4/bin/tr when it exists.
43554         * tests/test-pipe-filter-gi1.sh: Likewise.
43555
43556 2009-08-30  Bruno Haible  <bruno@clisp.org>
43557
43558         Work around deficient /usr/bin/id program on Solaris.
43559         * tests/test-file-has-acl.sh (ID): New variable.
43560         * tests/test-set-mode-acl.sh (ID): Likewise.
43561         * tests/test-copy-acl.sh (ID): Likewise.
43562         * tests/test-copy-file.sh (ID): Likewise.
43563
43564 2009-08-30  Bruno Haible  <bruno@clisp.org>
43565
43566         New module 'xstriconveh'.
43567         * lib/xstriconveh.h: New file.
43568         * lib/xstriconveh.c: New file.
43569         * modules/xstriconveh: New file.
43570
43571 2009-08-30  Bruno Haible  <bruno@clisp.org>
43572
43573         Make it easier to use mem_cd_iconveh.
43574         * lib/striconveh.h (iconveh_t): New type.
43575         (iconveh_open, iconveh_close): New declarations.
43576         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43577         with a single 'const iconveh_t *' argument.
43578         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
43579         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43580         with a single 'const iconveh_t *' argument.
43581         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
43582         * tests/test-striconveh.c (main): Update.
43583         * NEWS: Mention the change.
43584
43585 2009-08-30  Bruno Haible  <bruno@clisp.org>
43586
43587         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
43588         problem.
43589
43590 2009-08-30  Bruno Haible  <bruno@clisp.org>
43591
43592         Work around iconv_open problem on Solaris.
43593         * lib/iconv_open-solaris.gperf: New file.
43594         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
43595         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
43596         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
43597         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
43598         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
43599         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
43600
43601 2009-08-29  Jim Meyering  <meyering@redhat.com>
43602
43603         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
43604         * top/maint.mk (cvs-check): Remove target; it was just an alias
43605         to the better-named vc-diff-check.
43606         (maintainer-distcheck): Remove rule.  It was used only from
43607         the (alpha/beta/major) target, and all of its commands but one
43608         were coreutils-specific.
43609         (vc-dist): Remove rule.
43610         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
43611         Run vc-diff-check, not vc-dist.
43612         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
43613
43614 2009-08-27  Bruno Haible  <bruno@clisp.org>
43615
43616         * tests/test-bitrotate.c (main): Remove test that uses a shift count
43617         of 0.
43618
43619 2009-08-27  Bruno Haible  <bruno@clisp.org>
43620
43621         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
43622         compilers.
43623         * doc/func.texi: Document the SunPRO C bug.
43624
43625 2009-08-27  Bruno Haible  <bruno@clisp.org>
43626
43627         Fix link error on Solaris.
43628         * tests/test-parse-duration.c (xstrdup): Remove function.
43629
43630 2009-08-26  Pádraig Brady  <P@draigbrady.com>
43631
43632         ignore-value: handle pointer types, too
43633         * lib/ignore-value.h (__attribute__): Remove definition.
43634         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
43635         of a more concise and more-often effective "(void) i" statement.
43636         (ignore_ptr): New function to suppress warnings from functions that
43637         return pointers, and to make it explicit that one function doesn't
43638         handle all cases.
43639
43640 2009-08-25  Bruno Haible  <bruno@clisp.org>
43641
43642         dup2: work around a Linux bug.
43643         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
43644         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
43645         * doc/posix-functions/dup2.texi: Mention the Linux bug.
43646         Reported by Simon Josefsson.
43647
43648 2009-08-25  Jim Meyering  <meyering@redhat.com>
43649
43650         libguestfs uses gnulib
43651         * users.txt: Add libguestfs.
43652
43653 2009-08-24  Eric Blake  <ebb9@byu.net>
43654
43655         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
43656         * lib/pipe2.c (includes): Add binary-io.h.
43657         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
43658
43659 2009-08-24  Bruno Haible  <bruno@clisp.org>
43660
43661         Tolerate declared but missing accept4 syscall.
43662         * lib/accept4.c (accept4): Invoke original accept4 function first, if
43663         available.
43664         * lib/sys_socket.in.h (accept4): If the function is already present,
43665         override it.
43666         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
43667         * modules/accept4 (Makefile.am): Compile accept4.c always.
43668         Reported by Paolo Bonzini and Eric Blake.
43669
43670 2009-08-23  Bruno Haible  <bruno@clisp.org>
43671
43672         New module 'accept4'.
43673         * lib/sys_socket.in.h (accept4): New declaration.
43674         * lib/accept4.c: New file.
43675         * m4/accept4.m4: New file.
43676         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43677         GNULIB_ACCEPT4, HAVE_ACCEPT4.
43678         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
43679         HAVE_ACCEPT4.
43680         * modules/accept4: New file.
43681         * doc/glibc-functions/accept4.texi: Mention the new module.
43682
43683 2009-08-24  Jim Meyering  <meyering@redhat.com>
43684
43685         progname: also set global program_invocation_name, when possible
43686         Before this change, a libtool-enabled program that calls glibc's
43687         error function would report the program name as
43688         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
43689         * modules/progname (configure.ac): Check for a declaration of
43690         program_invocation_name.
43691         * lib/progname.c:  Include <errno.h>.
43692         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
43693         Set program_invocation_name.
43694
43695 2009-08-23  Bruno Haible  <bruno@clisp.org>
43696
43697         * lib/dup3.c: Include <string.h>.
43698
43699 2009-08-23  Bruno Haible  <bruno@clisp.org>
43700
43701         * lib/dup3.c (dup3): Test only once whether the system actually exists.
43702         * lib/pipe2.c (pipe2): Likewise.
43703         Suggested by Eric Blake.
43704
43705 2009-08-23  Bruno Haible  <bruno@clisp.org>
43706
43707         Tolerate declared but missing dup3 syscall.
43708         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
43709         * lib/unistd.in.h (dup3): If the function is already present,
43710         override it.
43711         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
43712         * modules/dup3 (Makefile.am): Compile dup3.c always.
43713         Reported by Paolo Bonzini.
43714
43715 2009-08-23  Bruno Haible  <bruno@clisp.org>
43716
43717         Tolerate declared but missing pipe2 syscall.
43718         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
43719         available.
43720         * lib/unistd.in.h (pipe2): If the function is already present,
43721         override it.
43722         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
43723         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
43724         Reported by Paolo Bonzini.
43725
43726 2009-08-23  Bruno Haible  <bruno@clisp.org>
43727
43728         * lib/pipe2.c (pipe2): Move #ifs inside function.
43729
43730 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43731
43732         quotearg: document limitations of quote_these_too
43733         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
43734         those limitations are created.
43735         * lib/quotearg.h (set_char_quoting): Document that digits and
43736         letters that are special after backslash are not permitted.
43737         (quotearg_char): Cross-reference set_char_quoting documentation.
43738
43739 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
43740
43741         quotearg: implement custom_quoting_style
43742         * lib/quotearg.c: (struct quoting_options): Add left_quote and
43743         right_quote fields.
43744         (set_custom_quoting): New public function.
43745         (quotearg_buffer_restyled): Add left_quote and right_quote
43746         arguments, handle them very much like locale quoting, and update
43747         all uses.
43748         (quotearg_n_custom): New public function.
43749         (quotearg_n_custom_mem): New public function.
43750         (quotearg_custom): New public function.
43751         (quotearg_custom_mem): New public function.
43752         * lib/quotearg.h: Prototype and document new public functions.
43753         (enum quoting_style): For escape_quoting_style and
43754         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
43755         ignored even though they're otherwise like c_quoting_style.
43756         Add custom_quoting_style member and document with comparison to
43757         clocale_quoting_style.
43758         * tests/test-quotearg.c (custom_quotes): New array.
43759         (custom_results): New array.
43760         (main): Extend to test custom quoting.
43761
43762 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43763
43764         quotearg: fix right quote escaping when it's in quote_these_too
43765         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
43766         quote, be sure to prepend only one backslash.
43767         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43768         (main): Test it.
43769
43770 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43771
43772         quotearg-tests: test escaping of embedded locale quotes
43773         * tests/test-quotearg.c (struct result_strings): Add member for
43774         new input.
43775         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43776         (inputs): Add new input.
43777         (results_g): Add expected results.
43778         (flag_results): Likewise.
43779         (locale_results): Likewise.
43780         (compare_strings): Check those.
43781
43782 2009-08-23  Bruno Haible  <bruno@clisp.org>
43783
43784         Tests for module 'dup3'.
43785         * modules/dup3-tests: New file.
43786         * tests/test-dup3.c: New file.
43787
43788         New module 'dup3'.
43789         * lib/unistd.in.h (dup3): New declaration.
43790         * lib/dup3.c: New file.
43791         * m4/dup3.m4: New file.
43792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43793         HAVE_DUP3.
43794         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43795         * modules/dup3: New file.
43796         * doc/glibc-functions/dup3.texi: Mention the new module.
43797
43798 2009-08-23  Bruno Haible  <bruno@clisp.org>
43799
43800         Tweak the dup2 test.
43801         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43802         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43803         the test file is still empty. Fix argument order of lseek.
43804
43805 2009-08-23  Bruno Haible  <bruno@clisp.org>
43806
43807         Avoid test link errors when the modules getopt-gnu, gettext are used.
43808         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43809         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43810
43811 2009-08-23  Bruno Haible  <bruno@clisp.org>
43812
43813         Fix getdtablesize() on mingw.
43814         * lib/getdtablesize.c (getdtablesize): Implement differently.
43815         * lib/unistd.in.h (getdtablesize): Improve comment.
43816
43817 2009-08-23  Bruno Haible  <bruno@clisp.org>
43818
43819         New module 'mkostemp'.
43820         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43821         * lib/stdlib.in.h (mksotemp): New declaration.
43822         * lib/mkostemp.c: New file, from glibc with modifications.
43823         * lib/tempname.h (GT_FILE): Remove outdated comment.
43824         (gen_tempname): Add flags argument.
43825         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43826         (__GT_FILE): Map to 1.
43827         (small_open, large_open): Remove macros.
43828         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43829         * lib/mkstemp.c (mkstemp): Update.
43830         * lib/mkdtemp.c (mkdtemp): Likewise.
43831         * m4/mkostemp.m4: New file.
43832         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43833         HAVE_MKOSTEMP.
43834         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43835         HAVE_MKOSTEMP.
43836         * modules/mkostemp: New file, based on modules/mkstemp.
43837         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43838         * NEWS: Mention the change.
43839
43840 2009-08-23  Bruno Haible  <bruno@clisp.org>
43841
43842         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43843         Reported by Eric Blake.
43844
43845 2009-08-23  Bruno Haible  <bruno@clisp.org>
43846
43847         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43848         Reported by Eric Blake.
43849
43850 2009-08-23  Bruno Haible  <bruno@clisp.org>
43851
43852         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43853         * modules/pipe2 (Depends-on): Likewise.
43854
43855 2009-08-23  Eric Blake  <ebb9@byu.net>
43856
43857         fcntl-h: add O_TTY_INIT support
43858         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43859         * tests/test-fcntl-h.c (o): Test it.
43860         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43861
43862         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43863         * modules/fcntl: Move <fcntl.h> header replacement...
43864         * modules/fcntl-h: ...to new name, so as not to collide with
43865         like-named function.
43866         * tests/test-fcntl.c: Rename...
43867         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43868         * modules/fcntl-tests: Rename...
43869         * modules/fcntl-h-tests: ...to this.  Update test file name.
43870         * modules/chdir-long (Depends-on): Update clients.
43871         * modules/chdir-safer (Depends-on): Likewise.
43872         * modules/fcntl-safer (Depends-on): Likewise.
43873         * modules/fts (Depends-on): Likewise.
43874         * modules/mkancesdirs (Depends-on): Likewise.
43875         * modules/mkdir-p (Depends-on): Likewise.
43876         * modules/open (Depends-on): Likewise.
43877         * modules/savewd (Depends-on): Likewise.
43878         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43879         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43880
43881 2009-08-22  Bruno Haible  <bruno@clisp.org>
43882
43883         * modules/binary-io (License): Relicense under LGPL.
43884         * modules/pipe2 (License): Likewise.
43885
43886 2009-08-22  Bruno Haible  <bruno@clisp.org>
43887
43888         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43889         return value.
43890         * lib/pipe-filter-gi.c (filter_init): Likewise.
43891         Reported by Eric Blake.
43892
43893 2009-08-22  Bruno Haible  <bruno@clisp.org>
43894
43895         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43896         * modules/pipe (Depends-on): Add pipe2.
43897
43898 2009-08-22  Bruno Haible  <bruno@clisp.org>
43899
43900         Tests for module 'pipe2'.
43901         * modules/pipe2-tests: New file.
43902         * tests/test-pipe2.c: New file.
43903
43904         New module 'pipe2'.
43905         * lib/unistd.in.h (pipe2): New declaration.
43906         * lib/pipe2.c: New file.
43907         * m4/pipe2.m4: New file.
43908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43909         HAVE_PIPE2.
43910         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43911         * modules/pipe2: New file.
43912         * doc/glibc-functions/pipe2.texi: Mention the new module.
43913
43914 2009-08-22  Bruno Haible  <bruno@clisp.org>
43915
43916         Reference some new glibc functions.
43917         * doc/glibc-functions/accept4.texi: New file.
43918         * doc/glibc-functions/dup3.texi: New file.
43919         * doc/glibc-functions/mkostemp.texi: New file.
43920         * doc/glibc-functions/pipe2.texi: New file.
43921         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43922         (Glibc sys/socket.h): Refer to accept4.
43923         (Glibc unistd.h): Refer to dup3, pipe2.
43924         Reported by Eric Blake.
43925
43926 2009-08-22  Jim Meyering  <meyering@redhat.com>
43927             Bruno Haible  <bruno@clisp.org>
43928
43929         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43930         This makes it so packages using automake-1.11's silent-rules option
43931         can print e.g., a single "GEN    configmake.h" line, rather than
43932         the 30+ statements that perform the job.  If you want to see the
43933         actual commands, you can still run "make V=1".
43934         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43935         so that make output is abbreviated when those variables are defined
43936         appropriately.
43937         * modules/argz: Likewise.
43938         * modules/arpa_inet: Likewise.
43939         * modules/byteswap: Likewise.
43940         * modules/configmake: Likewise.
43941         * modules/dirent: Likewise.
43942         * modules/errno: Likewise.
43943         * modules/fcntl: Likewise.
43944         * modules/float: Likewise.
43945         * modules/fnmatch: Likewise.
43946         * modules/getopt-posix: Likewise.
43947         * modules/glob: Likewise.
43948         * modules/iconv_open: Likewise.
43949         * modules/inttypes: Likewise.
43950         * modules/localcharset: Likewise.
43951         * modules/locale: Likewise.
43952         * modules/math: Likewise.
43953         * modules/netdb: Likewise.
43954         * modules/netinet_in: Likewise.
43955         * modules/poll: Likewise.
43956         * modules/posix_spawnp-tests: Likewise.
43957         * modules/sched: Likewise.
43958         * modules/search: Likewise.
43959         * modules/selinux-h: Likewise.
43960         * modules/signal: Likewise.
43961         * modules/spawn: Likewise.
43962         * modules/stdarg: Likewise.
43963         * modules/stdbool: Likewise.
43964         * modules/stddef: Likewise.
43965         * modules/stdint: Likewise.
43966         * modules/stdio: Likewise.
43967         * modules/stdlib: Likewise.
43968         * modules/string: Likewise.
43969         * modules/strings: Likewise.
43970         * modules/sys_file: Likewise.
43971         * modules/sys_ioctl: Likewise.
43972         * modules/sys_select: Likewise.
43973         * modules/sys_socket: Likewise.
43974         * modules/sys_stat: Likewise.
43975         * modules/sys_time: Likewise.
43976         * modules/sys_times: Likewise.
43977         * modules/sys_utsname: Likewise.
43978         * modules/sys_wait: Likewise.
43979         * modules/sysexits: Likewise.
43980         * modules/time: Likewise.
43981         * modules/unistd: Likewise.
43982         * modules/wchar: Likewise.
43983         * modules/wctype: Likewise.
43984
43985 2009-08-22  Jim Meyering  <meyering@redhat.com>
43986
43987         announce-gen: detect write failure
43988         * build-aux/announce-gen: Add Coda at end.
43989         Remove equivalent-but-more-verbose block at top.
43990
43991 2009-08-19  Akim Demaille  <demaille@gostai.com>
43992
43993         bootstrap: --help to stdout.
43994         * bootstrap (usage): Don't send --help to stderr.
43995         Use a here doc instead of a long string.
43996
43997 2009-08-21  Eric Blake  <ebb9@byu.net>
43998
43999         test-popen-safer: split from test-popen
44000         * tests/test-popen.c (main): Move...
44001         * tests/test-popen.h: ...into new file.
44002         * tests/test-popen-safer2.c: New file.
44003         * modules/popen-tests (Files): Add test-popen.h.
44004         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
44005         Suggested by Bruno Haible.
44006
44007         test-fcntl-safer: split from test-open
44008         * tests/test-open.c (main): Move...
44009         * tests/test-open.h: ...into new file.
44010         * tests/test-fcntl-safer.c: New file.
44011         * modules/open-tests (Files): Add test-open.h.
44012         * modules/fcntl-safer-tests: New file.
44013         Suggested by Bruno Haible.
44014
44015         test-fopen-safer: split from test-fopen
44016         * tests/test-fopen.c (main): Move...
44017         * tests/test-fopen.h: ...into new file.
44018         * tests/test-fopen-safer.c: New file.
44019         * modules/fopen-tests (Files): Add test-fopen.h.
44020         * modules/fopen-safer-tests: New file.
44021         Suggested by Bruno Haible.
44022
44023 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44024
44025         popen-safer: test O_CLOEXEC at run-time.
44026         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
44027
44028 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44029
44030         fcntl: move more flags to the header
44031         * lib/cloexec.c: Do not define FD_CLOEXEC here.
44032         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
44033         * lib/fcntl.in.h: Do both things here.
44034
44035 2009-08-21  Jim Meyering  <meyering@redhat.com>
44036
44037         consistently remove $@-t before redirecting to it
44038         * modules/argz: Remove $@-t and $@ before redirecting to the former.
44039         * modules/alloca-opt: Likewise.
44040         * modules/byteswap: Likewise.
44041         * modules/fnmatch: Likewise.
44042         * modules/getopt-posix: Likewise.
44043         * modules/glob: Likewise.
44044         * modules/poll: Likewise.
44045         * modules/posix_spawnp-tests: Likewise.
44046         * modules/sys_socket: Likewise.
44047         * modules/sysexits: Likewise.
44048
44049 2009-08-21  Eric Blake  <ebb9@byu.net>
44050
44051         popen: simplify access to original popen
44052         * lib/popen.c (rpl_popen): No need to worry about popen being a
44053         macro.
44054         Reported by Bruno Haible.
44055
44056 2009-08-20  Eric Blake  <ebb9@byu.net>
44057
44058         build: avoid some compiler warnings
44059         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
44060         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
44061         type.
44062         (new_exclude_segment, excluded_file_pattern_p)
44063         (excluded_file_name_p): Reduce scope.
44064         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
44065         old-style declaration.
44066
44067 2009-08-20  Simon Josefsson  <simon@josefsson.org>
44068
44069         * tests/test-exclude1.sh: Handle Windows EOL.
44070         * tests/test-exclude2.sh: Likewise.
44071         * tests/test-exclude3.sh: Likewise.
44072         * tests/test-exclude4.sh: Likewise.
44073         * tests/test-exclude5.sh: Likewise.
44074         * tests/test-exclude6.sh: Likewise.
44075         * tests/test-exclude7.sh: Likewise.
44076
44077 2009-08-19  Akim Demaille  <demaille@gostai.com>
44078
44079         bootstrap: find sha1sum when named gsha1sum.
44080         * bootstrap (find_tool): New.
44081         ($SHA1SUM): New.
44082         Use it.
44083
44084 2009-08-20  Jim Meyering  <meyering@redhat.com>
44085
44086         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
44087         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
44088         expression that converts "." in a file name to "\." in the resulting
44089         regexp.  Start with a dummy statement, so that prior shell variable
44090         definitions are expanded portably.  Reported by Simon Josefsson.
44091
44092 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
44093
44094         Fix polling for writeability of a screen buffer.
44095         * lib/poll.c: Distinguish input and screen buffers for the
44096         Win32 implementation.
44097         * lib/select.c: Likewise.
44098
44099 2009-08-19  Eric Blake  <ebb9@byu.net>
44100
44101         popen-safer: prevent popen from clobbering std descriptors
44102         * modules/popen-safer: New file.
44103         * lib/popen-safer.c: Likewise.
44104         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
44105         * lib/stdio--.h (popen): Provide override.
44106         * lib/stdio-safer.h (popen_safer): Provide declaration.
44107         * tests/test-popen.c (includes): Partially test this.
44108         * modules/popen-safer-tests: New file, for more tests.
44109         * tests/test-popen-safer.c: Likewise.
44110         * MODULES.html.sh (file stream based Input/Output): Mention it.
44111
44112         tests: test some of the *-safer modules
44113         * modules/fopen-safer (Depends-on): Add fopen.
44114         * modules/fcntl-safer (Depends-on): Add fcntl.
44115         * modules/stdlib-safer (Depends-on): Add stdlib.
44116         (configure.ac): Set indicator.
44117         * modules/unistd-safer (configure.ac): Likewise.
44118         * modules/tmpfile-safer (configure.ac): Likewise.
44119         (Depends-on): Add tmpfile.
44120         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
44121         active.
44122         * tests/test-fopen.c (includes): Test safer versions when they are
44123         in use.
44124         * tests/test-open.c (includes): Likewise.
44125
44126         popen: fix cygwin 1.5 bug when stdin closed
44127         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
44128         * modules/popen: New file.
44129         * modules/popen-tests: Likewise.
44130         * tests/test-popen.c: Likewise.
44131         * m4/popen.m4: Likewise.
44132         * lib/popen.c: Likewise.
44133         * lib/stdio.in.h (popen): New declaration.
44134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
44135         * modules/stdio (Makefile.am): Likewise.
44136         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
44137
44138 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
44139
44140         maint.mk: give full control over update-copyright exclusions
44141         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
44142         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
44143         (update-copyright): Don't force inclusion of top-level
44144         ChangeLog.  Don't force exclusion of all COPYING files, but make
44145         them the default exclusion instead.
44146
44147 2009-08-16  Bruno Haible  <bruno@clisp.org>
44148
44149         Fix test failures on Solaris 10.
44150         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
44151         tests when Solaris iconv() is used.
44152         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44153         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44154         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44155         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44156         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44157
44158 2009-08-16  Bruno Haible  <bruno@clisp.org>
44159
44160         Fix test failures on Solaris 10.
44161         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
44162         'tr' program and pass it as first argument.
44163         * tests/test-pipe-filter-gi1.sh: Likewise.
44164         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
44165         program as first argument.
44166         * tests/test-pipe-filter-gi1.c (main): Likewise.
44167
44168 2009-08-16  Eric Blake  <ebb9@byu.net>
44169
44170         fpurge: fix previous commits
44171         * modules/fpurge (Makefile.am): Make replacement conditional,
44172         partially reverting 2007-04-29 change; missed in previous
44173         attempt.
44174         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
44175         is missing.
44176
44177 2009-08-16  Bruno Haible  <bruno@clisp.org>
44178
44179         Clarify fpurge's effect on the file position.
44180         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
44181         * tests/test-fpurge.c (main): Make a second pass for checking the file
44182         position.
44183
44184 2009-08-16  Bruno Haible  <bruno@clisp.org>
44185
44186         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
44187         declaration of fpurge is missing.
44188         * tests/test-fpurge.c (main): Check that the file has not more contents
44189         than expected. Close the file before removing it.
44190
44191 2009-08-15  Eric Blake  <ebb9@byu.net>
44192
44193         fpurge: don't wrap working cygwin implementation
44194         * lib/fpurge.c (fpurge): Fix comment typo.
44195         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
44196         1.7 to avoid replacement.
44197         * tests/test-fpurge.c (main): Enhance test.
44198
44199 2009-08-15  Eric Blake  <ebb9@byu.net>
44200         and Jim Meyering  <meyering@redhat.com>
44201
44202         test-update-copyright: skip if perl is insufficient
44203         * tests/test-update-copyright.sh: Failure to run maintainer tool
44204         should not cause testsuite failure on cygwin 1.5.
44205
44206 2009-08-14  Eric Blake  <ebb9@byu.net>
44207
44208         doc: mention more functions added in cygwin 1.7.0
44209         * doc/posix-headers/limits.texi (limits.h): Update for recent
44210         cygwin additions.
44211         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
44212         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
44213         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
44214         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
44215         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
44216
44217 2009-08-14  Eric Blake  <ebb9@byu.net>
44218
44219         maint.mk: simplify update-copyright rule
44220         * top/maint.mk (update-copyright-local): Delete, and document how
44221         to do it in cfg.mk instead.
44222         (update-copyright-exclude-regexp): Delete, and document how to do
44223         it in .x-update-copyright instead.
44224         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
44225         exclude ChangeLog.
44226
44227 2009-08-14  Bruno Haible  <bruno@clisp.org>
44228
44229         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
44230
44231 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44232
44233         maint.mk: support update-copyright-env
44234         * top/maint.mk (update-copyright-env): Define place-holder.
44235         (update-copyright): Expand $(update-copyright-env) before
44236         invoking update-copyright.
44237
44238 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44239
44240         update-copyright: implement forced reformatting
44241         * build-aux/update-copyright: Implement and document
44242         UPDATE_COPYRIGHT_FORCE.
44243         * tests/test-update-copyright.sh: Test it.
44244
44245 2009-08-14  Eric Blake  <ebb9@byu.net>
44246         and Bruno Haible  <bruno@clisp.org>
44247
44248         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
44249         * tests/test-locale.c: Revert previous patch related to NULL.
44250         * tests/test-stdio.c: Likewise.
44251         * tests/test-stdlib.c: Likewise.
44252         * tests/test-string.c: Likewise.
44253         * tests/test-unistd.c: Likewise.
44254         * modules/time-tests (Depends-on): Add verify.
44255         * modules/wchar-tests (Depends-on): Likewise.
44256         * tests/test-time.c: Test for NULL compliance.
44257         * tests/test-wchar.c: Likewise.
44258         * modules/locale (Depends-on): Add stddef.
44259         * modules/stdio (Depends-on): Likewise.
44260         * modules/stdlib (Depends-on): Likewise.
44261         * modules/string (Depends-on): Likewise.
44262         * modules/time (Depends-on): Likewise.
44263         * modules/unistd (Depends-on): Likewise.
44264         * modules/wchar (Depends-on): Likewise.
44265         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
44266         * lib/stdlib.in.h (includes): Likewise.
44267         * lib/string.in.h (includes): Likewise.
44268         * lib/time.in.h (includes): Likewise.
44269         * lib/unistd.in.h (includes): Likewise.
44270         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
44271         replaced.
44272         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44273         * m4/stddef_h.m4: New file.
44274         * modules/stddef: Likewise.
44275         * lib/stddef.in.h: Likewise.
44276         * modules/stddef-tests: Likewise.
44277         * tests/test-stddef.c: Likewise.
44278         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
44279         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
44280         * doc/posix-headers/locale.texi (locale.h): Likewise.
44281         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
44282         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
44283         * doc/posix-headers/string.texi (string.h): Likewise.
44284         * doc/posix-headers/time.texi (time.h): Likewise.
44285         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
44286         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
44287
44288 2009-08-14  Eric Blake  <ebb9@byu.net>
44289
44290         doc: improve git diff of texinfo files
44291         * .gitattributes: Add rule for *.texi files, with hint on how to
44292         use it.
44293         Copied from m4, and based on a report by Bruno Haible.
44294
44295 2009-08-14  Bruno Haible  <bruno@clisp.org>
44296
44297         Disable multithread support by default on Cygwin 1.5.x for real.
44298         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
44299
44300 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44301
44302         update-copyright: much ado about intervals
44303         * build-aux/update-copyright: Implement and document
44304         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
44305         of copyright year intervals.
44306         Also, document UPDATE_COPYRIGHT_YEAR.
44307         * tests/test-update-copyright.sh: Test it.
44308
44309         update-copyright: convert 2-digit to 4-digit years
44310         * build-aux/update-copyright: Implement and document.
44311         * tests/test-update-copyright.sh: Update.
44312
44313 2009-08-14  Jim Meyering  <meyering@redhat.com>
44314
44315         test-exclude: avoid coreutils "make check" failure
44316         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
44317         just as in test-argmatch.c.
44318
44319 2009-08-13  Eric Blake  <ebb9@byu.net>
44320
44321         test-dup2: fix bad assumption
44322         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
44323         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
44324
44325         test-version-etc: fix CRLF portability issue
44326         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
44327         recognize \r.
44328         * tests/test-argp-version-etc-1.sh: Likewise.
44329
44330         getopt: update client modules
44331         * modules/argp (Depends-on): Use getopt-gnu.
44332         * modules/git-merge-changelog (Depends-on): Likewise.
44333         * modules/long-options (Depends-on): Likewise.
44334         * modules/xstrtol (Depends-on): Likewise.
44335
44336 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44337
44338         * tests/test-version-etc.sh: Don't fail on different
44339         project/version.  Don't fail on CRLF differences.  Rewrite to use
44340         multiple -e instead of multiple sed forks, suggested by Eric Blake
44341         <ebb9@byu.net>.
44342         * tests/test-argp-version-etc-1.sh: Likewise.
44343
44344 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44345
44346         * tests/test-version-etc.sh: Don't fail on different
44347         project/version.
44348
44349 2009-08-12  Bruno Haible  <bruno@clisp.org>
44350
44351         Tests for modules 'getopt-posix', 'getopt-gnu'.
44352         * modules/getopt-posix-tests: New file.
44353         * tests/test-getopt.c: New file.
44354         * tests/test-getopt.h: New file.
44355         * tests/test-getopt_long.h: New file.
44356
44357         New modules 'getopt-posix', 'getopt-gnu'.
44358         * modules/getopt-gnu: New file, renamed from modules/getopt.
44359         * modules/getopt-posix: New file.
44360         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44361         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44362         (gl_GETOPT): Remove macro.
44363         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44364         Disable the test against BSD systems that declare optreset. Test
44365         against mingw bug. Test against lack of support of optional arguments
44366         on many platforms.
44367         * doc/glibc-headers/getopt.texi: Update module name and list of
44368         relevant platforms.
44369         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44370         'getopt-gnu' and more portability problems.
44371         * NEWS: Mention the changes.
44372
44373 2009-08-12  Bruno Haible  <bruno@clisp.org>
44374
44375         Ensure that optarg etc. get declared by <unistd.h>.
44376         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44377         AC_USE_SYSTEM_EXTENSIONS.
44378         * modules/getopt (Depends-on): Add 'extensions'.
44379
44380 2009-08-12  Bruno Haible  <bruno@clisp.org>
44381
44382         Avoid test link errors.
44383         * modules/pipe-filter-ii-tests (Makefile.am): Define
44384         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44385         * modules/pipe-filter-gi-tests (Makefile.am): Define
44386         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44388
44389 2009-08-12  Bruno Haible  <bruno@clisp.org>
44390
44391         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44392         gl_GETOPT_SUBSTITUTE before.
44393         (gl_GETOPT): Use it.
44394         * m4/argp.m4 (gl_ARGP): Update.
44395         Reported by Sergey Poznyakoff.
44396
44397         * m4/getopt.m4: Reorder macros.
44398         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44399         (gl_GETOPT_SUBSTITUTE): Remove macro.
44400
44401 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44402
44403         Minor improvement in gitlog-to-changelog
44404
44405         * build-aux/gitlog-to-changelog: New option `--format' makes
44406         output format string configurable.
44407
44408 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44409
44410         Optimize exclude: use hash tables for non-wildcard patterns.
44411
44412         * lib/exclude.c: Include hash.h and mbuiter.h
44413         (struct exclude_pattern, exclude_segment): New data types.
44414         (struct exclude): Rewrite.
44415         (fnmatch_pattern_has_wildcards): New function.
44416         (new_exclude_segment, free_exclude_segment): New functions.
44417         (excluded_file_pattern_p, excluded_file_name_p): New functions.
44418         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
44419         * lib/exclude.h (is_fnmatch_pattern): New prototype.
44420         * modules/exclude: Depend on hash and mbuiter.
44421
44422         * modules/exclude-tests: New file.
44423         * tests/test-exclude.c: New file.
44424         * tests/test-exclude1.sh: New file.
44425         * tests/test-exclude2.sh: New file.
44426         * tests/test-exclude3.sh: New file.
44427         * tests/test-exclude4.sh: New file.
44428         * tests/test-exclude5.sh: New file.
44429         * tests/test-exclude6.sh: New file.
44430         * tests/test-exclude7.sh: New file.
44431
44432 2009-08-12  Bruno Haible  <bruno@clisp.org>
44433
44434         Ensure that getopt() gets declared by <unistd.h>.
44435         * lib/unistd.in.h: Conditionally include getopt.h.
44436         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
44437         Set GNULIB_UNISTD_H_GETOPT.
44438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44439         GNULIB_UNISTD_H_GETOPT.
44440         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
44441
44442 2009-08-12  Bruno Haible  <bruno@clisp.org>
44443
44444         Clarify logic.
44445         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
44446         gl_replace_getopt instead of GETOPT_H.
44447
44448 2009-08-12  Bruno Haible  <bruno@clisp.org>
44449
44450         * m4/getopt.m4: Add comments.
44451
44452 2009-08-12  Bruno Haible  <bruno@clisp.org>
44453
44454         Disable multithread support by default on Cygwin 1.5.x.
44455         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
44456         set gl_use_threads=no if not specified otherwise.
44457
44458 2009-08-11  Bruno Haible  <bruno@clisp.org>
44459
44460         Avoid compilation error on NetBSD 5.0.
44461         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
44462         * tests/test-stdio.c: Likewise.
44463         * tests/test-stdlib.c: Likewise.
44464         * tests/test-string.c: Likewise.
44465         * tests/test-unistd.c: Likewise.
44466         Reported by Greg Troxel <gdt@ir.bbn.com>
44467         at <https://savannah.gnu.org/support/?106973>.
44468
44469 2009-08-11  Bruno Haible  <bruno@clisp.org>
44470
44471         * modules/dup2-tests (Depends-on): Remove close.
44472
44473         Undo 2009-07-19 commit.
44474         * modules/acl-tests (Depends-on): Remove close.
44475         * modules/binary-io-tests (Depends-on): Likewise.
44476         * modules/closein-tests (Depends-on): Likewise.
44477         * modules/flock-tests (Depends-on): Likewise.
44478         * modules/fsync-tests (Depends-on): Likewise.
44479         * modules/lseek-tests (Depends-on): Likewise.
44480         * modules/pipe-tests (Depends-on): Likewise.
44481         * modules/posix_spawn-tests (Depends-on): Likewise.
44482         * modules/posix_spawnp-tests (Depends-on): Likewise.
44483         * modules/stat-time-tests (Depends-on): Likewise.
44484         * modules/yesno-tests (Depends-on): Likewise.
44485
44486 2009-08-10  Bruno Haible  <bruno@clisp.org>
44487
44488         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
44489
44490 2009-08-10  Bruno Haible  <bruno@clisp.org>
44491
44492         Fix a gcc warning.
44493         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
44494
44495 2009-08-10  Bruno Haible  <bruno@clisp.org>
44496
44497         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
44498         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
44499         not only the first time.
44500         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
44501         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
44502         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
44503         is 1, not only the the first time.
44504
44505 2009-08-10  Bruno Haible  <bruno@clisp.org>
44506
44507         Make it possible to use module 'gethostname' without module 'close'.
44508         * lib/unistd.in.h (close): Evoke a link error only if
44509         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44511         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44512         * modules/unistd (Makefile.am): Substitute
44513         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44514         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
44515         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44516         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
44517         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44518         * modules/sys_ioctl (Makefile.am): Substitute
44519         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44520         * modules/socket (configure.ac): On native Windows, set
44521         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
44522         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44523         Reported by Sam Steingold <sds@gnu.org>.
44524
44525 2009-08-10  Bruno Haible  <bruno@clisp.org>
44526
44527         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
44528         * modules/ioctl (configure.ac): Likewise.
44529
44530 2009-08-10  Bruno Haible  <bruno@clisp.org>
44531
44532         Avoid collision between gnulib wrapper and libintl wrapper.
44533         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
44534         already defined in intl/printf.c.
44535         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
44536         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
44537
44538 2009-08-09  Bruno Haible  <bruno@clisp.org>
44539
44540         Make <sys/select.h> really self-contained, also on Solaris 10.
44541         * lib/sys_select.in.h: Include <string.h>.
44542         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
44543         Solaris 10 problem.
44544         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
44545         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
44546         Reported by Jim Meyering.
44547
44548 2009-08-09  Bruno Haible  <bruno@clisp.org>
44549
44550         Avoid warnings from 'aclocal' that are due to a use of macro name
44551         AM_XGETTEXT_OPTION that is not defined in automake.
44552         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
44553         automake.
44554         * modules/error (configure.ac): Likewise.
44555         * modules/propername (configure.ac): Likewise.
44556         * modules/vasprintf (configure.ac): Likewise.
44557         * modules/verror (configure.ac): Likewise.
44558         * modules/xprintf (configure.ac): Likewise.
44559         * modules/xvasprintf (configure.ac): Likewise.
44560
44561 2009-08-08  Bruno Haible  <bruno@clisp.org>
44562
44563         Avoid compilation error in C++ mode.
44564         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
44565         Reported by Sam Steingold <sds@gnu.org>.
44566
44567 2009-08-08  Bruno Haible  <bruno@clisp.org>
44568
44569         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
44570         for the various Unix platforms.
44571         * doc/posix-headers/limits.texi: Update platforms list regarding
44572         HOST_NAME_MAX.
44573         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44574
44575 2009-08-07  Jim Meyering  <meyering@redhat.com>
44576
44577         selinux-at: fix typo in a comment
44578         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
44579         Spotted by Paolo Bonzini.
44580
44581         selinux-at: remove redundant m4 code, add documentation
44582         * modules/selinux-at (configure.ac): Remove redundant code.
44583         LIB_SELINUX is already set via the dependent module, selinux-h.
44584         (Include): Add quotes around selinux-at.h.
44585         * lib/selinux-at.h: Add documentation.
44586         Reported by Bruno Haible in
44587         http://marc.info/?l=gnulib-bug&m=124958988300749
44588
44589 2009-08-07  Bruno Haible  <bruno@clisp.org>
44590
44591         Avoid link error on MacOS X 10.3 and 10.4.
44592         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
44593         on non-ELF systems.
44594         * lib/argp-pv.c (argp_program_version): Likewise.
44595         Reported by Simon Josefsson.
44596
44597 2009-08-07  Simon Josefsson  <simon@josefsson.org>
44598
44599         * tests/test-version-etc.sh: Use $EXEEXT.
44600
44601 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
44602
44603         update-copyright: update documentation to point to maint.mk
44604         * build-aux/update-copyright: Here.
44605
44606 2009-08-06  Jim Meyering  <meyering@redhat.com>
44607
44608         maint.mk: support update-copyright-local
44609         * top/maint.mk (update-copyright-local): Define place-holder.
44610         (update-copyright): Depend on $(update-copyright-local).
44611
44612 2009-08-06  Jim Meyering  <meyering@redhat.com>
44613
44614         selinux-at: new module
44615         Initially written for coreutils, this module will soon be
44616         used by findutils, too.
44617         * MODULES.html.sh [Misc]: Add selinux-at.
44618         * lib/selinux-at.h: New file, from coreutils.
44619         * lib/selinux-at.c: Likewise.
44620         * modules/selinux-at: Likewise.
44621         (License): Change from LGPL to GPL, since it depends
44622         on the GPL'd openat module.
44623
44624         doc: update README
44625         * README: Remove references to cogito.
44626         Remove cvs-repo-updating instructions from 2007.
44627         Don't imply that CVS is better if you have limited disk space.
44628
44629 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44630
44631         update-copyright: support C-style comments
44632         * build-aux/update-copyright: Implement and document.
44633         * tests/test-update-copyright.sh: Test.
44634
44635 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44636
44637         update-copyright: support omitted "(C)"
44638         * build-aux/update-copyright: Implement and document.  Also,
44639         allow variable whitespace before "(C)".
44640         * tests/test-update-copyright.sh: Test.
44641
44642 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44643
44644         update-copyright: don't trip on non-FSF copyright statements
44645         * build-aux/update-copyright: Fix so that the first correctly
44646         formatted FSF copyright statement is recognized no matter what
44647         appears before it.  Update documentation.
44648         * tests/test-update-copyright.sh: Test that.
44649
44650 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44651
44652         update-copyright: clean up code a little
44653         * build-aux/update-copyright: Append "_re" to the name of any
44654         variable holding a regular expression.
44655         Replace "old" and "new" with "stmt" in variable names.
44656         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
44657         handled correctly.
44658         Format code more consistently.
44659
44660 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44661
44662         update-copyright-tests: improve portability
44663         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
44664         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
44665
44666 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44667
44668         update-copyright: support @copyright{} and &copy;
44669         * build-aux/update-copyright: Implement and document.
44670         * tests/test-update-copyright.sh: Test.
44671
44672 2009-08-04  Jim Meyering  <meyering@redhat.com>
44673
44674         update-copyright-tests: correctly test EOL=\r\n handling
44675         * tests/test-update-copyright.sh: Put \r at the end of some lines
44676         for the dos-eol tests.  Based on a patch by Joel E. Denny.
44677
44678         maint.mk: make update-copyright exclusion list more configurable
44679         * top/maint.mk (update-copyright): Default to excluding COPYING,
44680         but allow an override, in case someone does want to update that file.
44681
44682         maint.mk: don't update copyright date in COPYING
44683         * top/maint.mk (update-copyright): Exclude COPYING.
44684
44685         maint.mk: add a copyright-updating rule
44686         * top/maint.mk (update-copyright): New rule.
44687         Derived from coreutils/Makefile.am.
44688
44689         update-copyright: rename some variables
44690         * build-aux/update-copyright: Rename a few variables for clarity.
44691         Tweak syntax.  List Joel E. Denny as coauthor.
44692
44693 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44694
44695         update-copyright: fix bug for 2-digit last year and add tests
44696         * build-aux/update-copyright: Fix bug.
44697         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
44698         specified.
44699         * modules/update-copyright-tests: New
44700         * tests/test-update-copyright.sh: New.
44701
44702 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44703
44704         update-copyright: handle leading tabs in line prefix
44705         * build-aux/update-copyright: Count leading tabs as 8 spaces
44706         when computing margin.  This helps with the formatting of
44707         ChangeLogs, for example.
44708         Fix documentation a little.
44709
44710 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44711
44712         update-copyright: support EOL=\r\n
44713         * build-aux/update-copyright: Implement that.
44714
44715 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44716
44717         update-copyright: automatically format copyright statements
44718         * build-aux/update-copyright: Implement that.
44719         Also, be a little more predictable and safer by always failing
44720         when the full copyright format is not perfectly recognized as an
44721         unbroken whole.  Discussed at
44722         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
44723         Rewrite documentation.
44724
44725 2009-08-03  Bruno Haible  <bruno@clisp.org>
44726
44727         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
44728
44729 2009-08-02  Bruno Haible  <bruno@clisp.org>
44730
44731         Tests for module 'uname'.
44732         * modules/uname-tests: New file.
44733         * tests/test-uname.c: New file.
44734
44735         New module 'uname'.
44736         * lib/uname.c: New file.
44737         * m4/uname.m4: New file.
44738         * modules/uname: New file.
44739         * doc/posix-functions/uname.texi: Mention the new module.
44740
44741 2009-08-02  Bruno Haible  <bruno@clisp.org>
44742
44743         Tests for module 'sys_utsname'.
44744         * modules/sys_utsname-tests: New file.
44745         * tests/test-sys_utsname.c: New file.
44746
44747         New module 'sys_utsname'.
44748         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
44749         * m4/sys_utsname_h.m4: New file.
44750         * modules/sys_utsname: New file.
44751         * doc/posix-headers/sys_utsname.texi: Mention the new module.
44752
44753 2009-08-02  Bruno Haible  <bruno@clisp.org>
44754
44755         Implicitly initialize the sockets library.
44756         * lib/gethostname.c: Include sockets.h.
44757         (rpl_gethostname): Invoke gl_sockets_startup.
44758         * lib/socket.c: Include sockets.h.
44759         (rpl_socket): Invoke gl_sockets_startup.
44760         * modules/gethostname (Depends-on): Add sockets.
44761         * modules/socket (Depends-on): Likewise.
44762         * tests/test-poll.c: Don't include sockets.h.
44763         (main): Don't invoke gl_sockets_startup.
44764         * tests/test-select.c: Don't include sockets.h.
44765         (main): Don't invoke gl_sockets_startup.
44766
44767 2009-08-02  Bruno Haible  <bruno@clisp.org>
44768
44769         Allow multiple calls to gl_sockets_startup.
44770         * lib/sockets.c (initialized_sockets_version): New variable.
44771         (gl_sockets_startup): Do nothing if already called for this or a higher
44772         version.
44773         (gl_sockets_cleanup): Reset initialized_sockets_version.
44774
44775 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44776
44777         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44778         different project/version.
44779
44780 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44781             Bruno Haible  <bruno@clisp.org>
44782
44783         Tests for module 'pipe-filter-gi'.
44784         * modules/pipe-filter-gi-tests: New file.
44785         * tests/test-pipe-filter-gi1.sh: New file.
44786         * tests/test-pipe-filter-gi1.c: New file.
44787         * tests/test-pipe-filter-gi2.sh: New file.
44788         * tests/test-pipe-filter-gi2-main.c: New file.
44789         * tests/test-pipe-filter-gi2-child.c: New file.
44790
44791         New module 'pipe-filter-gi'.
44792         * lib/pipe-filter-gi.c: New file.
44793         * modules/pipe-filter-gi: New file.
44794
44795 2009-08-02  Bruno Haible  <bruno@clisp.org>
44796             Paolo Bonzini  <bonzini@gnu.org>
44797
44798         Tests for module 'pipe-filter-ii'.
44799         * modules/pipe-filter-ii-tests: New file.
44800         * tests/test-pipe-filter-ii1.sh: New file.
44801         * tests/test-pipe-filter-ii1.c: New file.
44802         * tests/test-pipe-filter-ii2.sh: New file.
44803         * tests/test-pipe-filter-ii2-main.c: New file.
44804         * tests/test-pipe-filter-ii2-child.c: New file.
44805
44806         New module 'pipe-filter-ii'.
44807         * lib/pipe-filter.h: New file.
44808         * lib/pipe-filter-ii.c: New file.
44809         * lib/pipe-filter-aux.h: New file.
44810         * modules/pipe-filter-ii: New file.
44811
44812 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44813
44814         * lib/gc-libgcrypt.c: Change copyright to FSF.
44815         * lib/gc-gnulib.c: Likewise.
44816
44817 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44818
44819         * lib/gethostname.c: Include limits.h.
44820
44821 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44822             Bruno Haible  <bruno@clisp.org>
44823
44824         Ensure HOST_NAME_MAX as part of the gethostname module.
44825         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44826         define also HOST_NAME_MAX.
44827         * tests/test-gethostname.c: Include <limits.h>.
44828         (main): Check also HOST_NAME_MAX.
44829         * doc/posix-headers/limits.texi: Document the mingw problem.
44830
44831 2009-08-02  Bruno Haible  <bruno@clisp.org>
44832
44833         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44834         Add comments.
44835
44836 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44837
44838         * lib/gethostname.c: Add Windows wrapper.
44839         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44840         * modules/gethostname: Depend on sys_socket & errno, for also
44841         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44842         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44843
44844 2009-07-31  Jim Meyering  <meyering@redhat.com>
44845
44846         getloadavg: fix symbol name in comment
44847         * lib/getloadavg.c: Correct a typo I introduced when adding
44848         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44849         Matt Kraai spotted the problem.
44850
44851 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44852
44853         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44854         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44855         code also if ! defined N_NAME_POINTER.
44856         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44857         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44858         but the n_name member is a 12-byte array.
44859
44860 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44861
44862         update-copyright: generalize comment handling
44863         * build-aux/update-copyright: Handle copyright statements
44864         within more comment styles.
44865         Document usage.
44866         Report any file with an external copyright holder or parse failure.
44867
44868 2009-07-29  Jim Meyering  <meyering@redhat.com>
44869
44870         mktime: correct setting of REPLACE_MKTIME
44871         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44872
44873         update-copyright: new module
44874         * modules/update-copyright: New file.
44875         * build-aux/update-copyright: New file.
44876         * MODULES.html.sh (maint+release support): Add update-copyright.
44877
44878 2009-07-27  Bruno Haible  <bruno@clisp.org>
44879
44880         Fix compilation error when <ctime> is used and mktime is replaced.
44881         * lib/time.in.h (mktime): New declaration.
44882         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44883         REPLACE_MKTIME instead of defining mktime in config.h.
44884         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44885         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44886         Reported by Ross McFarland <rwmcfa1@neces.com>.
44887
44888 2009-07-27  Bruno Haible  <bruno@clisp.org>
44889
44890         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44891         Reported by Matt Kraai <mkraai@beckman.com>.
44892
44893 2009-07-25  Jim Meyering  <meyering@redhat.com>
44894
44895         maint.mk: avoid warnings about missing files
44896         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44897         diagnostic when .prev-version does not exist.
44898         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44899         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44900         nonexistent cfg.mk.
44901         Suggestions from Simon Josefsson.
44902
44903 2009-07-25  Bruno Haible  <bruno@clisp.org>
44904
44905         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44906         defined as macros. Needed on QNX 6.4.1.
44907         Reported by Matt Kraai <mkraai@beckman.com>.
44908
44909 2009-07-23  Jim Meyering  <meyering@redhat.com>
44910
44911         maint.mk: invoke "make dist" with a working value of XZ_OPT
44912         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44913
44914 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44915
44916         Make fseeko.c compile on QNX.
44917         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44918
44919 2009-07-22  Peter Simons  <simons@cryp.to>
44920
44921         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44922         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44923         * lib/md4.h: Likewise.
44924         * lib/md5.h: Likewise.
44925         * lib/sha1.h: Likewise.
44926         * lib/sha256.h: Likewise.
44927         * lib/sha512.h: Likewise.
44928
44929         tests-sha1: don't assign literal string to 'char *' variable
44930         * tests/test-sha1.c (main): Declare locals with "const" to match
44931         attributes of the right hand side.
44932
44933 2009-07-21  Eric Blake  <ebb9@byu.net>
44934
44935         dup2: fix more mingw problems
44936         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44937         fd to itself.
44938         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44939         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
44940         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
44941         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
44942         care of mingw bugs.
44943
44944 2009-07-21  Jim Meyering  <meyering@redhat.com>
44945
44946         vc-list-files: avoid failure when /bin/sh is dash
44947         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
44948         On some Debian based systems, /bin/sh is a symlink to dash, and running
44949         this command would omit the "/" following each 'tests' prefix:
44950           dash -x build-aux/vc-list-files -C . tests
44951         That is because bash and dash work differently:
44952           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
44953           bash ok
44954           dash odd
44955
44956 2009-07-21  Eric Blake  <ebb9@byu.net>
44957
44958         dup2-tests: test previous patch
44959         * modules/dup2-tests: New file.
44960         * tests/test-dup2.c: Likewise.
44961         * tests/test-open.c (main): Avoid unspecified behavior.
44962         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
44963         test.
44964
44965         dup2: work around mingw and cygwin 1.5 bug
44966         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
44967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44968         * modules/unistd (Makefile.am): Substitute it.
44969         * lib/unistd.in.h (dup2): Declare the replacement.
44970         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
44971         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
44972         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
44973         * modules/execute (Depends-on): Add dup2.
44974         * modules/fseterr (Depends-on): Likewise.
44975         * modules/pipe (Depends-on): Likewise.
44976         * modules/posix_spawn-internal (Depends-on): Likewise.
44977
44978 2009-07-21  Bruno Haible  <bruno@clisp.org>
44979
44980         * modules/.gitattributes: New file.
44981
44982 2009-07-20  Bruno Haible  <bruno@clisp.org>
44983
44984         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44985         (main): Use it.
44986
44987 2009-07-20  Eric Blake  <ebb9@byu.net>
44988
44989         test-pipe: make a bit more robust.
44990         * tests/test-pipe.c (myerr): Allow error messages regardless of
44991         what we do to stderr.
44992         (test_pipe): Rearrange to avoid deadlock.
44993         (child_main): Try a larger read, to ensure we avoided deadlock.
44994         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44995         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44996         if misused.
44997
44998 2009-07-19  Jim Meyering  <meyering@redhat.com>
44999
45000         fts: avoid false-positive cycle-detection
45001         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
45002         for each new command line argument.
45003
45004 2009-07-19  Bruno Haible  <bruno@clisp.org>
45005
45006         Fix build error on mingw with the modules sys_select and unistd.
45007         * modules/acl-tests (Depends-on): Add close.
45008         * modules/binary-io-tests (Depends-on): Likewise.
45009         * modules/closein-tests (Depends-on): Likewise.
45010         * modules/flock-tests (Depends-on): Likewise.
45011         * modules/fsync-tests (Depends-on): Likewise.
45012         * modules/lseek-tests (Depends-on): Likewise.
45013         * modules/pipe-tests (Depends-on): Likewise.
45014         * modules/posix_spawn-tests (Depends-on): Likewise.
45015         * modules/posix_spawnp-tests (Depends-on): Likewise.
45016         * modules/stat-time-tests (Depends-on): Likewise.
45017         * modules/yesno-tests (Depends-on): Likewise.
45018
45019 2009-07-19  Bruno Haible  <bruno@clisp.org>
45020
45021         Unify conditionals.
45022         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
45023         macros, not at the compiler macros.
45024         * lib/pipe.c: Likewise.
45025         * lib/execute.c: Likewise.
45026         * lib/spawni.c: Likewise.
45027
45028 2009-07-19  Bruno Haible  <bruno@clisp.org>
45029
45030         Fix handling of closed stdin/stdout/stderr on mingw.
45031         * lib/w32spawn.h: Include unistd.h.
45032         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
45033         file descriptor with O_NOINHERIT flag.
45034         (fd_safer_noinherit): New function, based on fd-safer.c.
45035         (dup_safer_noinherit): New function, based on dup-safer.c.
45036         (undup_safer_noinherit): New function.
45037         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
45038         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
45039         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
45040         instead of fd_safer.
45041         * tests/test-pipe.c: Include <windows.h>.
45042         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
45043         result.
45044
45045         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
45046         from main.
45047         (test_pipe): Pass an extra argument for disambiguation.
45048         (main): Invoke parent_main or child_main.
45049
45050         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
45051         consistently.
45052
45053 2009-07-18  Eric Blake  <ebb9@byu.net>
45054
45055         test-pipe: fix mingw build
45056         * tests/test-pipe.c (main): Avoid fcntl on mingw.
45057
45058 2009-07-18  Bruno Haible  <bruno@clisp.org>
45059
45060         * modules/pipe-tests (Makefile.am): Fix typo.
45061
45062 2009-07-18  Eric Blake  <ebb9@byu.net>
45063
45064         error: fix mingw build
45065         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
45066         Reported by Bruno Haible.
45067
45068         error: avoid undefined use of stdout
45069         * lib/error.c (error, error_at_line): Check that fd 1 is open
45070         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
45071         is handling faults and the close_stdout module wants to report the
45072         detection of closed stdout as an error.
45073
45074 2009-07-17  Eric Blake  <ebb9@byu.net>
45075
45076         pipe: be robust in face of closed fds
45077         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
45078         should cause child to misbehave.
45079         * modules/pipe-tests: New module.
45080         * tests/test-pipe.c: New file.
45081         * tests/test-pipe.sh: New file.
45082         Reported by Akim Demaille.
45083
45084 2009-07-14  Bruno Haible  <bruno@clisp.org>
45085
45086         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
45087         Reported by anonymous kc.
45088
45089 2009-07-07  Jim Meyering  <meyering@redhat.com>
45090
45091         maint.mk: don't look for translatable strings in *.m4 or *.mk
45092         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
45093         when searching for translatable strings.
45094
45095 2009-07-05  Jim Meyering  <meyering@redhat.com>
45096
45097         remove superfluous parentheses in STREQ definition
45098         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
45099         * lib/getugroups.c (STREQ): Likewise.
45100         * lib/fnmatch.c (STREQ): Likewise.
45101         Spotted by Bruno Haible.
45102
45103 2009-07-04  Jim Meyering  <meyering@redhat.com>
45104
45105         argv-iter: new module
45106         * MODULES.html.sh: Add argv-iter.
45107         * lib/argv-iter.c, lib/argv-iter.h: New files.
45108         * modules/argv-iter: New file.
45109         * modules/argv-iter-tests: New file.
45110         * tests/test-argv-iter.c: Test it.
45111
45112 2009-07-04  Bruno Haible  <bruno@clisp.org>
45113
45114         Fix assertion.
45115         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
45116         contains more exact copies of a given entry than file2, leave the extra
45117         copies unpaired rather than aborting.
45118         Reported by Eric Blake.
45119
45120 2009-07-02  Bruno Haible  <bruno@clisp.org>
45121
45122         Speedup git-merge-changelog for git cherry-pick.
45123         * lib/git-merge-changelog.c (struct entries_mapping): New type.
45124         (entries_mapping_get): New function, extracted from compute_mapping.
45125         (entries_mapping_reverse_get): New function.
45126         (compute_mapping): Add a 'full' argument. Return the result in a
45127         'struct entries_mapping'.
45128         (main): Update. Access the mappings through entries_mapping_get.
45129         Reported by Eric Blake.
45130
45131 2009-07-02  Bruno Haible  <bruno@clisp.org>
45132
45133         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
45134         best_i.
45135
45136 2009-07-02  Bruno Haible  <bruno@clisp.org>
45137
45138         Speed up approximate search for matching ChangeLog entries.
45139         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
45140         argument. Call fstrcmp_bounded instead of fstrcmp.
45141         (compute_mapping, try_split_merged_entry, main): Update callers.
45142
45143 2009-07-02  Bruno Haible  <bruno@clisp.org>
45144
45145         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
45146
45147 2009-06-30  Bruno Haible  <bruno@clisp.org>
45148
45149         Reduce the number of uc_is_cased calls.
45150         * lib/unicase.h (casing_suffix_context_t): Add
45151         'first_char_except_ignorable' field.
45152         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
45153         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
45154         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
45155         Update initializer.
45156         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
45157         case-ignorable characters.
45158         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
45159         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
45160         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
45161         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
45162         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
45163
45164 2009-06-30  Bruno Haible  <bruno@clisp.org>
45165
45166         Tests for module 'unicase/ignorable'.
45167         * modules/unicase/ignorable-tests: New file.
45168         * tests/unicase/test-ignorable.c: New file, generated by
45169         gen-uni-tables.
45170
45171         Tests for module 'unicase/cased'.
45172         * modules/unicase/cased-tests: New file.
45173         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
45174         * tests/unicase/test-predicate-part1.h: New file, derived from
45175         tests/unictype/test-predicate-part1.h.
45176         * tests/unicase/test-predicate-part2.h: New file, same as
45177         tests/unictype/test-predicate-part2.h.
45178
45179         Fix evaluation of "Before C" condition of FINAL_SIGMA.
45180         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
45181         (output_casing_properties): New function.
45182         (main): Call it.
45183         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
45184         * lib/unicase/cased.c: Include unictype/bitmap.h.
45185         (uc_is_cased): Define through a bitmap lookup.
45186         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
45187         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
45188         (uc_is_case_ignorable): Define through a bitmap lookup.
45189         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
45190         lib/unictype/bitmap.h.
45191         (Depends-on): Add inline. Clean up.
45192         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
45193         lib/unictype/bitmap.h.
45194         (Depends-on): Add inline. Clean up.
45195         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
45196         recognition.
45197         * tests/unicase/test-u16-tolower.c (main): Likewise.
45198         * tests/unicase/test-u32-tolower.c (main): Likewise.
45199
45200 2009-06-30  Bruno Haible  <bruno@clisp.org>
45201
45202         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
45203         * lib/unicase/u16-casemap.c: Likewise.
45204         * lib/unicase/u32-casemap.c: Likewise.
45205
45206 2009-06-29  Bruno Haible  <bruno@clisp.org>
45207
45208         Define u32_casefold as a wrapper around u32_ct_casefold.
45209         * lib/unicase/u32-casefold.c: Update.
45210         * modules/unicase/u32-casefold (Depends-on): Add
45211         unicase/u32-ct-casefold, unicase/empty-prefix-context,
45212         unicase/empty-suffix-context. Clean up.
45213
45214         Define u16_casefold as a wrapper around u16_ct_casefold.
45215         * lib/unicase/u16-casefold.c: Update.
45216         * modules/unicase/u16-casefold (Depends-on): Add
45217         unicase/u16-ct-casefold, unicase/empty-prefix-context,
45218         unicase/empty-suffix-context. Clean up.
45219
45220         Define u8_casefold as a wrapper around u8_ct_casefold.
45221         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
45222         * lib/unicase/u8-casefold.c: Update.
45223         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
45224         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45225
45226         Define u32_totitle as a wrapper around u32_ct_totitle.
45227         * lib/unicase/u32-totitle.c: Update.
45228         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
45229         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45230
45231         Define u16_totitle as a wrapper around u16_ct_totitle.
45232         * lib/unicase/u16-totitle.c: Update.
45233         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
45234         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45235
45236         Define u8_totitle as a wrapper around u8_ct_totitle.
45237         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
45238         functions.
45239         (FUNC): Delegate to U_CT_TOTITLE.
45240         * lib/unicase/u8-totitle.c: Update.
45241         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
45242         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45243
45244         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
45245         invocation.
45246         * modules/unicase/u32-tolower (Depends-on): Add
45247         unicase/empty-prefix-context, unicase/empty-suffix-context.
45248
45249         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
45250         invocation.
45251         * modules/unicase/u16-tolower (Depends-on): Add
45252         unicase/empty-prefix-context, unicase/empty-suffix-context.
45253
45254         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
45255         * modules/unicase/u8-tolower (Depends-on): Add
45256         unicase/empty-prefix-context, unicase/empty-suffix-context.
45257
45258         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
45259         invocation.
45260         * modules/unicase/u32-toupper (Depends-on): Add
45261         unicase/empty-prefix-context, unicase/empty-suffix-context.
45262
45263         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
45264         invocation.
45265         * modules/unicase/u16-toupper (Depends-on): Add
45266         unicase/empty-prefix-context, unicase/empty-suffix-context.
45267
45268         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
45269         * modules/unicase/u8-toupper (Depends-on): Add
45270         unicase/empty-prefix-context, unicase/empty-suffix-context.
45271
45272         New module 'unicase/u32-ct-casefold'.
45273         * lib/unicase/u32-ct-casefold.c: New file.
45274         * modules/unicase/u32-ct-casefold: New file.
45275
45276         New module 'unicase/u16-ct-casefold'.
45277         * lib/unicase/u16-ct-casefold.c: New file.
45278         * modules/unicase/u16-ct-casefold: New file.
45279
45280         New module 'unicase/u8-ct-casefold'.
45281         * lib/unicase/u8-ct-casefold.c: New file.
45282         * lib/unicase/u-ct-casefold.h: New file, derived from
45283         lib/unicase/u-casefold.h.
45284         * modules/unicase/u8-ct-casefold: New file.
45285
45286         New module 'unicase/u32-ct-totitle'.
45287         * lib/unicase/u32-ct-totitle.c: New file.
45288         * modules/unicase/u32-ct-totitle: New file.
45289
45290         New module 'unicase/u16-ct-totitle'.
45291         * lib/unicase/u16-ct-totitle.c: New file.
45292         * modules/unicase/u16-ct-totitle: New file.
45293
45294         New module 'unicase/u8-ct-totitle'.
45295         * lib/unicase/u8-ct-totitle.c: New file.
45296         * lib/unicase/u-ct-totitle.h: New file, derived from
45297         lib/unicase/u-totitle.h.
45298         * modules/unicase/u8-ct-totitle: New file.
45299
45300         New module 'unicase/u32-ct-tolower'.
45301         * lib/unicase/u32-ct-tolower.c: New file.
45302         * modules/unicase/u32-ct-tolower: New file.
45303
45304         New module 'unicase/u16-ct-tolower'.
45305         * lib/unicase/u16-ct-tolower.c: New file.
45306         * modules/unicase/u16-ct-tolower: New file.
45307
45308         New module 'unicase/u8-ct-tolower'.
45309         * lib/unicase/u8-ct-tolower.c: New file.
45310         * modules/unicase/u8-ct-tolower: New file.
45311
45312         New module 'unicase/u32-ct-toupper'.
45313         * lib/unicase/u32-ct-toupper.c: New file.
45314         * modules/unicase/u32-ct-toupper: New file.
45315
45316         New module 'unicase/u16-ct-toupper'.
45317         * lib/unicase/u16-ct-toupper.c: New file.
45318         * modules/unicase/u16-ct-toupper: New file.
45319
45320         New module 'unicase/u8-ct-toupper'.
45321         * lib/unicase/u8-ct-toupper.c: New file.
45322         * modules/unicase/u8-ct-toupper: New file.
45323
45324         Add context arguments to u*_casemap functions.
45325         * lib/unicase/unicasemap.h: Include unicase.h.
45326         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
45327         suffix_context arguments.
45328         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
45329         functions.
45330         (FUNC): Add prefix_context and suffix_context arguments. Use
45331         uc_is_cased and uc_is_case_ignorable.
45332         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
45333         * lib/unicase/u16-casemap.c: Likewise.
45334         * lib/unicase/u32-casemap.c: Likewise.
45335         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
45336         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45337         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
45338         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45339         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
45340         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45341
45342         New module 'unicase/u32-suffix-context'.
45343         * lib/unicase/u32-suffix-context.c: New file.
45344         * modules/unicase/u32-suffix-context: New file.
45345
45346         New module 'unicase/u16-suffix-context'.
45347         * lib/unicase/u16-suffix-context.c: New file.
45348         * modules/unicase/u16-suffix-context: New file.
45349
45350         New module 'unicase/u8-suffix-context'.
45351         * lib/unicase/u8-suffix-context.c: New file.
45352         * lib/unicase/u-suffix-context.h: New file.
45353         * modules/unicase/u8-suffix-context: New file.
45354
45355         New module 'unicase/empty-suffix-context'.
45356         * lib/unicase/empty-suffix-context.c: New file.
45357         * modules/unicase/empty-suffix-context: New file.
45358
45359         New module 'unicase/u32-prefix-context'.
45360         * lib/unicase/u32-prefix-context.c: New file.
45361         * modules/unicase/u32-prefix-context: New file.
45362
45363         New module 'unicase/u16-prefix-context'.
45364         * lib/unicase/u16-prefix-context.c: New file.
45365         * modules/unicase/u16-prefix-context: New file.
45366
45367         New module 'unicase/u8-prefix-context'.
45368         * lib/unicase/u8-prefix-context.c: New file.
45369         * lib/unicase/u-prefix-context.h: New file.
45370         * lib/unicase/context.h: New file.
45371         * modules/unicase/u8-prefix-context: New file.
45372
45373         New module 'unicase/empty-prefix-context'.
45374         * lib/unicase/empty-prefix-context.c: New file.
45375         * modules/unicase/empty-prefix-context: New file.
45376
45377         New module 'unicase/ignorable'.
45378         * lib/unicase/ignorable.c: New file.
45379         * modules/unicase/ignorable: New file.
45380
45381         New module 'unicase/cased'.
45382         * lib/unicase/caseprop.h: New file.
45383         * lib/unicase/cased.c: New file.
45384         * modules/unicase/cased: New file.
45385
45386         New functions for case mapping of substrings.
45387         * lib/unicase.h (casing_prefix_context_t): New type.
45388         (unicase_empty_prefix_context): New variable.
45389         (u8_casing_prefix_context, u16_casing_prefix_context,
45390         u32_casing_prefix_context, u8_casing_prefixes_context,
45391         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45392         declarations.
45393         (casing_suffix_context_t): New type.
45394         (unicase_empty_suffix_context): New variable.
45395         (u8_casing_suffix_context, u16_casing_suffix_context,
45396         u32_casing_suffix_context, u8_casing_suffixes_context,
45397         u16_casing_suffixes_context, u32_casing_suffixes_context,
45398         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45399         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45400         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
45401         declarations.
45402
45403 2009-06-28  Jim Meyering  <meyering@redhat.com>
45404
45405         boostrap: indent only with spaces
45406         * build-aux/bootstrap: Indent only with spaces, never TABs.
45407
45408         bootstrap: split long lines
45409         * build-aux/bootstrap: Keep line length < 80.
45410
45411         bootstrap: sync from coreutils
45412         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
45413         just as autoreconf does.  Verify a list of prerequisite
45414         package-name,version-number pairs if defined in bootstrap.conf.
45415         Refer to README-prereq, if prerequisites are not satisfied.
45416
45417 2009-06-27  Eric Blake  <ebb9@byu.net>
45418
45419         tests: add test for bogus NULL definition
45420         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
45421         * tests/test-stdlib.c: Likewise.
45422         * tests/test-string.c: Likewise.
45423         * tests/test-locale.c: Likewise.
45424         * tests/test-unistd.c: Likewise.
45425         * modules/stdio-tests (Depends-on): Add verify.
45426         * modules/stdlib-tests (Depends-on): Likewise.
45427         * modules/string-tests (Depends-on): Likewise.
45428         * modules/locale-tests (Depends-on): Likewise.
45429         * modules/unistd-tests (Depends-on): Likewise.
45430
45431 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
45432
45433         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
45434         self-explaining comment.
45435         * m4/selinux-selinux-h: Update serial.
45436         (gl_LIBSELINUX): New macro, adding a warning for missing development
45437         packages to code extracted from...
45438         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
45439         Add warning for missing development packages here, too.
45440
45441 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
45442
45443         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
45444
45445 2009-06-25  Eric Blake  <ebb9@byu.net>
45446
45447         version-etc: fix regression
45448         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
45449         gcc.
45450         (version_etc): Use it, to catch bugs with trailing NULL.
45451         * lib/version-etc.c (version_etc_arn): Delete unused argument.
45452         (version_etc_va): Fix logic bug.
45453         * modules/version-etc-tests: Add test.
45454         * tests/test-version-etc.c: New file.
45455         * tests/test-version-etc.sh: Likewise.
45456
45457 2009-06-25  Sam Steingold  <sds@gnu.org>
45458
45459         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
45460         mbtowc declaration.
45461
45462 2009-06-25  Eric Blake  <ebb9@byu.net>
45463
45464         fpurge: migrate into <stdio.h>
45465         * lib/fpurge.h: Delete...
45466         * lib/stdio.in.h (fpurge): ...and declare here, instead.
45467         * lib/fpurge.c (fpurge): Change declaring header.
45468         * modules/fpurge (Files): Drop deleted file.
45469         (Depends-on): Add stdio.
45470         (configure.ac): Set witness.
45471         * modules/stdio (Makefile.am): Support fpurge macros.
45472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45473         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
45474         * lib/fflush.c: Update client.
45475         * tests/test-fpurge.c: Likewise.
45476         * NEWS: Mention the change.
45477
45478 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45479
45480         * lib/argp-version-etc.c (program_authors): Add const
45481         qualifier.
45482         * lib/version-etc.c: Fix typos in the comments.
45483         * modules/argp-version-etc: Depends on version-etc.
45484
45485 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45486
45487         argp-version-etc: new module.
45488
45489         * lib/argp-version-etc.c: New file.
45490         * lib/argp-version-etc.h: New file.
45491         * modules/argp-version-etc: New file.
45492         * modules/argp-version-etc-tests: New file.
45493         * tests/test-argp-version-etc.c: New test.
45494         * tests/test-argp-version-etc-1.sh: New test.
45495
45496 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45497
45498         Provide additional interfaces and documentation for version-etc
45499         module.
45500
45501         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
45502         interfaces.
45503         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
45504         prototypes.
45505
45506 2009-06-24  Bruno Haible  <bruno@clisp.org>
45507
45508         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
45509         HAVE_LIB${NAME} macro.
45510         Reported by Sam Steingold <sds@gnu.org>.
45511
45512 2009-06-23  Simon Josefsson  <simon@josefsson.org>
45513
45514         * modules/hash-tests (test_hash_LDADD): Link to libintl when
45515         needed.
45516
45517 2009-06-21  Bruno Haible  <bruno@clisp.org>
45518
45519         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
45520         work.
45521         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
45522         together with LIB${NAME}, LTLIB${NAME}.
45523         Reported by Sam Steingold <sds@gnu.org>.
45524
45525 2009-06-20  Jim Meyering  <meyering@redhat.com>
45526
45527         tests: make sc_require_test_exit_idiom more generic
45528         * top/maint.mk (Exit_witness_file): New overridable variable.
45529         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
45530         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
45531
45532 2009-06-19  Jim Meyering  <meyering@redhat.com>
45533
45534         hash: reverse order of src/dst parameters in an internal interface
45535         * lib/hash.c (transfer_entries): Reverse order of parameters to
45536         put DST before SRC.  Adjust callers.
45537
45538         tests: test-hash: avoid wholesale duplication
45539         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
45540         Instead, use a loop and add a single conditional.
45541
45542         tests: test-hash: allow seed selection via a command line argument
45543         * tests/test-hash.c (get_seed): New function.
45544         (main): Use it.
45545
45546 2009-06-19  Eric Blake  <ebb9@byu.net>
45547
45548         hash: avoid memory leak on allocation failure
45549         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
45550         failure.  Factor repeated algorithm...
45551         (transfer_entries): ...into new helper routine.
45552         (hash_delete): React to hash_rehash return value.
45553
45554         hash: reduce memory pressure in hash_rehash no-op case
45555         * lib/hash.c (next_prime): Avoid overflow.
45556         (hash_initialize): Factor bucket size computation...
45557         (compute_bucket_size): ...into new helper function.
45558         (hash_rehash): Use new function and open coding to reduce memory
45559         pressure, and avoid a memory leak in USE_OBSTACK code.
45560         Reported by Jim Meyering.
45561
45562 2009-06-18  Eric Blake  <ebb9@byu.net>
45563
45564         hash: make rotation more obvious
45565         * modules/hash (Depends-on): Add bitrotate and stdint.
45566         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
45567         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
45568         (SIZE_MAX): Rely on headers for definition.
45569         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
45570         (raw_hasher): Use rotr_sz.
45571         Suggested by Jim Meyering.
45572
45573         hash: fix memory leak in last patch
45574         * lib/hash.c (hash_rehash): Avoid memory leak.
45575
45576         hash: avoid no-op rehashing
45577         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
45578
45579         hash: provide default callback functions
45580         * lib/hash.c (raw_hasher, raw_comparator): New functions.
45581         (hash_initialize): Use them as defaults.
45582         * tests/test-hash.c (main): Test this.
45583
45584         hash: minor optimization
45585         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
45586         when possible.
45587         (hash_initialize): Document this promise.
45588         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
45589         * tests/test-hash.c (hash_compare_strings): Test this.
45590
45591 2009-06-18  Bruno Haible  <bruno@clisp.org>
45592
45593         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
45594         going to be replaced anyway.
45595
45596 2009-06-18  Bruno Haible  <bruno@clisp.org>
45597
45598         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
45599         in one place.
45600         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
45601         be replaced anyway.
45602
45603 2009-06-18  Eric Blake  <ebb9@byu.net>
45604
45605         hash: check for resize before insertion
45606         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
45607         threshold before insertion, so that a pathological hash_rehash
45608         that fills every bucket can still trigger another rehash.
45609
45610 2009-06-18  Jim Meyering  <meyering@redhat.com>
45611
45612         hash-tests: add a loop around the small tests
45613         * tests/test-hash.c (main): Repeat small tests with selected
45614         small initial table sizes.
45615
45616 2009-06-17  Eric Blake  <ebb9@byu.net>
45617
45618         hash: minor cleanups
45619         * lib/hash.h (hash_entry): Make opaque, by moving...
45620         * lib/hash.c (hash_entry): ...here.
45621         (hash_insert): Clarify restrictions on what can be inserted.
45622         (hash_get_next): Clarify when it is safe to remove an element
45623         during traversal.
45624         (check_tuning): Skip verification when tuning is known safe.
45625         (hash_initialize): Clarify restrictions on tuning.
45626
45627 2009-06-17  Jim Meyering  <jim@meyering.net>
45628         and Eric Blake  <ebb9@byu.net>
45629
45630         hash-tests: new module
45631         * modules/hash-tests: New file.
45632         * tests/test-hash.c: New file.
45633
45634 2009-06-17  Eric Blake  <ebb9@byu.net>
45635
45636         strstr-simple: document new module
45637         * MODULES.html.sh: Document new module.
45638
45639         strstr, strcasestr: replace on platforms with broken memchr
45640         * modules/strstr: Split into...
45641         * modules/strstr-simple: ...new module that does not care about
45642         performance, but does care about glibc bug.
45643         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
45644         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
45645         if platform memchr is broken, per Debian bug 521737.
45646         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
45647         memchr.
45648         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
45649         * doc/posix-functions/strstr.texi (strstr): Document the fix.
45650         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45651         * modules/mountlist (Depends-on): Add strstr-simple.
45652         * modules/gen-uni-tables (Depends-on): Likewise.
45653         * modules/argz (Depends-on): Add strstr.
45654
45655 2009-06-17  Bruno Haible  <bruno@clisp.org>
45656
45657         * modules/posix_spawn-internal (Depends-on): Add errno.
45658
45659 2009-06-17  Bruno Haible  <bruno@clisp.org>
45660
45661         Define missing ESTALE on Interix 3.5.
45662         * lib/errno.in.h (ESTALE): Assign a value if missing.
45663         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
45664         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
45665         missing.
45666         * doc/posix-headers/errno.texi: Mention the Interix bug.
45667         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
45668
45669 2009-06-15  Eric Blake  <ebb9@byu.net>
45670
45671         memchr, memchr2: add valgrind exception
45672         * lib/memchr.valgrind: New file.
45673         * lib/memchr2.valgrind: New file.
45674         * modules/memchr (Files): Distribute valgrind file.
45675         * modules/memchr2 (Files): Likewise.
45676
45677         docs: memchr is no longer obsolete
45678         * MODULES.html.sh: Move memchr from obsolete to string.h section.
45679         * lib/string.in.h (memchr): Simplify logic.
45680
45681 2009-06-14  Jim Meyering  <meyering@redhat.com>
45682
45683         link-follow: fix the "checking..." message to not mention trailing slash
45684         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
45685         never considered trailing slashes.
45686
45687 2009-06-14  Bruno Haible  <bruno@clisp.org>
45688
45689         * m4/memchr.m4: Mention also the bug on IA-64.
45690         * doc/posix-functions/memchr.texi: Likewise.
45691
45692 2009-06-12  Eric Blake  <ebb9@byu.net>
45693
45694         memchr: detect broken x86_64 and alpha implementations
45695         * modules/memchr-tests (Depends-on): Move mmap detection...
45696         * modules/memchr (Depends-on): ...here.
45697         (configure.ac): Set indicator.
45698         * lib/string.in.h (memchr): Declare replacement.
45699         * modules/string (Makefile.am): Trigger replacement.
45700         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45701         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
45702         bugs.
45703         * doc/posix-functions/memchr.texi (memchr): Document the bug.
45704         * modules/getpagesize (License): Relax license.
45705
45706 2009-06-11  Bruno Haible  <bruno@clisp.org>
45707
45708         * lib/idpriv.h: Add more references.
45709
45710 2009-06-08  Bruno Haible  <bruno@clisp.org>
45711
45712         Tests for module 'idpriv-droptemp'.
45713         * modules/idpriv-droptemp-tests: New file.
45714         * tests/test-idpriv-droptemp.sh: New file.
45715         * tests/test-idpriv-droptemp.su.sh: New file.
45716         * tests/test-idpriv-droptemp.c: New file.
45717
45718         New module 'idpriv-droptemp'.
45719         * lib/idpriv-droptemp.c: New file.
45720         * modules/idpriv-droptemp: New file.
45721
45722 2009-06-08  Bruno Haible  <bruno@clisp.org>
45723
45724         Tests for module 'idpriv-drop'.
45725         * modules/idpriv-drop-tests: New file.
45726         * tests/test-idpriv-drop.sh: New file.
45727         * tests/test-idpriv-drop.su.sh: New file.
45728         * tests/test-idpriv-drop.c: New file.
45729
45730         New module 'idpriv-drop'.
45731         * lib/idpriv.h: New file.
45732         * lib-idpriv-drop.c: New file.
45733         * m4/idpriv.m4: New file.
45734         * modules/idpriv-drop: New file.
45735
45736 2009-06-08  Bruno Haible  <bruno@clisp.org>
45737
45738         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
45739         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45740         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45741         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45742         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45743         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45744         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45745
45746 2009-06-08  Eric Blake  <ebb9@byu.net>
45747
45748         test-strstr: use memory fence, when possible
45749         * tests/test-strstr.c (main): Use memory fence, in order to be
45750         more likely to trigger Debian bug 521737.
45751         * modules/strstr-tests (Files): Pull in additional files.
45752
45753         memchr: no longer obsolete, for wider field testing
45754         * modules/memchr (Status, Notice): Delete, this module is no
45755         longer obsolete.
45756         * modules/vasnprintf (Depends-on): Add memchr.
45757
45758 2009-06-07  Jim Meyering  <meyering@redhat.com>
45759
45760         hash: declare some functions with the warn_unused_result attribute
45761         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
45762
45763 2009-06-07  Bruno Haible  <bruno@clisp.org>
45764
45765         * tests/test-alignof.c: Don't test int64_t if it does not exist.
45766         Reported by Eric Blake.
45767
45768 2009-06-06  Eric Blake  <ebb9@byu.net>
45769
45770         test-alignof: fix typo with long double
45771         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45772         compiler error.
45773
45774 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45775
45776         Escape non-texinfo { and }s.
45777         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45778         markup error.
45779
45780 2009-06-04  Jim Meyering  <meyering@redhat.com>
45781
45782         gitlog-to-changelog: don't infloop on an empty commit log
45783         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45784         Reported by Boris Petersen <transacid@centerim.org>.
45785
45786 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45787
45788         version-etc: extend for packagers
45789         Add three new configure options, intended for packagers:
45790           --with-packager="packager name"
45791           --with-packager-version="packager-specific version"
45792           --with-packager-bug-reports="packager bug reporting"
45793         An example with coreutils:
45794           $ ./configure \
45795             --with-packager=Gentoo \
45796             --with-packager-bug-report=http://bugs.gentoo.org/ \
45797             --with-packager-version="patchset 1.6"
45798           $ ./src/ls --version | head -n2
45799           ls (GNU coreutils) 7.1-dirty
45800           Packaged by Gentoo (patchset 1.6)
45801         Note that the bug reporting info via --help doesn't show up because
45802         coreutils uses its own custom emit_bug_reporting_address() implementation
45803         in src/system.h.  If it didn't, it'd look like:
45804           $ ./src/ls --help | tail -n4
45805           Report bugs to <bug-coreutils@gnu.org>.
45806           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45807           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45808           General help using GNU software: <http://www.gnu.org/gethelp/>.
45809         * lib/version-etc.c: Print new information, if provided.
45810         * m4/version-etc.m4: New file.
45811         * modules/version-etc (Files): Add m4/version-etc.m4.
45812         (configure.ac): Add gl_VERSION_ETC.
45813
45814 2009-05-31  Bruno Haible  <bruno@clisp.org>
45815
45816         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45817         and 'int64_t'.
45818         * modules/alignof-tests (Dependencies): Add stdint.
45819         Reported by Eric Blake.
45820
45821 2009-05-31  Bruno Haible  <bruno@clisp.org>
45822
45823         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45824         restriction due to compiler bugs.
45825         Reported by Eric Blake.
45826
45827 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45828             Bruno Haible  <bruno@clisp.org>
45829
45830         Fix test-alignof failure.
45831         * lib/alignof.h (alignof_slot): New macro.
45832         (alignof_type): New macro, with the same semantics as the previous
45833         'alignof'.
45834         (alignof): Alias to alignof_slot.
45835         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45836         check that the results are usable as constant expressions.
45837
45838 2009-05-31  Bruno Haible  <bruno@clisp.org>
45839
45840         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45841         * tests/test-memchr.c (main): Check that memchr does not read past the
45842         first occurrence of the byte.
45843         * tests/test-strstr.c (main): Update comment.
45844         Suggested by Eric Blake.
45845
45846 2009-05-30  Bruno Haible  <bruno@clisp.org>
45847
45848         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45849         detail how to use dumpbin.
45850         Reported by David Byron <dbyron@dbyron.com>.
45851
45852 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45853
45854         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45855
45856 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45857
45858         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45859
45860 2009-05-28  Bruno Haible  <bruno@clisp.org>
45861
45862         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45863         build-aux/ files.
45864
45865 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45866
45867         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45868
45869 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45870
45871         * gnulib-tool (sed_transform_main_lib_file)
45872         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45873         regexps.
45874
45875 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45876
45877         * tests/test-strstr.c: Add another self-test.
45878         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45879         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45880
45881 2009-05-23  Bruno Haible  <bruno@clisp.org>
45882
45883         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45884         change.
45885
45886 2009-05-21  Bruno Haible  <bruno@clisp.org>
45887
45888         Simplify use of mode_t varargs.
45889         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45890         uses 'mode_t' or 'int'.
45891         * lib/openat.c (openat): Likewise.
45892         * lib/open-safer.c (open_safer): Likewise.
45893         * m4/mode_t.m4: New file.
45894         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45895         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45896         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45897         * modules/open (Files): Add m4/mode_t.m4.
45898         * modules/openat (Files): Likewise.
45899         * modules/fcntl-safer (Files): Likewise.
45900         Suggested by Eric Blake.
45901
45902 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45903
45904         * doc/glibc-functions/fallocate.texi: New file.
45905         * doc/gnulib.texi: Include it.
45906
45907 2009-05-21  Eric Blake  <ebb9@byu.net>
45908             Bruno Haible  <bruno@clisp.org>
45909
45910         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45911         invocations.
45912         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45913
45914 2009-05-21  Eric Blake  <ebb9@byu.net>
45915             Bruno Haible  <bruno@clisp.org>
45916
45917         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45918         include_next. Fix of 2008-11-20 commit.
45919         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45920         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45921         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45922         NEXT_MATH_H.
45923         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45924         instead of NEXT_MATH_H.
45925
45926 2009-05-21  Bruno Haible  <bruno@clisp.org>
45927
45928         Avoid redefinition warnings for SIZE_MAX.
45929         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45930         Reported by Simon Josefsson.
45931
45932 2009-05-21  Bruno Haible  <bruno@clisp.org>
45933
45934         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45935         AC_CACHE_VAL.
45936
45937 2009-05-20  Bruno Haible  <bruno@clisp.org>
45938
45939         Make zeroptr.h work on mingw.
45940         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
45941         mprotect.
45942         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
45943         * modules/memchr2-tests (configure.ac): Likewise.
45944         * modules/memcmp-tests (configure.ac): Likewise.
45945         * modules/memmem-tests (configure.ac): Likewise.
45946         * modules/memrchr-tests (configure.ac): Likewise.
45947         Reported by Simon Josefsson.
45948
45949 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45950
45951         * tests/test-glob.c: Include string.h for strcmp prototype.
45952
45953 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45954
45955         * modules/getdelim (Depends-on): Add explicit stdint, although it
45956         was implicitly already pulled in via realloc-posix.
45957         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
45958
45959 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45960
45961         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
45962         G. Christensen" <tgc@jupiterrise.com>.
45963         * m4/sys_socket_h.m4: Check for sa_family_t.
45964         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
45965         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
45966         * tests/test-sys_socket.c: Check that sa_family_t works.
45967
45968 2009-05-18  Eric Blake  <ebb9@byu.net>
45969
45970         maint.mk: allow gnulib_dir in VPATH build
45971         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
45972
45973 2009-05-15  Jim Meyering  <meyering@redhat.com>
45974
45975         maint.mk: Give gnulib_dir a default definition.
45976         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
45977         Thus, most packages no longer need to specify this variable in cfg.mk
45978
45979 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45980
45981         rename.m4: fix typos that would make non-mingw cross-configure fail
45982         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45983
45984 2009-05-13  Eric Blake  <ebb9@byu.net>
45985
45986         mmap-anon: avoid out-of-order autoconf expansion
45987         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45988         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45989         * modules/memchr-tests (Depends-on): Add extensions.
45990         * modules/memchr2-tests (Depends-on): Add extensions.
45991         * modules/memcmp-tests (Depends-on): Add extensions.
45992         * modules/memmem-tests (Depends-on): Add extensions.
45993         * modules/memrchr-tests (Depends-on): Add extensions.
45994
45995 2009-05-13  Bruno Haible  <bruno@clisp.org>
45996
45997         Make some tests ISO C 99 compliant.
45998         * tests/zerosize-ptr.h: New file.
45999         * tests/test-memchr.c: Include zerosize-ptr.h.
46000         (main): Use a zero-size object pointer instead of NULL.
46001         * tests/test-memchr2.c: Include zerosize-ptr.h.
46002         (main): Use a zero-size object pointer instead of NULL.
46003         * tests/test-memcmp.c: Include zerosize-ptr.h.
46004         (main): Use a zero-size object pointer instead of NULL.
46005         * tests/test-memmem.c: Include zerosize-ptr.h.
46006         (main): Use a zero-size object pointer instead of NULL.
46007         * tests/test-memrchr.c: Include zerosize-ptr.h.
46008         (main): Use a zero-size object pointer instead of NULL.
46009         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
46010         m4/mmap-anon.m4.
46011         (Depends-on): Add getpagesize.
46012         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46013         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
46014         m4/mmap-anon.m4.
46015         (Depends-on): Add getpagesize.
46016         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46017         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
46018         m4/mmap-anon.m4.
46019         (Depends-on): Add getpagesize.
46020         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46021         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
46022         m4/mmap-anon.m4.
46023         (Depends-on): Add getpagesize.
46024         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46025         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
46026         m4/mmap-anon.m4.
46027         (Depends-on): Add getpagesize.
46028         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46029
46030 2009-05-12  Bruno Haible  <bruno@clisp.org>
46031
46032         Tests for module 'alignof'.
46033         * modules/alignof-tests: New file.
46034         * tests/test-alignof.c: New file.
46035
46036 2009-05-12  Bruno Haible  <bruno@clisp.org>
46037
46038         Fix alignof macro.
46039         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
46040         vendor compilers that are always correct.
46041
46042 2009-05-12  Bruno Haible  <bruno@clisp.org>
46043
46044         Make the MAP_ANONYMOUS detection work on HP-UX 11.
46045         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
46046         not whether its fully works.
46047
46048 2009-05-12  Bruno Haible  <bruno@clisp.org>
46049
46050         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
46051
46052 2009-05-12  Jim Meyering  <meyering@redhat.com>
46053
46054         * top/maint.mk: Adjust backslash alignment.
46055
46056 2009-05-11  Simon Josefsson  <simon@josefsson.org>
46057
46058         * top/maint.mk: Make $(srcdir)/build-aux configurable.
46059
46060 2009-05-11  Eric Blake  <ebb9@byu.net>
46061
46062         argp: avoid undefined behavior
46063         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
46064         macros.
46065
46066 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46067
46068         * tests/test-vc-list-files-git.sh: Do git config of user.email and
46069         user.name to prevent git commit from complaining.
46070
46071 2009-05-10  Bruno Haible  <bruno@clisp.org>
46072
46073         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
46074         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
46075         it rewrites every file name only once.
46076         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
46077
46078 2009-05-08  Bruno Haible  <bruno@clisp.org>
46079
46080         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
46081         instead of 'max'.
46082
46083 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46084
46085         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
46086         sockaddr_storage test.
46087
46088 2009-05-07  Simon Josefsson  <simon@josefsson.org>
46089
46090         * modules/sys_socket (Makefile.am): Substitute
46091         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
46092         * m4/sys_socket_h.m4: Check for sockaddr_storage.
46093         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
46094         * tests/test-sys_socket.c: Check sockaddr_storage.
46095
46096 2009-05-08  Bruno Haible  <bruno@clisp.org>
46097
46098         New module 'alignof'.
46099         * lib/alignof.h: New file.
46100         * modules/alignof: New file.
46101
46102 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46103             Bruno Haible  <bruno@clisp.org>
46104
46105         Fix test-file-has-acl on FreeBSD.
46106         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
46107         mask is implicitly added.
46108         * tests/test-file-has-acl.c: Include <signal.h>.
46109         (main): Terminate the test after 5 seconds.
46110         * modules/acl-tests (configure.ac): Check for alarm function.
46111
46112 2009-05-04  Bruno Haible  <bruno@clisp.org>
46113
46114         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
46115         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
46116         * modules/errno (configure.ac): Drop AC_REQUIRE.
46117         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
46118         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
46119
46120 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46121
46122         * modules/glob-tests: New module.
46123         * tests/test-glob.c: Add.
46124
46125 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46126
46127         * modules/fnmatch-tests: New module.
46128         * tests/test-fnmatch.c: Add.
46129
46130 2009-05-04  Eric Blake  <ebb9@byu.net>
46131
46132         maint: make the new no-submodule-changes rule VPATH-safe
46133         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
46134
46135 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46136             Bruno Haible  <bruno@clisp.org>
46137
46138         acl: Fix infinite loop on FreeBSD.
46139         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
46140         of return value from acl_get_entry.
46141         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
46142         Likewise.
46143
46144 2009-05-03  Bruno Haible  <bruno@clisp.org>
46145
46146         * lib/acl-internal.h (acl_entries): Clarify return value.
46147         * lib/acl_entries.c (acl_entries): Likewise.
46148
46149 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46150
46151         Bug fix in acl module.
46152         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
46153
46154 2009-05-03  Bruno Haible  <bruno@clisp.org>
46155
46156         Create gperf-generated file in the source dir, not in the build dir.
46157         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
46158         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
46159         * modules/unicase/locale-language (unicase/locale-languages.h):
46160         Likewise.
46161         * modules/unicase/special-casing (unicase/special-casing-table.h):
46162         Likewise.
46163         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
46164         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
46165         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
46166         Reported by Ralf Wildenhues.
46167
46168 2009-05-03  Bruno Haible  <bruno@clisp.org>
46169
46170         * modules/fnmatch (Description, configure.ac): Taken from
46171         fnmatch-posix.
46172         * modules/fnmatch-posix: Turn into a symbolic reference to the
46173         'fnmatch' module, and deprecate.
46174         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
46175
46176 2009-05-03  Bruno Haible  <bruno@clisp.org>
46177
46178         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
46179         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
46180         Reported by Ralf Wildenhues.
46181
46182 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46183
46184         * m4/fnmatch.m4: Fix fnmatch re-define.
46185
46186 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46187
46188         priv-set: new module and tests; adapt write-any-file
46189         * lib/priv-set.c: New file.
46190         * lib/priv-set.h: New file.
46191         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
46192         * lib/write-any-file.c: Simplify by using priv-set module.
46193         * m4/priv-set.m4: New file.
46194         * modules/priv-set: New file.
46195         * modules/unlinkdir: Add dependency on priv-set module.
46196         * modules/write-any-file: Likewise.
46197
46198         Tests for module 'priv-set'.
46199         * modules/priv-set-tests: New file.
46200         * tests/test-priv-set.c: New file.
46201
46202 2009-05-03  Jim Meyering  <meyering@redhat.com>
46203             Bruno Haible  <bruno@clisp.org>
46204
46205         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
46206         use the converted UTF-8 variant of the name instead.
46207
46208 2009-05-03  Jim Meyering  <meyering@redhat.com>
46209
46210         tests: tighten some getdate tests
46211         * tests/test-getdate.c (main): Tighten tests: require equality,
46212         not just greater than.  Set TZ envvar to UTC0.
46213
46214 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
46215
46216         getdate: correctly interpret "next monday" when run on a Monday
46217         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
46218         that e.g., "next tues" (when run on a tuesday) results in a date
46219         that is one week in the future, and not today's date.
46220         I.e., add a week when the wday is the same as the current one.
46221         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
46222         and earlier by Martin Bernreuther and Jan Minář.
46223         * tests/test-getdate.c (main): Check that "next DAY" is always in
46224         the future and that "last DAY" is always in the past.
46225
46226 2009-05-02  Jim Meyering  <meyering@redhat.com>
46227
46228         build: ensure that a release build fails when a submodule is unclean
46229         * top/maint.mk (no-submodule-changes): New rule.
46230         (alpha beta major): Depend on it.
46231
46232 2009-05-02  Bruno Haible  <bruno@clisp.org>
46233
46234         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
46235         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
46236         shell variable gl_fnmatch_required to detect which variant is
46237         requested.
46238         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
46239         gl_FUNC_FNMATCH_POSIX.
46240         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
46241         exclude fnmatch-posix.
46242
46243 2009-05-02  Bruno Haible  <bruno@clisp.org>
46244
46245         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
46246         * modules/mbsrtowcs (License): Change to LGPLv2+.
46247         * modules/strnlen1 (License): Likewise.
46248         Reported by Simon Josefsson.
46249
46250 2009-05-02  Bruno Haible  <bruno@clisp.org>
46251
46252         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
46253         "cross".
46254         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
46255         gnulib-tool was called with option --source-base=lib.
46256
46257 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46258
46259         Use automake *-local hooks without commands, for extensibility.
46260         * modules/localcharset (Makefile.am): Rename install-exec-local
46261         rule to install-exec-localcharset, and make it a prerequisite of
46262         install-exec-local.  Likewise, rename the uninstall-local rule to
46263         uninstall-localcharset, and make it a prerequisite of the former.
46264
46265 2009-05-01  Bruno Haible  <bruno@clisp.org>
46266
46267         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
46268         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46269         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
46270         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
46271         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
46272         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46273         m4/locale-zh.m4, m4/codeset.m4.
46274
46275         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46276         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
46277         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46278         m4/locale-zh.m4.
46279
46280         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
46281         REPLACE_WCRTOMB if mbstate_t must be replaced.
46282         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
46283         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
46284
46285 2009-05-01  Bruno Haible  <bruno@clisp.org>
46286
46287         Avoid compiler warnings when redefining macros defined by <libintl.h>.
46288         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
46289         dngettext, dcngettext, textdomain, bindtextdomain,
46290         bind_textdomain_codeset): Undefine before redefining.
46291
46292 2009-04-30  Bruno Haible  <bruno@clisp.org>
46293
46294         Fix bug introduced on 2009-04-25.
46295         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
46296         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
46297         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
46298         is defined.
46299         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
46300         is defined.
46301         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
46302         is defined.
46303         Reported by Elbert_Pol <elbert.pol@gmail.com>.
46304
46305 2009-04-28  Bruno Haible  <bruno@clisp.org>
46306
46307         Comment tweaks.
46308         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
46309         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
46310         * lib/unicase.h (u*_casexfrm): Likewise.
46311         Reported by Paolo Bonzini.
46312
46313 2009-04-28  Bruno Haible  <bruno@clisp.org>
46314
46315         Fix a compilation error.
46316         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
46317         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46318         Reported by Jim Meyering.
46319
46320 2009-04-27  Bruno Haible  <bruno@clisp.org>
46321
46322         New module 'libunistring'.
46323         * modules/libunistring: New file.
46324         * m4/libunistring.m4: New file.
46325         * MODULES.html.sh (Unicode string functions): Add it.
46326
46327 2009-04-27  Eric Blake  <ebb9@byu.net>
46328
46329         maint.mk: allow package-specific header to provide <config.h>
46330         * top/maint.mk (sc_require_config_h): New variable.
46331         (sc_require_config_h, sc_require_config_h_first): Use it.
46332
46333 2009-04-27  Simon Josefsson  <simon@josefsson.org>
46334
46335         * top/maint.mk (sc_avoid_if_before_free): Except
46336         useless-if-before-free script.
46337
46338 2009-04-27  Eric Blake  <ebb9@byu.net>
46339
46340         maintainer-makefile: depend on all required helper scripts
46341         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
46342         useless-if-before-free.
46343         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46344         version, rather than assuming gnulib checkout is available.
46345         Reported by Simen Josefsson.
46346
46347 2009-04-26  Bruno Haible  <bruno@clisp.org>
46348
46349         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46350         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46351         "../" or "..".
46352
46353 2009-04-26  Bruno Haible  <bruno@clisp.org>
46354
46355         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46356         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46357         AC_LIB_HAVE_LINKFLAGS.
46358
46359 2009-04-26  Bruno Haible  <bruno@clisp.org>
46360
46361         Simplify calling convention of u*_conv_from_encoding.
46362         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46363         u32_conv_from_encoding): Expect a resultbuf argument and return the
46364         result directly as a pointer.
46365         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46366         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46367         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46368         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46369         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46370         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46371         Update.
46372         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46373         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46374         * lib/vasnprintf.c (VASNPRINTF): Update.
46375         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46376         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46377         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46378         * NEWS: Mention the change.
46379
46380 2009-04-26  Bruno Haible  <bruno@clisp.org>
46381
46382         Simplify calling convention of u*_conv_to_encoding.
46383         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46384         u32_conv_to_encoding): Expect a resultbuf argument and return the
46385         result directly as a pointer.
46386         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46387         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46388         freeing scaled_offsets if mem_iconveha failed.
46389         * lib/unicase/u-casexfrm.h (FUNC): Update.
46390         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46391         * lib/vasnprintf.c (VASNPRINTF): Update.
46392         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46393         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46394         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46395         * NEWS: Mention the change.
46396
46397 2009-04-26  Bruno Haible  <bruno@clisp.org>
46398
46399         Avoid test failures on AIX and OSF/1.
46400         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
46401         malloc(0).
46402         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46403         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46404         Likewise.
46405         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
46406         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
46407         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
46408         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
46409         * doc/posix-functions/malloc.texi: Document the portability problem
46410         related to malloc(0).
46411
46412 2009-04-26  Bruno Haible  <bruno@clisp.org>
46413
46414         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
46415         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
46416         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
46417
46418 2009-04-25  Bruno Haible  <bruno@clisp.org>
46419
46420         Avoid link error when creating a namespace clean library.
46421         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
46422         as macro with arguments if already defined as an alias.
46423         * lib/signbitf.c (gl_signbitf): Don't undefine.
46424         * lib/signbitd.c (gl_signbitd): Don't undefine.
46425         * lib/signbitl.c (gl_signbitl): Don't undefine.
46426
46427 2009-04-25  Jim Meyering  <meyering@redhat.com>
46428
46429         vc-list-files: fix another quoting bug
46430         * build-aux/vc-list-files: Avoid sed backslash expansion
46431         of pathological directory names.
46432
46433 2009-04-25  Eric Blake  <ebb9@byu.net>
46434
46435         vc-list-files: fix shell quoting error
46436         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
46437         timestamp.
46438
46439 2009-04-25  Jim Meyering  <meyering@redhat.com>
46440
46441         vc-list-files: restore lost functionality with subdir argument
46442         * build-aux/vc-list-files: When given a non-"." sub-directory
46443         argument, substitute the $dir/ prefix back onto each resulting name.
46444         Otherwise, coreutils' root_tests check would fail.
46445
46446 2009-04-24  Eric Blake  <ebb9@byu.net>
46447
46448         vc-list-files: ignore git symlinks
46449         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
46450         than ls-files, to ignore git symlinks.
46451
46452         maint.mk: import improvements from m4
46453         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
46454         (move_if_change): Delete unused macro.
46455         (news-date-check, vc-diff-check): Support VPATH builds.
46456         (announcement): Likewise.  Split --bootstrap-tools list...
46457         (boostrap-tools): ...into separate list, which can be overridden
46458         in cfg.mk.
46459         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
46460         requiring dependency on useless-if-before-free module.
46461         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
46462         Support VPATH builds.
46463
46464 2009-04-24  Jim Meyering  <meyering@redhat.com>
46465
46466         maint.mk: remove coreutils-specific rules and variables
46467         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
46468         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
46469         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
46470
46471         maint.mk: remove obsolete rule
46472         * top/maint.mk (rel-check): Remove rule.
46473         (WGET, WGETFLAGS): Remove now-unused variables.
46474
46475 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46476
46477         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
46478         consistency.
46479
46480         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
46481         '$(PATH_SEPARATOR)' instead of ':'.
46482
46483 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46484
46485         * lib/getopt1.c (main): Use 'const' for static array.
46486
46487 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46488
46489         * top/maint.mk: Sync with coreutils.
46490         * NEWS: Explain incompatibilities.
46491
46492 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46493             Bruno Haible  <bruno@clisp.org>
46494
46495         Fix cross-compilation results.
46496         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
46497         statement, as third argument of AC_TRY_RUN.
46498         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46499         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
46500         Likewise.
46501         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46502         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46503         Likewise.
46504         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46505         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
46506         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
46507
46508 2009-04-20  Bruno Haible  <bruno@clisp.org>
46509
46510         Avoid test failure on mingw.
46511         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
46512
46513 2009-04-20  Bruno Haible  <bruno@clisp.org>
46514
46515         Avoid compilation error on mingw.
46516         * modules/localename-tests (Depends-on): Add locale.
46517
46518 2009-04-19  Bruno Haible  <bruno@clisp.org>
46519
46520         Support for building a shared library on Windows platforms.
46521         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
46522         (main): Test the presence of UNINORM_NFC here.
46523         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
46524         (main): Test the presence of UNINORM_NFD here.
46525         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
46526         (main): Test the presence of UNINORM_NFKC here.
46527         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
46528         (main): Test the presence of UNINORM_NFKD here.
46529
46530 2009-04-19  Bruno Haible  <bruno@clisp.org>
46531
46532         Avoid a compiler warning.
46533         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
46534         Change type of variable 'sequence'.
46535
46536 2009-04-19  Bruno Haible  <bruno@clisp.org>
46537
46538         * modules/configmake (Makefile.am): When the contents of configmake.h
46539         does not change, arrange to preserve its modification time.
46540
46541 2009-04-17  Simon Josefsson  <simon@josefsson.org>
46542
46543         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
46544         gettext domain.
46545
46546 2009-04-16  Jim Meyering  <meyering@redhat.com>
46547
46548         useless-if-before-free: improve conversion code
46549         * build-aux/useless-if-before-free: Adjust code-in-comment to match
46550         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
46551
46552 2009-04-14  Bruno Haible  <bruno@clisp.org>
46553
46554         * modules/fcntl (Depends-on): Add extensions.
46555         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
46556
46557 2009-04-12  Ben Pfaff  <blp@gnu.org>
46558
46559         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
46560         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
46561
46562 2009-03-20  Ben Pfaff  <blp@gnu.org>
46563
46564         Make rename replace existing destinations on Windows.
46565         * m4/rename.m4: Add test for Mingw.
46566         * lib/rename.c: Add rename replacement that uses MoveFileEx with
46567         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
46568         * doc/posix-functions/rename.texi: Document.
46569
46570 2009-04-10  Bruno Haible  <bruno@clisp.org>
46571
46572         New include file "iconveh.h".
46573         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
46574         * lib/striconveh.h: Include it.
46575         (enum iconv_ilseq_handler): Remove definition.
46576         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
46577         striconveh.h.
46578         * lib/striconveha.c: Include striconveh.h.
46579         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
46580         * modules/striconveh (Files): Add lib/iconveh.h.
46581         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
46582         lib/striconveh.h.
46583
46584 2009-04-10  Bruno Haible  <bruno@clisp.org>
46585
46586         * lib/uniconv.h: Update comment.
46587
46588 2009-04-10  Bruno Haible  <bruno@clisp.org>
46589
46590         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
46591         always.
46592         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46593         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46594         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46595         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
46596         "unistring-notinline.h", so that the function gets defined always.
46597         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46598         * lib/unistr/u8-uctomb.c: Likewise.
46599         * lib/unistr/u16-mbtouc.c: Likewise.
46600         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46601         * lib/unistr/u16-uctomb.c: Likewise.
46602         * lib/unistr/u32-mbtouc.c: Likewise.
46603         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46604         * lib/unistr/u32-uctomb.c: Likewise.
46605
46606 2009-04-10  Bruno Haible  <bruno@clisp.org>
46607
46608         Mark 'utime' obsolete.
46609         * modules/utime (Status, Notice): New sections.
46610         Suggested by Jim Meyering.
46611
46612         Fix cross-compile guess for utime test.
46613         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
46614         autoconf.
46615         * doc/posix-functions/utime.texi: Give more precisions.
46616         Reported by Jan <ipif@ymail.com>.
46617
46618 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
46619
46620         filevercmp: correct today's change
46621         * lib/filevercmp.c: Also handle coreutils' test inputs.
46622         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
46623
46624         Fix regression in 'filevercmp' module. Thanks Sven Joachim
46625         for reporting it.
46626         * lib/filevercmp.c: Special handle for "", "." and "..".
46627         * tests/test-filevercmp.c: Enlarge the set suite.
46628
46629 2009-04-07  Jim Meyering  <meyering@redhat.com>
46630
46631         useless-if-before-free: show how to remove braced useless free, too
46632         * build-aux/useless-if-before-free: still only in a comment, though.
46633
46634 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
46635
46636         maint.mk: import changes to syntax-check macros from coreutils
46637         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
46638         Use them in the relevant macros.
46639
46640 2009-04-06  Bruno Haible  <bruno@clisp.org>
46641
46642         Fix unportable use of bit-fields.
46643         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
46644         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
46645         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
46646
46647 2009-04-06  Bruno Haible  <bruno@clisp.org>
46648
46649         Avoid test failures on AIX and OSF/1.
46650         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
46651         that malloc(0) = NULL.
46652         * tests/unicase/test-u8-tolower.c (check): Likewise.
46653         * tests/unicase/test-u8-totitle.c (check): Likewise.
46654         * tests/unicase/test-u8-toupper.c (check): Likewise.
46655         * tests/unicase/test-u16-casefold.c (check): Likewise.
46656         * tests/unicase/test-u16-tolower.c (check): Likewise.
46657         * tests/unicase/test-u16-totitle.c (check): Likewise.
46658         * tests/unicase/test-u16-toupper.c (check): Likewise.
46659         * tests/unicase/test-u32-casefold.c (check): Likewise.
46660         * tests/unicase/test-u32-tolower.c (check): Likewise.
46661         * tests/unicase/test-u32-totitle.c (check): Likewise.
46662         * tests/unicase/test-u32-toupper.c (check): Likewise.
46663         * tests/uninorm/test-u8-nfc.c (check): Likewise.
46664         * tests/uninorm/test-u8-nfd.c (check): Likewise.
46665         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
46666         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
46667         * tests/uninorm/test-u16-nfc.c (check): Likewise.
46668         * tests/uninorm/test-u16-nfd.c (check): Likewise.
46669         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
46670         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
46671         * tests/uninorm/test-u32-nfc.c (check): Likewise.
46672         * tests/uninorm/test-u32-nfd.c (check): Likewise.
46673         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
46674         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
46675
46676 2009-04-05  Bruno Haible  <bruno@clisp.org>
46677
46678         Work around an autoconf limitation.
46679         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
46680         comment line if it would be longer than 3 KB.
46681
46682 2009-04-05  Bruno Haible  <bruno@clisp.org>
46683
46684         Avoid test failure with libiconv-1.13.
46685         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
46686         of the expected test results.
46687
46688 2009-04-05  Bruno Haible  <bruno@clisp.org>
46689
46690         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
46691         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
46692         that it should be installed.
46693
46694 2009-04-05  Bruno Haible  <bruno@clisp.org>
46695
46696         * gnulib-tool: New option --copy-file.
46697         (func_usage): Document it.
46698         (func_dest_tmpfilename): Moved out of func_import.
46699         (func_add_file, func_update_file): New functions, extracted from
46700         func_import.
46701         (func_import): Update.
46702
46703 2009-04-05  Karl Berry  <karl@gnu.org>
46704
46705         * README: prominently mention gnulib-tool.
46706         Rearrange sections so getting the code is near the top.
46707
46708 2009-04-05  Bruno Haible  <bruno@clisp.org>
46709
46710         * lib/unicase.h: Mention u*_cmp2.
46711         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46712         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
46713         * lib/unicase/ulc-casecmp.c: Likewise.
46714         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
46715         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
46716         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
46717         unistr/u8-cmp.
46718         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
46719         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
46720         unistr/u16-cmp.
46721         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
46722         unistr/u32-cmp.
46723
46724         * lib/uninorm.h: Mention u*_cmp2.
46725         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46726         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
46727         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
46728         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
46729         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
46730         unistr/u8-cmp.
46731         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
46732         unistr/u16-cmp.
46733         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
46734         unistr/u32-cmp.
46735
46736         New module 'unistr/u32-cmp2'.
46737         * lib/unistr/u32-cmp2.c: New file.
46738         * modules/unistr/u32-cmp2: New file.
46739
46740         New module 'unistr/u16-cmp2'.
46741         * lib/unistr/u16-cmp2.c: New file.
46742         * modules/unistr/u16-cmp2: New file.
46743
46744         New module 'unistr/u8-cmp2'.
46745         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
46746         * lib/unistr/u8-cmp2.c: New file.
46747         * lib/unistr/u-cmp2.h: New file.
46748         * modules/unistr/u8-cmp2: New file.
46749
46750 2009-04-05  Bruno Haible  <bruno@clisp.org>
46751
46752         * lib/unictype.h (uc_property_is_valid): New macro.
46753         * tests/unictype/test-pr_byname.c (main): Use it.
46754
46755         * lib/unistr.h: Doc fixes.
46756         * lib/uniconv.h: Doc fixes.
46757         * lib/unictype.h: Doc fixes.
46758
46759 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
46760
46761         Port coreutils 7.2 to Solaris 8.
46762
46763         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
46764         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
46765         for Solaris 8.  This is a bit of a hack, as it means it's the
46766         caller's responsibility to add -lnsl if needed, but most likely it
46767         won't be needed since only getaddrinfo uses this and getaddrinfo
46768         isn't needed on Solaris 8.
46769
46770         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46771         problem to Solaris 8 encountered with coreutils 7.2, which
46772         resulted in a message "fnmatch.c:292: warning: passing argument 4
46773         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46774         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46775
46776 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46777
46778         * m4/ld-version-script.m4: Add FIXME comment.
46779
46780 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46781
46782         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46783         SOVERSION variable.
46784
46785 2009-04-02  Bruno Haible  <bruno@clisp.org>
46786
46787         * Makefile (info, html, dvi, pdf): Combine the rules.
46788         Suggested by Jim Meyering.
46789
46790 2009-04-01  Bruno Haible  <bruno@clisp.org>
46791
46792         * Makefile (info, html, dvi, pdf): New targets.
46793         Reported by Reuben Thomas <rrt@sc3d.org>.
46794
46795 2009-04-01  Bruno Haible  <bruno@clisp.org>
46796
46797         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46798         can be put into PATH.
46799         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46800
46801 2009-04-01  Bruno Haible  <bruno@clisp.org>
46802
46803         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46804
46805 2009-04-01  Bruno Haible  <bruno@clisp.org>
46806
46807         Rename module 'visibility'.
46808         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46809         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46810         * doc/gnulib.texi: Update.
46811         * MODULES.html.sh (Misc): Update.
46812         * NEWS: Mention the change.
46813
46814 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46815
46816         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46817         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46818         Eric Blake <ebb9@byu.net> for review.
46819         * MODULES.html.sh: Add lib-msvc-compat.
46820         * doc/gnulib.texi: Link to new section.
46821         * m4/ld-output-def.m4: New file.
46822         * doc/ld-output-def.texi: New file.
46823
46824 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46825
46826         Rename ld-version-script to lib-symbol-versions.  Suggested by
46827         Bruno Haible <bruno@clisp.org>.
46828         * modules/ld-version-script: Renamed to lib-symbol-versions.
46829         * doc/ld-version-script.texi: Fix module name.
46830         * MODULES.html.sh: Add lib-symbol-versions.
46831
46832 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46833
46834         * modules/u64-tests: New file.
46835         * tests/test-u64.c: New file.
46836
46837 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46838
46839         * MODULES.html.sh: Mention u64.
46840         * modules/u64: New module.
46841         * modules/crypto/sha512: Depend on u64 module instead of providing
46842         u64.h.
46843
46844 2009-03-27  Eric Blake  <ebb9@byu.net>
46845
46846         test-strerror: make debugging EAI_SYSTEM easier
46847         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46848         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46849         failure was EAI_SYSTEM.
46850
46851 2009-03-25  Bruno Haible  <bruno@clisp.org>
46852
46853         Fix a problem with --enable-relocatable on Solaris 7.
46854         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46855         since 2008-02-24.
46856
46857 2009-03-25  Eric Blake  <ebb9@byu.net>
46858
46859         test-sockets: avoid gcc warning
46860         * tests/test-sockets.c (main): Silence compiler warning.
46861
46862 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46863
46864         New modules nproc, pthread, contributed by Glen Lenker.
46865
46866         * MODULES.html.sh: Add pthread, nproc.
46867         * lib/nproc.c: New file.
46868         * lib/nproc.h: New file.
46869         * lib/pthread.in.h: New file.
46870         * m4/pthread.m4: New file.
46871         * modules/nproc: New file.
46872         * modules/pthread: New file.
46873
46874 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46875
46876         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46877         New variable.
46878
46879 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46880
46881         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46882         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46883         * tests/test-filevercmp.c: Add tests for backup suffixes.
46884
46885 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46886
46887         * modules/stdlib (Depends-on): Add stdint, needed when defining
46888         struct random_data on, for example, HP-UX 10.20.  Reported by
46889         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46890
46891 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46892
46893         * lib/readline.c (readline): Call fflush on stdout after printing
46894         prompt.
46895
46896 2009-03-20  Bruno Haible  <bruno@clisp.org>
46897
46898         Remove dependency from 'close' module to -lws2_32 on native Windows.
46899         * lib/close-hook.h: New file.
46900         * lib/close-hook.c: New file.
46901         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46902         w32sock.h.
46903         (_gl_close_fd_maybe_socket): Remove function.
46904         (rpl_close): Invoke execute_all_close_hooks instead of
46905         _gl_close_fd_maybe_socket.
46906         * lib/sockets.c: Include close-hook.h, w32sock.h.
46907         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46908         (close_sockets_hook): New variable.
46909         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46910         (gl_sockets_cleanup): Unregister it.
46911         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46912         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46913         * modules/close-hook: New file.
46914         * modules/close (Files): Remove lib/w32sock.h.
46915         (Depends-on): Add close-hook.
46916         (Link): Remove section.
46917         * modules/sockets (Files): Add lib/w32sock.h.
46918         (Depends-on): Add close-hook.
46919         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46920         invocation.
46921         * NEWS: Mention that LIB_CLOSE is gone.
46922
46923 2009-03-23  Eric Blake  <ebb9@byu.net>
46924
46925         signal-tests: test previous patch
46926         * tests/test-signal.c: New file.
46927         * modules/signal-tests: Likewise.
46928
46929         signal.h: always support 'volatile sig_atomic_t'
46930         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46931         (gl_SIGNAL_H_DEFAULTS): Add a default.
46932         * modules/signal (Makefile.am): Substitute if needed.
46933         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46934         users can blindly add volatile.
46935         * doc/posix-headers/signal.texi (signal.h): Document it.
46936         Reported by Matthew Woehlke.
46937
46938 2009-03-23  Jim Meyering  <meyering@redhat.com>
46939
46940         pathmax: PATH_MAX: use pathconf only when available
46941         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
46942         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
46943         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
46944         This avoids a link failure in a PSP cross-compilation environment
46945         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
46946
46947         * lib/vasnprintf.c (divide): Fix typo in comment.
46948
46949 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46950
46951         * gnulib-tool (func_filter_filelist): Fix comment.
46952
46953 2009-03-20  Bruno Haible  <bruno@clisp.org>
46954
46955         Make sockets.h self-contained.
46956         * lib/sockets.c: Include sockets.h first.
46957         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
46958
46959 2009-03-19  Eric Blake  <ebb9@byu.net>
46960
46961         doc: mention more functions added in cygwin 1.7.0
46962         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
46963         addition.
46964         * doc/posix-functions/log2f.texi: Likewise.
46965
46966 2009-03-19  Jim Meyering  <meyering@redhat.com>
46967
46968         fsusage: avoid syntax error due to statement-before-declaration
46969         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
46970         after all declarations.  Reported by Matthew Woehlke in
46971         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
46972
46973 2009-03-18  Eric Blake  <ebb9@byu.net>
46974
46975         build-aux/compile: sync from automake
46976         * build-aux/compile: New file, from automake.
46977         * config/srclist.txt: Mention build-aux/compile.
46978
46979 2009-03-17  Bruno Haible  <bruno@clisp.org>
46980
46981         * lib/git-merge-changelog.c: Fix typo in comment.
46982         Reported by Reuben Thomas <rrt@sc3d.org>.
46983
46984 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46985
46986         * m4/regex.m4: update and improve help for
46987         --without-included-regex.
46988
46989 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46990
46991         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46992         failure on missing include files.
46993
46994 2009-03-17  Eric Blake  <ebb9@byu.net>
46995
46996         doc: mention more functions added in cygwin 1.7.0
46997         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46998         addition.
46999         * doc/posix-functions/fwscanf.texi: Likewise.
47000         * doc/posix-functions/swprintf.texi: Likewise.
47001         * doc/posix-functions/swscanf.texi: Likewise.
47002         * doc/posix-functions/vfwprintf.texi: Likewise.
47003         * doc/posix-functions/vfwscanf.texi: Likewise.
47004         * doc/posix-functions/vswprintf.texi: Likewise.
47005         * doc/posix-functions/vswscanf.texi: Likewise.
47006         * doc/posix-functions/vwprintf.texi: Likewise.
47007         * doc/posix-functions/vwscanf.texi: Likewise.
47008         * doc/posix-functions/wcscasecmp.texi: Likewise.
47009         * doc/posix-functions/wcsdup.texi: Likewise.
47010         * doc/posix-functions/wcsftime.texi: Likewise.
47011         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47012         * doc/posix-functions/wprintf.texi: Likewise.
47013         * doc/posix-functions/wscanf.texi: Likewise.
47014         * doc/glibc-functions/gethostbyname2.texi: Likewise.
47015
47016 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47017
47018         maint.mk: really add $(AM_MAKEFLAGS)
47019         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
47020         was inadvertently omitted in the last commit.
47021         Spotted by Bruno Haible.
47022
47023         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
47024         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
47025         $(AM_MAKEFLAGS)' rather than plain `make'.
47026
47027         gnulib-tool: execute $MAKE not make
47028         * gnulib-tool: Default $MAKE to 'make'.
47029         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
47030         than make.  Initialize $MAKE in the do-autobuild script.
47031
47032         gnulib-tool: use $MAKE not make in generated files
47033         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
47034         make, in generated files.  Initialize $MAKE in the do-autobuild
47035         script.
47036
47037         * top/GNUmakefile (_have-git-version-gen): Fix typo.
47038
47039         GNUmakefile: disable parallelism only for multiple, recursive targets
47040         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
47041         additions in the Makefile.
47042         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
47043         by Automake.
47044         (.NOTPARALLEL): Only disable parallel builds if multiple targets
47045         are listed on the command line and at least one of them is
47046         listed in $(ALL_RECURSIVE_TARGETS).
47047
47048 2009-03-14  Bruno Haible  <bruno@clisp.org>
47049
47050         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
47051         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
47052         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
47053         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
47054         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
47055         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
47056         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
47057         unistr/u8-uctomb.
47058         * modules/unistr/u8-strchr (Depends-on): Likewise.
47059         * modules/unistr/u8-strrchr (Depends-on): Likewise.
47060         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
47061         unistr/u16-uctomb.
47062         * modules/unistr/u16-strchr (Depends-on): Likewise.
47063         * modules/unistr/u16-strrchr (Depends-on): Likewise.
47064
47065 2009-03-12  Bruno Haible  <bruno@clisp.org>
47066
47067         Work around select() bug on Interix 3.5.
47068         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
47069         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
47070         * m4/select.m4: New file.
47071         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
47072         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
47073         * modules/select (Files): Add m4/select.m4.
47074         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
47075         * modules/nanosleep (Depends-on): Add select.
47076         * modules/poll (Depends-on): Likewise.
47077         * doc/posix-functions/select.texi: Mention the Interix bug.
47078         Reported by Markus Duft <mduft@gentoo.org>.
47079
47080         * lib/select.c: Renamed from lib/winsock-select.c.
47081         * modules/select (Files): Add lib/select.c, remove
47082         lib/winsock-select.c.
47083         (configure.ac): Update.
47084
47085 2009-03-12  Jim Meyering  <meyering@redhat.com>
47086
47087         avoid gcc warnings about unused macro definitions
47088         * lib/readtokens.c (STREQ): Remove unused definition.
47089         * lib/xmalloc.c (SIZE_MAX): Likewise.
47090         * lib/openat-die.c (N_): Likewise.
47091         * lib/mountlist.c (SIZE_MAX): Remove definition.
47092         Instead, include <stdint.h>.
47093         * lib/readutmp.c: Likewise.
47094         * modules/readutmp (Depends-on): Add stdint.
47095         * modules/mountlist (Depends-on): Add stdint.
47096         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
47097
47098 2009-03-10  Bruno Haible  <bruno@clisp.org>
47099
47100         Tests for module 'mbmemcasecoll'.
47101         * modules/mbmemcasecoll-tests: New file.
47102         * tests/test-mbmemcasecoll1.sh: New file.
47103         * tests/test-mbmemcasecoll2.sh: New file.
47104         * tests/test-mbmemcasecoll3.sh: New file.
47105         * tests/test-mbmemcasecoll.c: New file.
47106
47107         New module 'mbmemcasecoll'.
47108         * lib/mbmemcasecoll.h: New file.
47109         * lib/mbmemcasecoll.c: New file.
47110         * modules/mbmemcasecoll: New file.
47111
47112         * tests/test-mbmemcasecmp.h: New file, extracted from
47113         tests/test-mbmemcasecmp.c.
47114         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
47115         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
47116         (main): Update.
47117         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
47118
47119 2009-03-09  Bruno Haible  <bruno@clisp.org>
47120
47121         Tests for module 'mbmemcasecmp'.
47122         * modules/mbmemcasecmp-tests: New file.
47123         * tests/test-mbmemcasecmp1.sh: New file.
47124         * tests/test-mbmemcasecmp2.sh: New file.
47125         * tests/test-mbmemcasecmp3.sh: New file.
47126         * tests/test-mbmemcasecmp.c: New file.
47127
47128         New module 'mbmemcasecmp'.
47129         * lib/mbmemcasecmp.h: New file.
47130         * lib/mbmemcasecmp.c: New file.
47131         * modules/mbmemcasecmp: New file.
47132
47133 2009-03-09  Bruno Haible  <bruno@clisp.org>
47134
47135         Tests for module 'unicase/ulc-casecoll'.
47136         * modules/unicase/ulc-casecoll-tests: New file.
47137         * tests/unicase/test-ulc-casecoll1.sh: New file.
47138         * tests/unicase/test-ulc-casecoll2.sh: New file.
47139         * tests/unicase/test-ulc-casecoll.c: New file.
47140
47141         New module 'unicase/ulc-casecoll'.
47142         * lib/unicase.h (ulc_casecoll): New declaration.
47143         * lib/unicase/ulc-casecoll.c: New file.
47144         * modules/unicase/ulc-casecoll: New file.
47145
47146         New module 'unicase/ulc-casexfrm'.
47147         * lib/unicase.h (ulc_casexfrm): New declaration.
47148         * lib/unicase/ulc-casexfrm.c: New file.
47149         * modules/unicase/ulc-casexfrm: New file.
47150
47151 2009-03-09  Bruno Haible  <bruno@clisp.org>
47152
47153         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
47154         invocations.
47155
47156         * m4/mbscasecmp.m4: Remove file.
47157         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
47158         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
47159
47160         * m4/mbscasestr.m4: Remove file.
47161         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
47162         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
47163
47164         * m4/mbschr.m4: Remove file.
47165         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
47166         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
47167
47168         * m4/mbscspn.m4: Remove file.
47169         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
47170         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
47171
47172         * m4/mbslen.m4: Remove file.
47173         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
47174         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
47175
47176         * m4/mbsncasecmp.m4: Remove file.
47177         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
47178         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
47179
47180         * m4/mbsnlen.m4: Remove file.
47181         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
47182         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
47183
47184         * m4/mbspbrk.m4: Remove file.
47185         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
47186         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
47187
47188         * m4/mbspcasecmp.m4: Remove file.
47189         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
47190         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
47191
47192         * m4/mbsrchr.m4: Remove file.
47193         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
47194         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
47195
47196         * m4/mbssep.m4: Remove file.
47197         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
47198         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
47199
47200         * m4/mbsspn.m4: Remove file.
47201         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
47202         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
47203
47204         * m4/mbsstr.m4: Remove file.
47205         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
47206         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
47207
47208         * m4/mbstok_r.m4: Remove file.
47209         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
47210         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
47211
47212         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
47213
47214         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
47215         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
47216
47217         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
47218
47219 2009-03-08  Bruno Haible  <bruno@clisp.org>
47220
47221         Tests for module 'unicase/ulc-casecmp'.
47222         * modules/unicase/ulc-casecmp-tests: New file.
47223         * tests/unicase/test-ulc-casecmp1.sh: New file.
47224         * tests/unicase/test-ulc-casecmp2.sh: New file.
47225         * tests/unicase/test-ulc-casecmp.c: New file.
47226
47227         New module 'unicase/ulc-casecmp'.
47228         * lib/unicase.h (ulc_casecmp): New declaration.
47229         * lib/unicase/ulc-casecmp.c: New file.
47230         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
47231         'const SRC_UNIT *'.
47232         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
47233         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
47234         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
47235         * modules/unicase/ulc-casecmp: New file.
47236
47237         Tests for module 'unicase/u32-is-cased'.
47238         * modules/unicase/u32-is-cased-tests: New file.
47239         * tests/unicase/test-u32-is-cased.c: New file.
47240
47241         Tests for module 'unicase/u16-is-cased'.
47242         * modules/unicase/u16-is-cased-tests: New file.
47243         * tests/unicase/test-u16-is-cased.c: New file.
47244
47245         Tests for module 'unicase/u8-is-cased'.
47246         * modules/unicase/u8-is-cased-tests: New file.
47247         * tests/unicase/test-u8-is-cased.c: New file.
47248         * tests/unicase/test-is-cased.h: New file.
47249
47250         New module 'unicase/u32-is-cased'.
47251         * lib/unicase/u32-is-cased.c: New file.
47252         * modules/unicase/u32-is-cased: New file.
47253
47254         New module 'unicase/u16-is-cased'.
47255         * lib/unicase/u16-is-cased.c: New file.
47256         * modules/unicase/u16-is-cased: New file.
47257
47258         New module 'unicase/u8-is-cased'.
47259         * lib/unicase/u8-is-cased.c: New file.
47260         * lib/unicase/u-is-cased.h: New file.
47261         * modules/unicase/u8-is-cased: New file.
47262
47263         Tests for module 'unicase/u32-is-casefolded'.
47264         * modules/unicase/u32-is-casefolded-tests: New file.
47265         * tests/unicase/test-u32-is-casefolded.c: New file.
47266
47267         Tests for module 'unicase/u16-is-casefolded'.
47268         * modules/unicase/u16-is-casefolded-tests: New file.
47269         * tests/unicase/test-u16-is-casefolded.c: New file.
47270
47271         Tests for module 'unicase/u8-is-casefolded'.
47272         * modules/unicase/u8-is-casefolded-tests: New file.
47273         * tests/unicase/test-u8-is-casefolded.c: New file.
47274         * tests/unicase/test-is-casefolded.h: New file.
47275
47276         New module 'unicase/u32-is-casefolded'.
47277         * lib/unicase/u32-is-casefolded.c: New file.
47278         * modules/unicase/u32-is-casefolded: New file.
47279
47280         New module 'unicase/u16-is-casefolded'.
47281         * lib/unicase/u16-is-casefolded.c: New file.
47282         * modules/unicase/u16-is-casefolded: New file.
47283
47284         New module 'unicase/u8-is-casefolded'.
47285         * lib/unicase/u8-is-casefolded.c: New file.
47286         * modules/unicase/u8-is-casefolded: New file.
47287
47288         Tests for module 'unicase/u32-is-titlecase'.
47289         * modules/unicase/u32-is-titlecase-tests: New file.
47290         * tests/unicase/test-u32-is-titlecase.c: New file.
47291
47292         Tests for module 'unicase/u16-is-titlecase'.
47293         * modules/unicase/u16-is-titlecase-tests: New file.
47294         * tests/unicase/test-u16-is-titlecase.c: New file.
47295
47296         Tests for module 'unicase/u8-is-titlecase'.
47297         * modules/unicase/u8-is-titlecase-tests: New file.
47298         * tests/unicase/test-u8-is-titlecase.c: New file.
47299         * tests/unicase/test-is-titlecase.h: New file.
47300
47301         New module 'unicase/u32-is-titlecase'.
47302         * lib/unicase/u32-is-titlecase.c: New file.
47303         * modules/unicase/u32-is-titlecase: New file.
47304
47305         New module 'unicase/u16-is-titlecase'.
47306         * lib/unicase/u16-is-titlecase.c: New file.
47307         * modules/unicase/u16-is-titlecase: New file.
47308
47309         New module 'unicase/u8-is-titlecase'.
47310         * lib/unicase/u8-is-titlecase.c: New file.
47311         * modules/unicase/u8-is-titlecase: New file.
47312
47313         Tests for module 'unicase/u32-is-lowercase'.
47314         * modules/unicase/u32-is-lowercase-tests: New file.
47315         * tests/unicase/test-u32-is-lowercase.c: New file.
47316
47317         Tests for module 'unicase/u16-is-lowercase'.
47318         * modules/unicase/u16-is-lowercase-tests: New file.
47319         * tests/unicase/test-u16-is-lowercase.c: New file.
47320
47321         Tests for module 'unicase/u8-is-lowercase'.
47322         * modules/unicase/u8-is-lowercase-tests: New file.
47323         * tests/unicase/test-u8-is-lowercase.c: New file.
47324         * tests/unicase/test-is-lowercase.h: New file.
47325
47326         New module 'unicase/u32-is-lowercase'.
47327         * lib/unicase/u32-is-lowercase.c: New file.
47328         * modules/unicase/u32-is-lowercase: New file.
47329
47330         New module 'unicase/u16-is-lowercase'.
47331         * lib/unicase/u16-is-lowercase.c: New file.
47332         * modules/unicase/u16-is-lowercase: New file.
47333
47334         New module 'unicase/u8-is-lowercase'.
47335         * lib/unicase/u8-is-lowercase.c: New file.
47336         * modules/unicase/u8-is-lowercase: New file.
47337
47338         Tests for module 'unicase/u32-is-uppercase'.
47339         * modules/unicase/u32-is-uppercase-tests: New file.
47340         * tests/unicase/test-u32-is-uppercase.c: New file.
47341
47342         Tests for module 'unicase/u16-is-uppercase'.
47343         * modules/unicase/u16-is-uppercase-tests: New file.
47344         * tests/unicase/test-u16-is-uppercase.c: New file.
47345
47346         Tests for module 'unicase/u8-is-uppercase'.
47347         * modules/unicase/u8-is-uppercase-tests: New file.
47348         * tests/unicase/test-u8-is-uppercase.c: New file.
47349         * tests/unicase/test-is-uppercase.h: New file.
47350
47351         New module 'unicase/u32-is-uppercase'.
47352         * lib/unicase/u32-is-uppercase.c: New file.
47353         * modules/unicase/u32-is-uppercase: New file.
47354
47355         New module 'unicase/u16-is-uppercase'.
47356         * lib/unicase/u16-is-uppercase.c: New file.
47357         * modules/unicase/u16-is-uppercase: New file.
47358
47359         New module 'unicase/u8-is-uppercase'.
47360         * lib/unicase/u8-is-uppercase.c: New file.
47361         * modules/unicase/u8-is-uppercase: New file.
47362
47363         New module 'unicase/u32-is-invariant'.
47364         * lib/unicase/u32-is-invariant.c: New file.
47365         * modules/unicase/u32-is-invariant: New file.
47366
47367         New module 'unicase/u16-is-invariant'.
47368         * lib/unicase/u16-is-invariant.c: New file.
47369         * modules/unicase/u16-is-invariant: New file.
47370
47371         New module 'unicase/u8-is-invariant'.
47372         * lib/unicase/u8-is-invariant.c: New file.
47373         * lib/unicase/invariant.h: New file.
47374         * lib/unicase/u-is-invariant.h: New file.
47375         * modules/unicase/u8-is-invariant: New file.
47376
47377         Tests for module 'unicase/u32-casecoll'.
47378         * modules/unicase/u32-casecoll-tests: New file.
47379         * tests/unicase/test-u32-casecoll.c: New file.
47380
47381         Tests for module 'unicase/u16-casecoll'.
47382         * modules/unicase/u16-casecoll-tests: New file.
47383         * tests/unicase/test-u16-casecoll.c: New file.
47384
47385         Tests for module 'unicase/u8-casecoll'.
47386         * modules/unicase/u8-casecoll-tests: New file.
47387         * tests/unicase/test-u8-casecoll.c: New file.
47388
47389         New module 'unicase/u32-casecoll'.
47390         * lib/unicase/u32-casecoll.c: New file.
47391         * modules/unicase/u32-casecoll: New file.
47392
47393         New module 'unicase/u16-casecoll'.
47394         * lib/unicase/u16-casecoll.c: New file.
47395         * modules/unicase/u16-casecoll: New file.
47396
47397         New module 'unicase/u8-casecoll'.
47398         * lib/unicase/u8-casecoll.c: New file.
47399         * lib/unicase/u-casecoll.h: New file.
47400         * modules/unicase/u8-casecoll: New file.
47401
47402         New module 'unicase/u32-casexfrm'.
47403         * lib/unicase/u32-casexfrm.c: New file.
47404         * modules/unicase/u32-casexfrm: New file.
47405
47406         New module 'unicase/u16-casexfrm'.
47407         * lib/unicase/u16-casexfrm.c: New file.
47408         * modules/unicase/u16-casexfrm: New file.
47409
47410         New module 'unicase/u8-casexfrm'.
47411         * lib/unicase/u8-casexfrm.c: New file.
47412         * lib/unicase/u-casexfrm.h: New file.
47413         * modules/unicase/u8-casexfrm: New file.
47414
47415         Tests for module 'unicase/u32-casecmp'.
47416         * modules/unicase/u32-casecmp-tests: New file.
47417         * tests/unicase/test-u32-casecmp.c: New file.
47418
47419         Tests for module 'unicase/u16-casecmp'.
47420         * modules/unicase/u16-casecmp-tests: New file.
47421         * tests/unicase/test-u16-casecmp.c: New file.
47422
47423         Tests for module 'unicase/u8-casecmp'.
47424         * modules/unicase/u8-casecmp-tests: New file.
47425         * tests/unicase/test-u8-casecmp.c: New file.
47426         * tests/unicase/test-casecmp.h: New file.
47427
47428         New module 'unicase/u32-casecmp'.
47429         * lib/unicase/u32-casecmp.c: New file.
47430         * modules/unicase/u32-casecmp: New file.
47431
47432         New module 'unicase/u16-casecmp'.
47433         * lib/unicase/u16-casecmp.c: New file.
47434         * modules/unicase/u16-casecmp: New file.
47435
47436         New module 'unicase/u8-casecmp'.
47437         * lib/unicase/u8-casecmp.c: New file.
47438         * lib/unicase/u-casecmp.h: New file.
47439         * modules/unicase/u8-casecmp: New file.
47440
47441         Tests for module 'unicase/u32-casefold'.
47442         * modules/unicase/u32-casefold-tests: New file.
47443         * tests/unicase/test-u32-casefold.c: New file.
47444
47445         Tests for module 'unicase/u16-casefold'.
47446         * modules/unicase/u16-casefold-tests: New file.
47447         * tests/unicase/test-u16-casefold.c: New file.
47448
47449         Tests for module 'unicase/u8-casefold'.
47450         * modules/unicase/u8-casefold-tests: New file.
47451         * tests/unicase/test-u8-casefold.c: New file.
47452
47453         New module 'unicase/u32-casefold'.
47454         * lib/unicase/u32-casefold.c: New file.
47455         * modules/unicase/u32-casefold: New file.
47456
47457         New module 'unicase/u16-casefold'.
47458         * lib/unicase/u16-casefold.c: New file.
47459         * modules/unicase/u16-casefold: New file.
47460
47461         New module 'unicase/u8-casefold'.
47462         * lib/unicase/u8-casefold.c: New file.
47463         * lib/unicase/u-casefold.h: New file.
47464         * modules/unicase/u8-casefold: New file.
47465
47466         New module 'unicase/tocasefold'.
47467         * lib/unicase/casefold.h: New file.
47468         * lib/unicase/tocasefold.c: New file.
47469         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
47470         * modules/unicase/tocasefold: New file.
47471
47472         Tests for module 'unicase/u32-totitle'.
47473         * modules/unicase/u32-totitle-tests: New file.
47474         * tests/unicase/test-u32-totitle.c: New file.
47475
47476         Tests for module 'unicase/u16-totitle'.
47477         * modules/unicase/u16-totitle-tests: New file.
47478         * tests/unicase/test-u16-totitle.c: New file.
47479
47480         Tests for module 'unicase/u8-totitle'.
47481         * modules/unicase/u8-totitle-tests: New file.
47482         * tests/unicase/test-u8-totitle.c: New file.
47483
47484         New module 'unicase/u32-totitle'.
47485         * lib/unicase/u32-totitle.c: New file.
47486         * modules/unicase/u32-totitle: New file.
47487
47488         New module 'unicase/u16-totitle'.
47489         * lib/unicase/u16-totitle.c: New file.
47490         * modules/unicase/u16-totitle: New file.
47491
47492         New module 'unicase/u8-totitle'.
47493         * lib/unicase/u8-totitle.c: New file.
47494         * lib/unicase/u-totitle.h: New file.
47495         * modules/unicase/u8-totitle: New file.
47496
47497         Tests for module 'unicase/u32-tolower'.
47498         * modules/unicase/u32-tolower-tests: New file.
47499         * tests/unicase/test-u32-tolower.c: New file.
47500
47501         Tests for module 'unicase/u16-tolower'.
47502         * modules/unicase/u16-tolower-tests: New file.
47503         * tests/unicase/test-u16-tolower.c: New file.
47504
47505         Tests for module 'unicase/u8-tolower'.
47506         * modules/unicase/u8-tolower-tests: New file.
47507         * tests/unicase/test-u8-tolower.c: New file.
47508
47509         New module 'unicase/u32-tolower'.
47510         * lib/unicase/u32-tolower.c: New file.
47511         * modules/unicase/u32-tolower: New file.
47512
47513         New module 'unicase/u16-tolower'.
47514         * lib/unicase/u16-tolower.c: New file.
47515         * modules/unicase/u16-tolower: New file.
47516
47517         New module 'unicase/u8-tolower'.
47518         * lib/unicase/u8-tolower.c: New file.
47519         * modules/unicase/u8-tolower: New file.
47520
47521         Tests for module 'unicase/u32-toupper'.
47522         * modules/unicase/u32-toupper-tests: New file.
47523         * tests/unicase/test-u32-toupper.c: New file.
47524
47525         Tests for module 'unicase/u16-toupper'.
47526         * modules/unicase/u16-toupper-tests: New file.
47527         * tests/unicase/test-u16-toupper.c: New file.
47528
47529         Tests for module 'unicase/u8-toupper'.
47530         * modules/unicase/u8-toupper-tests: New file.
47531         * tests/unicase/test-u8-toupper.c: New file.
47532
47533         New module 'unicase/u32-toupper'.
47534         * lib/unicase/u32-toupper.c: New file.
47535         * modules/unicase/u32-toupper: New file.
47536
47537         New module 'unicase/u16-toupper'.
47538         * lib/unicase/u16-toupper.c: New file.
47539         * modules/unicase/u16-toupper: New file.
47540
47541         New module 'unicase/u8-toupper'.
47542         * lib/unicase/u8-toupper.c: New file.
47543         * modules/unicase/u8-toupper: New file.
47544
47545         New module 'unicase/u32-casemap'.
47546         * lib/unicase/u32-casemap.c: New file.
47547         * modules/unicase/u32-casemap: New file.
47548
47549         New module 'unicase/u16-casemap'.
47550         * lib/unicase/u16-casemap.c: New file.
47551         * modules/unicase/u16-casemap: New file.
47552
47553         New module 'unicase/u8-casemap'.
47554         * lib/unicase/unicasemap.h: New file.
47555         * lib/unicase/u8-casemap.c: New file.
47556         * lib/unicase/u-casemap.h: New file.
47557         * modules/unicase/u8-casemap: New file.
47558
47559         New module 'unicase/special-casing'.
47560         * lib/unicase/special-casing.h: New file.
47561         * lib/unicase/special-casing.c: New file.
47562         * lib/unicase/special-casing-table.gperf: New file, generated by
47563         gen-uni-tables.c.
47564         * modules/unicase/special-casing: New file.
47565
47566         Tests for module 'unicase/locale-language'.
47567         * modules/unicase/locale-language-tests: New file.
47568         * tests/unicase/test-locale-language.sh: New file.
47569         * tests/unicase/test-locale-language.c: New file.
47570
47571         New module 'unicase/locale-language'.
47572         * lib/unicase/locale-language.c: New file.
47573         * lib/unicase/locale-languages.gperf: New file.
47574         * modules/unicase/locale-language: New file.
47575
47576         Generate more tables for case conversion and case folding.
47577         * lib/gen-uni-tables.c (SCC_*): New enum items.
47578         (struct special_casing_rule): New type.
47579         (casing_rules, num_casing_rules, allocated_casing_rules): New
47580         variables.
47581         (add_casing_rule, fill_casing_rules): New functions.
47582         (struct casefold_rule): New type.
47583         (casefolding_rules, num_casefolding_rules,
47584         allocated_casefolding_rules): New variables.
47585         (fill_casefolding_rules): New function.
47586         (unicode_casefold): New variable.
47587         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
47588         sort_casing_rules, output_casing_rules): New functions.
47589         (main): Accept to more arguments: SpecialCasing.txt and
47590         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
47591         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
47592         Output mapping for casefolding.
47593
47594         * lib/unicase.h: Include stdbool.h, uninorm.h.
47595         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
47596         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
47597         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
47598         arguments.
47599         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
47600         resultp arguments.
47601         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
47602         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
47603         resultp arguments.
47604         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
47605         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
47606         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
47607         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
47608         declarations.
47609         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
47610
47611 2009-03-08  Bruno Haible  <bruno@clisp.org>
47612
47613         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47614         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
47615         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
47616         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47617
47618 2009-03-07  Bruno Haible  <bruno@clisp.org>
47619
47620         Adjust u*_normcmp, u*_normcoll API.
47621         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47622         u16_normcoll, u32_normcoll): Change failure conventions.
47623         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
47624         errno and return -1.
47625         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47626
47627 2009-03-07  Bruno Haible  <bruno@clisp.org>
47628
47629         Tests for module 'uninorm/u32-normcoll'.
47630         * modules/uninorm/u32-normcoll-tests: New file.
47631         * tests/uninorm/test-u32-normcoll.c: New file.
47632
47633         Tests for module 'uninorm/u16-normcoll'.
47634         * modules/uninorm/u16-normcoll-tests: New file.
47635         * tests/uninorm/test-u16-normcoll.c: New file.
47636
47637         Tests for module 'uninorm/u8-normcoll'.
47638         * modules/uninorm/u8-normcoll-tests: New file.
47639         * tests/uninorm/test-u8-normcoll.c: New file.
47640
47641 2009-03-07  Bruno Haible  <bruno@clisp.org>
47642
47643         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
47644         tests/uninorm/test-u32-normcmp.c.
47645         * tests/uninorm/test-u32-normcmp.c: Include it.
47646         (test_nonascii): New function, extracted from main. Add some more
47647         tests.
47648         (main): Invoke test_ascii and test_nonascii.
47649         * modules/uninorm/u32-normcmp-tests (Files): Add
47650         tests/uninorm/test-u32-normcmp.h.
47651         (Depends-on): Remove uninorm/u32-normcmp.
47652
47653         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
47654         tests/uninorm/test-u16-normcmp.c.
47655         * tests/uninorm/test-u16-normcmp.c: Include it.
47656         (test_nonascii): New function, extracted from main. Add some more
47657         tests.
47658         (main): Invoke test_ascii and test_nonascii.
47659         * modules/uninorm/u16-normcmp-tests (Files): Add
47660         tests/uninorm/test-u16-normcmp.h.
47661         (Depends-on): Remove uninorm/u16-normcmp.
47662
47663         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
47664         tests/uninorm/test-u8-normcmp.c.
47665         * tests/uninorm/test-u8-normcmp.c: Include it.
47666         (test_nonascii): New function, extracted from main. Add some more
47667         tests.
47668         (main): Invoke test_ascii and test_nonascii.
47669         * modules/uninorm/u8-normcmp-tests (Files): Add
47670         tests/uninorm/test-u8-normcmp.h.
47671         (Depends-on): Remove uninorm/u8-normcmp.
47672
47673 2009-03-07  Bruno Haible  <bruno@clisp.org>
47674
47675         New module 'uninorm/u32-normcoll'.
47676         * lib/uninorm/u32-normcoll.c: New file.
47677         * modules/uninorm/u32-normcoll: New file.
47678
47679         New module 'uninorm/u16-normcoll'.
47680         * lib/uninorm/u16-normcoll.c: New file.
47681         * modules/uninorm/u16-normcoll: New file.
47682
47683         New module 'uninorm/u8-normcoll'.
47684         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
47685         declarations.
47686         * lib/uninorm/u8-normcoll.c: New file.
47687         * lib/uninorm/u-normcoll.h: New file.
47688         * modules/uninorm/u8-normcoll: New file.
47689
47690         New module 'uninorm/u32-normxfrm'.
47691         * lib/uninorm/u32-normxfrm.c: New file.
47692         * modules/uninorm/u32-normxfrm: New file.
47693
47694         New module 'uninorm/u16-normxfrm'.
47695         * lib/uninorm/u16-normxfrm.c: New file.
47696         * modules/uninorm/u16-normxfrm: New file.
47697
47698         New module 'uninorm/u8-normxfrm'.
47699         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
47700         declarations.
47701         * lib/uninorm/u8-normxfrm.c: New file.
47702         * lib/uninorm/u-normxfrm.h: New file.
47703         * modules/uninorm/u8-normxfrm: New file.
47704
47705 2009-03-07  Bruno Haible  <bruno@clisp.org>
47706
47707         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
47708         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
47709         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
47710
47711 2009-03-07  Bruno Haible  <bruno@clisp.org>
47712
47713         New module 'memxfrm'.
47714         * lib/memxfrm.h: New file.
47715         * lib/memxfrm.c: New file.
47716         * modules/memxfrm: New file.
47717
47718 2009-03-07  Bruno Haible  <bruno@clisp.org>
47719
47720         New module 'memcmp2'.
47721         * lib/memcmp2.h: New file.
47722         * lib/memcmp2.c: New file.
47723         * modules/memcmp2: New file.
47724
47725 2009-03-07  Bruno Haible  <bruno@clisp.org>
47726
47727         Tests for module 'uninorm/decomposing-form'.
47728         * modules/uninorm/decomposing-form-tests: New file.
47729         * tests/uninorm/test-decomposing-form.c: New file.
47730
47731         New module 'uninorm/decomposing-form'.
47732         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
47733         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
47734         Add 'decomposing_variant' field.
47735         * lib/uninorm/decomposing-form.c: New file.
47736         * lib/uninorm/nfc.c (uninorm_nfc): Update.
47737         * lib/uninorm/nfd.c (uninorm_nfd): Update.
47738         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
47739         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
47740         * modules/uninorm/decomposing-form: New file.
47741         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
47742         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
47743
47744 2009-03-07  Bruno Haible  <bruno@clisp.org>
47745
47746         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
47747         strings.
47748
47749 2009-03-06  Bruno Haible  <bruno@clisp.org>
47750
47751         Tests for module 'uninorm/u32-normcmp'.
47752         * tests/uninorm/test-u32-normcmp.c: New file.
47753         * modules/uninorm/u32-normcmp-tests: New file.
47754
47755         Tests for module 'uninorm/u16-normcmp'.
47756         * tests/uninorm/test-u16-normcmp.c: New file.
47757         * modules/uninorm/u16-normcmp-tests: New file.
47758
47759         Tests for module 'uninorm/u8-normcmp'.
47760         * tests/uninorm/test-u8-normcmp.c: New file.
47761         * modules/uninorm/u8-normcmp-tests: New file.
47762
47763         New module 'uninorm/u32-normcmp'.
47764         * lib/uninorm/u32-normcmp.c: New file.
47765         * modules/uninorm/u32-normcmp: New file.
47766
47767         New module 'uninorm/u16-normcmp'.
47768         * lib/uninorm/u16-normcmp.c: New file.
47769         * modules/uninorm/u16-normcmp: New file.
47770
47771         New module 'uninorm/u8-normcmp'.
47772         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47773         declarations.
47774         * lib/uninorm/u8-normcmp.c: New file.
47775         * lib/uninorm/u-normcmp.h: New file.
47776         * modules/uninorm/u8-normcmp: New file.
47777
47778 2009-03-06  Bruno Haible  <bruno@clisp.org>
47779
47780         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47781         Reported by Eric Blake.
47782
47783 2009-03-06  Eric Blake  <ebb9@byu.net>
47784             Bruno Haible  <bruno@clisp.org>
47785
47786         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47787         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47788         condition.
47789         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47790         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47791         condition.
47792         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47793
47794 2009-03-06  Eric Blake  <ebb9@byu.net>
47795
47796         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47797         to avoid compiler warnings.
47798         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47799
47800 2009-03-05  Bruno Haible  <bruno@clisp.org>
47801
47802         * tests/test-ftell.c (main): Disable test beyond end of file on
47803         FreeMiNT.
47804         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47805
47806 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47807
47808         * lib/filevercmp.c: Move hidden files up in ordering.
47809         * tests/test-filevercmp.c: Add tests for hidden files.
47810
47811 2009-03-04  Bruno Haible  <bruno@clisp.org>
47812
47813         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47814         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47815         AM_CFLAGS.
47816         Reported by Simon Josefsson.
47817
47818 2009-03-03  Bruno Haible  <bruno@clisp.org>
47819
47820         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47821         Reported by Simon Josefsson.
47822
47823         * doc/ld-version-script.texi: Update node reference.
47824
47825 2009-03-03  Bruno Haible  <bruno@clisp.org>
47826
47827         * modules/visibility (License): Change to 'unlimited'.
47828         Suggested by Simon Josefsson.
47829
47830 2009-03-03  Jim Meyering  <meyering@redhat.com>
47831
47832         unlinkdir: cannot_unlink_dir may modify process state
47833         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47834         it's neither thread-safe nor appropriate for use in a library.
47835
47836 2009-03-03  Eric Blake  <ebb9@byu.net>
47837
47838         test-closein: silence test under Darwin
47839         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47840         care if it dies from EPIPE or EBADF.
47841
47842 2009-03-03  Bruno Haible  <bruno@clisp.org>
47843
47844         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47845         earlier.
47846         * doc/visibility.texi: Fix @node and @section.
47847
47848 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47849
47850         * doc/gnulib.texi: Link to sections for ld version script and
47851         visibility.
47852         * doc/visibility.texi: Add @node and @section.
47853         * modules/ld-version-script: New module.
47854         * m4/ld-version-script.m4: New file.
47855         * doc/ld-version-script.texi: New file.
47856
47857 2009-03-02  David Lutterkort  <lutter@redhat.com>
47858
47859         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47860         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47861
47862 2009-03-02  Bruno Haible  <bruno@clisp.org>
47863
47864         * doc/visibility.texi: Mention libtool's -export-symbols option.
47865
47866 2009-03-02  Jim Meyering  <meyering@redhat.com>
47867
47868         announce-gen: new option: --no-print-checksums
47869         * build-aux/announce-gen (usage): Describe it.
47870         (print_checksums): Print a newline here, not in the [*] footnote.
47871         (main): Honor it.
47872
47873 2009-03-01  Bruno Haible  <bruno@clisp.org>
47874
47875         Use socklen_t in the native Windows replacements prototypes.
47876         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47877         instead of 'int'.
47878         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47879         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47880         * modules/getsockopt (Depends-on): Add socklen.
47881         * modules/setsockopt (Depends-on): Add socklen.
47882
47883 2009-03-01  Bruno Haible  <bruno@clisp.org>
47884
47885         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47886         least 4.2.
47887
47888 2009-03-01  Eric Blake  <ebb9@byu.net>
47889             Bruno Haible  <bruno@clisp.org>
47890
47891         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47892         error messages.
47893         * lib/wait-process.c (wait_subprocess): Omit error message about
47894         deadly signal sent to the child of termsigp != NULL.
47895
47896 2009-03-01  Eric Blake  <ebb9@byu.net>
47897
47898         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47899
47900 2009-03-01  Bruno Haible  <bruno@clisp.org>
47901
47902         Avoid a gcc warning.
47903         * tests/test-sched.c (b): Make global.
47904         Reported by Eric Blake.
47905
47906 2009-01-19  Martin Lambers  <marlam@marlam.de>
47907
47908         Provide POSIX semantics for socket timeout options on W32.
47909         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47910         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47911         * modules/setsockopt: Depend on sys_time module for struct timeval.
47912         * modules/getsockopt: Depend on sys_time module for struct timeval.
47913
47914 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47915
47916         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47917         __USE_GNU, for consistency with netdb.in.h.
47918         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47919
47920 2009-03-01  Bruno Haible  <bruno@clisp.org>
47921
47922         More support for FreeMiNT.
47923         * lib/fseeko.c (rpl_fseeko): Complete last commit.
47924         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47925
47926 2009-03-01  Bruno Haible  <bruno@clisp.org>
47927
47928         More support for FreeMiNT.
47929         * lib/fpurge.c (fpurge): Correct last commit.
47930         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47931
47932 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47933
47934         Fix unportable awk script in vc-list-files.
47935         * build-aux/vc-list-files: In the replacement awk script, use
47936         substr with a second argument of 1, not zero.
47937         Report by Simon Josefsson.
47938
47939 2009-02-28  Bruno Haible  <bruno@clisp.org>
47940
47941         More support for FreeMiNT.
47942         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
47943         to FreeMiNT today.
47944         * lib/fwriting.c (fwriting): Likewise.
47945         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
47946
47947 2009-02-28  Bruno Haible  <bruno@clisp.org>
47948
47949         * tests/test-freadseek.c (main): Disable test beyond end of file on
47950         FreeMiNT.
47951         * tests/test-ftello.c (main): Likewise.
47952         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47953
47954 2009-02-28  Bruno Haible  <bruno@clisp.org>
47955
47956         Add tentative support for FreeMiNT.
47957         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
47958         * lib/fpurge.c (fpurge): Likewise.
47959         * lib/freadable.c (freadable): Likewise.
47960         * lib/freading.c (freading): Likewise.
47961         * lib/freadptr.c (freadptr): Likewise.
47962         * lib/freadseek.c (freadptrinc): Likewise.
47963         * lib/fseeko.c (rpl_fseeko): Likewise.
47964         * lib/fseterr.c (fseterr): Likewise.
47965         * lib/fwritable.c (fwritable): Likewise.
47966         * lib/fwriting.c (fwriting): Likewise.
47967         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
47968         Hourihane.
47969         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47970
47971 2009-02-28  Bruno Haible  <bruno@clisp.org>
47972
47973         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
47974         SIGCHLD.
47975         Reported by Jim Meyering.
47976
47977 2009-02-28  Bruno Haible  <bruno@clisp.org>
47978
47979         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47980         Mention the results of these tests on various platforms.
47981         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47982         order.
47983         * doc/posix-functions/printf.texi: Likewise.
47984         * doc/posix-functions/snprintf.texi: Likewise.
47985         * doc/posix-functions/sprintf.texi: Likewise.
47986         * doc/posix-functions/vfprintf.texi: Likewise.
47987         * doc/posix-functions/vprintf.texi: Likewise.
47988         * doc/posix-functions/vsnprintf.texi: Likewise.
47989         * doc/posix-functions/vsprintf.texi: Likewise.
47990         * doc/glibc-functions/obstack_printf.texi: Likewise.
47991         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47992
47993 2009-02-28  Bruno Haible  <bruno@clisp.org>
47994
47995         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47996         Reported by Loïc Minier <lool@dooz.org>.
47997
47998 2009-02-27  Bruno Haible  <bruno@clisp.org>
47999
48000         * gnulib-tool (func_import): Make the sed expression used to create the
48001         sed script for updating the .gitignore file POSIX compliant.
48002         Reported by Eric Blake.
48003
48004 2009-02-27  Bruno Haible  <bruno@clisp.org>
48005
48006         * gnulib-tool (sed): Don't alias as "sed --posix".
48007         Reported by Eric Blake.
48008
48009 2009-02-27  Bruno Haible  <bruno@clisp.org>
48010
48011         Avoid test link errors.
48012         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
48013         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
48014         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
48015         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
48016         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48017
48018 2009-02-27  Bruno Haible  <bruno@clisp.org>
48019
48020         Avoid spurious "(cached)" in configure output.
48021         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
48022         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
48023         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48024         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48025         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48026         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48027         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48028         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48029         Reported by Eric Blake.
48030
48031 2009-02-27  Eric Blake  <ebb9@byu.net>
48032
48033         printf: fix regression in previous patch
48034         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
48035
48036 2009-02-27  Bruno Haible  <bruno@clisp.org>
48037
48038         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
48039         value.
48040         * lib/stdint.in.h: Likewise.
48041         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
48042
48043 2009-02-27  Eric Blake  <ebb9@byu.net>
48044
48045         doc: mention more functions added in cygwin 1.7.0
48046         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
48047         addition.
48048         * doc/posix-functions/open_wmemstream.texi: Likewise.
48049         * doc/posix-functions/wcsnlen.texi: Likewise.
48050         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48051         * doc/posix-functions/wcstod.texi: Likewise.
48052         * doc/posix-functions/wcstof.texi: Likewise.
48053         * doc/posix-functions/wcstoimax.texi: Likewise.
48054         * doc/posix-functions/wcstok.texi: Likewise.
48055         * doc/posix-functions/wcstoumax.texi: Likewise.
48056
48057         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
48058         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
48059         * doc/posix-functions/fprintf.texi: Update.
48060         * doc/posix-functions/printf.texi: Update.
48061         * doc/posix-functions/snprintf.texi: Update.
48062         * doc/posix-functions/sprintf.texi: Update.
48063         * doc/posix-functions/vfprintf.texi: Update.
48064         * doc/posix-functions/vprintf.texi: Update.
48065         * doc/posix-functions/vsnprintf.texi: Update.
48066         * doc/posix-functions/vsprintf.texi: Update.
48067         * doc/glibc-functions/obstack_printf.texi: Update.
48068         * doc/glibc-functions/obstack_vprintf.texi: Update.
48069
48070 2009-02-26  Eric Blake  <ebb9@byu.net>
48071
48072         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
48073         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
48074         compilation bug by using runtime conversion.
48075         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48076         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
48077         * modules/ceill-tests (Files): Use nan.h.
48078         * modules/floorl-tests (Files): Likewise.
48079         * modules/frexpl-tests (Files): Likewise.
48080         * modules/isnanl-tests (Files): Likewise.
48081         * modules/ldexpl-tests (Files): Likewise.
48082         * modules/roundl-tests (Files): Likewise.
48083         * modules/truncl-tests (Files): Likewise.
48084         * tests/test-ceill.c (main): Use a working NaN.
48085         * tests/test-floorl.c (main): Likewise.
48086         * tests/test-frexpl.c (main): Likewise.
48087         * tests/test-isnan.c (test_long_double): Likewise.
48088         * tests/test-isnanl.h (main): Likewise.
48089         * tests/test-ldexpl.h (main): Likewise.
48090         * tests/test-roundl.h (main): Likewise.
48091         * tests/test-truncl.h (main): Likewise.
48092         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
48093
48094 2009-02-26  Eric Blake  <ebb9@byu.net>
48095             Bruno Haible  <bruno@clisp.org>
48096
48097         Work around a *printf bug with %ls on Solaris.
48098         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
48099         precision is specified, sprintf stops converting the wide string
48100         argument when the number of bytes that have been produced by this
48101         conversion equals or exceeds the precision.
48102         * doc/posix-functions/fprintf.texi: Update.
48103         * doc/posix-functions/printf.texi: Update.
48104         * doc/posix-functions/snprintf.texi: Update.
48105         * doc/posix-functions/sprintf.texi: Update.
48106         * doc/posix-functions/vfprintf.texi: Update.
48107         * doc/posix-functions/vprintf.texi: Update.
48108         * doc/posix-functions/vsnprintf.texi: Update.
48109         * doc/posix-functions/vsprintf.texi: Update.
48110         * doc/glibc-functions/obstack_printf.texi: Update.
48111         * doc/glibc-functions/obstack_vprintf.texi: Update.
48112
48113 2009-02-26  Eric Blake  <ebb9@byu.net>
48114
48115         stdlib: favor compiler check of random.h
48116         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
48117         to avoid an ObjC random.h installed by Swarm.
48118
48119 2009-02-26  Bruno Haible  <bruno@clisp.org>
48120
48121         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
48122         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
48123         Reported by Gary V. Vaughan <gary@gnu.org>.
48124
48125 2009-02-26  Bruno Haible  <bruno@clisp.org>
48126
48127         Fix *printf behaviour regarding the %ls directive.
48128         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
48129         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
48130         NEED_PRINTF_DIRECTIVE_LS.
48131         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
48132         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48133         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48134         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
48135         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
48136         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
48137         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48138         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48139         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48140         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48141         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48142         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
48143         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48144         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48145         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48146         * doc/posix-functions/fprintf.texi: Update.
48147         * doc/posix-functions/printf.texi: Update.
48148         * doc/posix-functions/snprintf.texi: Update.
48149         * doc/posix-functions/sprintf.texi: Update.
48150         * doc/posix-functions/vfprintf.texi: Update.
48151         * doc/posix-functions/vprintf.texi: Update.
48152         * doc/posix-functions/vsnprintf.texi: Update.
48153         * doc/posix-functions/vsprintf.texi: Update.
48154         * doc/glibc-functions/obstack_printf.texi: Update.
48155         * doc/glibc-functions/obstack_vprintf.texi: Update.
48156         Reported by Eric Blake.
48157
48158 2009-02-25  Bruno Haible  <bruno@clisp.org>
48159
48160         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
48161         with known value.
48162         Reported by Gary V. Vaughan <gary@gnu.org>.
48163
48164 2009-02-25  Bruno Haible  <bruno@clisp.org>
48165
48166         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
48167         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
48168         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
48169         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
48170         Reported by Gary V. Vaughan <gary@gnu.org>.
48171
48172 2009-02-25  Bruno Haible  <bruno@clisp.org>
48173
48174         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
48175         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
48176         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
48177         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
48178         Reported by Gary V. Vaughan <gary@gnu.org>.
48179
48180 2009-02-25  Eric Blake  <ebb9@byu.net>
48181
48182         tests: skip fseek/ftell tests if ungetc is broken
48183         * m4/ungetc.m4: New file.
48184         * modules/fseek-tests: Split test, so ungetc dependency is
48185         separate from rest of test.
48186         * modules/fseeko-tests: Likewise.
48187         * modules/ftell-tests: Likewise.
48188         * modules/ftello-tests: Likewise.
48189         * tests/test-fseek.c (main): Isolate ungetc dependency.
48190         * tests/test-fseeko.c (main): Likewise.
48191         * tests/test-ftell.c (main): Likewise.
48192         * tests/test-ftello.c (main): Likewise.
48193         * tests/test-fseek2.sh: New file.
48194         * tests/test-fseeko2.sh: Likewise.
48195         * tests/test-ftell2.sh: Likewise.
48196         * tests/test-ftello2.sh: Likewise.
48197
48198 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
48199
48200         test-getaddrinfo: fix usage of skip return code 77
48201         * tests/test-gettaddrinfo.c: Return skip code 77 only
48202         for first occurrence of skip (4x77 is not 77)
48203
48204 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
48205
48206         strtod: avoid C99 decl-after-statement
48207         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
48208
48209 2009-02-24  Eric Blake  <ebb9@byu.net>
48210
48211         strtod: detect HP-UX 11.31 bug
48212         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
48213         Reported by Gary V. Vaughan.
48214
48215 2009-02-23  Bruno Haible  <bruno@clisp.org>
48216
48217         Fix invalid read past end of memory block.
48218         * lib/vasnprintf.c (DCHAR_SET): Define.
48219         (local_wcslen): Define only when needed.
48220         (local_strnlen, local_wcsnlen): New functions.
48221         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
48222         directives that involve a conversion ourselves.
48223         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
48224         wcsnlen, mbrtowc, wcrtomb.
48225         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
48226         * tests/test-vasprintf-posix.c (test_function): Likewise.
48227         * tests/test-snprintf-posix.h (test_function): Likewise.
48228         * tests/test-sprintf-posix.h (test_function): Likewise.
48229         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48230
48231 2009-02-22  Bruno Haible  <bruno@clisp.org>
48232
48233         Implement new clarified decomposition of Hangul syllables.
48234         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
48235         of type LTV, return only a pairwise decomposition.
48236         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
48237         Likewise.
48238         * tests/uninorm/test-decomposition.c (main): Updated expected result.
48239         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
48240         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
48241
48242 2009-02-22  Bruno Haible  <bruno@clisp.org>
48243
48244         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
48245         zero-length results and shrink excess allocated memory.
48246         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
48247         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
48248         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
48249         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
48250         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
48251         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
48252         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
48253         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
48254         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
48255         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
48256         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
48257         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
48258
48259 2009-02-21  Bruno Haible  <bruno@clisp.org>
48260
48261         * doc/gnulib.texi: Include safe-alloc.texi earlier.
48262         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
48263         spaces after a period. Put a space between a macro name and its
48264         argument list. Trivial rewordings.
48265         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
48266         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
48267         (main): Return 0 explicitly.
48268
48269 2009-02-21  Bruno Haible  <bruno@clisp.org>
48270
48271         Tests for module 'uninorm/filter'.
48272         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
48273         * modules/uninorm/filter-tests: New file.
48274
48275         New module 'uninorm/filter'.
48276         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
48277         uninorm_filter_flush, uninorm_filter_free): New declarations.
48278         * lib/uninorm/uninorm-filter.c: New file.
48279         * modules/uninorm/filter: New file.
48280
48281 2009-02-21  Bruno Haible  <bruno@clisp.org>
48282
48283         Tests for module 'uninorm/nfkc'.
48284         * tests/uninorm/test-nfkc.c: New file.
48285         * tests/uninorm/test-u8-nfkc.c: New file.
48286         * tests/uninorm/test-u16-nfkc.c: New file.
48287         * tests/uninorm/test-u32-nfkc.c: New file.
48288         * tests/uninorm/test-u32-nfkc-big.sh: New file.
48289         * tests/uninorm/test-u32-nfkc-big.c: New file.
48290         * modules/uninorm/nfkc-tests: New file.
48291
48292         New module 'uninorm/nfkc'.
48293         * lib/uninorm/nfkc.c: New file.
48294         * modules/uninorm/nfkc: New file.
48295
48296         Tests for module 'uninorm/nfkd'.
48297         * tests/uninorm/test-nfkd.c: New file.
48298         * tests/uninorm/test-u8-nfkd.c: New file.
48299         * tests/uninorm/test-u16-nfkd.c: New file.
48300         * tests/uninorm/test-u32-nfkd.c: New file.
48301         * tests/uninorm/test-u32-nfkd-big.sh: New file.
48302         * tests/uninorm/test-u32-nfkd-big.c: New file.
48303         * modules/uninorm/nfkd-tests: New file.
48304
48305         New module 'uninorm/nfkd'.
48306         * lib/uninorm/nfkd.c: New file.
48307         * modules/uninorm/nfkd: New file.
48308
48309         Tests for module 'uninorm/nfc'.
48310         * tests/uninorm/test-nfc.c: New file.
48311         * tests/uninorm/test-u8-nfc.c: New file.
48312         * tests/uninorm/test-u16-nfc.c: New file.
48313         * tests/uninorm/test-u32-nfc.c: New file.
48314         * tests/uninorm/test-u32-nfc-big.sh: New file.
48315         * tests/uninorm/test-u32-nfc-big.c: New file.
48316         * modules/uninorm/nfc-tests: New file.
48317
48318         New module 'uninorm/nfc'.
48319         * lib/uninorm/nfc.c: New file.
48320         * modules/uninorm/nfc: New file.
48321
48322         Tests for module 'uninorm/nfd'.
48323         * tests/uninorm/test-nfd.c: New file.
48324         * tests/uninorm/test-u8-nfd.c: New file.
48325         * tests/uninorm/test-u16-nfd.c: New file.
48326         * tests/uninorm/test-u32-nfd.c: New file.
48327         * tests/uninorm/test-u32-nfd-big.sh: New file.
48328         * tests/uninorm/test-u32-nfd-big.c: New file.
48329         * tests/uninorm/test-u32-normalize-big.h: New file.
48330         * tests/uninorm/test-u32-normalize-big.c: New file.
48331         * tests/uninorm/NormalizationTest.txt: New file, created from
48332         Unicode 5.1.0 NormalizationTest.txt.
48333         * modules/uninorm/nfd-tests: New file.
48334
48335         New module 'uninorm/nfd'.
48336         * lib/uninorm/nfd.c: New file.
48337         * modules/uninorm/nfd: New file.
48338
48339         New module 'uninorm/u32-normalize'.
48340         * lib/uninorm/u32-normalize.c: New file.
48341         * modules/uninorm/u32-normalize: New file.
48342
48343         New module 'uninorm/u16-normalize'.
48344         * lib/uninorm/u16-normalize.c: New file.
48345         * modules/uninorm/u16-normalize: New file.
48346
48347         New module 'uninorm/u8-normalize'.
48348         * lib/uninorm/u8-normalize.c: New file.
48349         * lib/uninorm/normalize-internal.h: New file.
48350         * lib/uninorm/u-normalize-internal.h: New file.
48351         * modules/uninorm/u8-normalize: New file.
48352
48353         New module 'uninorm/decompose-internal'.
48354         * lib/uninorm/decompose-internal.c: New file.
48355         * modules/uninorm/decompose-internal: New file.
48356
48357         Tests for module 'uninorm/composition'.
48358         * tests/uninorm/test-composition.c: New file.
48359         * modules/uninorm/composition-tests: New file.
48360
48361         New module 'uninorm/composition'.
48362         * lib/uninorm/composition.c: New file.
48363         * lib/uninorm/composition-table.gperf: New file, generated by
48364         gen-uni-tables.
48365         * modules/uninorm/composition: New file.
48366
48367         Tests for module 'uninorm/compat-decomposition'.
48368         * tests/uninorm/test-compat-decomposition.c: New file.
48369         * modules/uninorm/compat-decomposition-tests: New file.
48370
48371         New module 'uninorm/compat-decomposition'.
48372         * lib/uninorm/decompose-internal.h: New file.
48373         * lib/uninorm/compat-decomposition.c: New file.
48374         * modules/uninorm/compat-decomposition: New file.
48375
48376         Tests for module 'uninorm/canonical-decomposition'.
48377         * tests/uninorm/test-canonical-decomposition.c: New file.
48378         * modules/uninorm/canonical-decomposition-tests: New file.
48379
48380         New module 'uninorm/canonical-decomposition'.
48381         * lib/uninorm/canonical-decomposition.c: New file.
48382         * modules/uninorm/canonical-decomposition: New file.
48383
48384         Tests for module 'uninorm/decomposition'.
48385         * tests/uninorm/test-decomposition.c: New file.
48386         * modules/uninorm/decomposition-tests: New file.
48387
48388         New module 'uninorm/decomposition'.
48389         * lib/uninorm/decomposition.c: New file.
48390         * modules/uninorm/decomposition: New file.
48391
48392         New module 'uninorm/decomposition-table'.
48393         * lib/uninorm/decomposition-table.h: New file.
48394         * lib/uninorm/decomposition-table.c: New file.
48395         * lib/uninorm/decomposition-table1.h: New file, generated by
48396         gen-uni-tables.
48397         * lib/uninorm/decomposition-table2.h: New file, generated by
48398         gen-uni-tables.
48399         * modules/uninorm/decomposition-table: New file.
48400
48401         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
48402         (UC_DECOMP_*): New enumeration items.
48403         (get_decomposition): New function.
48404         (struct decomp_table): New type.
48405         (output_decomposition, output_decomposition_tables): New functions.
48406         (unicode_composition_exclusions): New variable.
48407         (fill_composition_exclusions, debug_output_composition_tables): New
48408         functions.
48409         (main): Accept one more argument. Invoke fill_composition_exclusions.
48410         Output decomposition and composition tables.
48411
48412         New module 'uninorm/base'.
48413         * lib/uninorm.h: New file.
48414         * lib/unictype.h: Update comment.
48415         * modules/uninorm/base: New file.
48416
48417 2009-02-21  David Lutterkort  <lutter@redhat.com>
48418
48419         Tests for module 'safe-alloc'.
48420         * tests/test-safe-alloc.c: New file.
48421         * modules/safe-alloc-tests: New file.
48422
48423         New module 'safe-alloc'.
48424         * lib/safe-alloc.h: New file.
48425         * lib/safe-alloc.c: New file.
48426         * m4/safe-alloc.m4: New file.
48427         * modules/safe-alloc: New file.
48428         * doc/safe-alloc.texi: New file.
48429         * doc/gnulib.texi: Include it.
48430         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48431         safe-alloc.
48432
48433 2009-02-18  Bruno Haible  <bruno@clisp.org>
48434
48435         Fix link error on non-glibc systems.
48436         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
48437         variable.
48438         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48439
48440 2009-02-18  Jim Meyering  <meyering@redhat.com>
48441
48442         fts: avoid used-uninitialized error due to recent change
48443         * lib/fts.c (fts_read): Guard uses of the new member,
48444         parent->fts_n_dirs_remaining, since it's not relevant for
48445         the parent of a directory specified on the command-line.
48446
48447 2009-02-17  James Youngman  <jay@gnu.org>
48448             Bruno Haible  <bruno@clisp.org>
48449
48450         * m4/include_next.m4: Reformulate comment.
48451
48452 2009-02-16  Jim Meyering  <meyering@redhat.com>
48453
48454         fts: add #if guards so that the fts_lgpl module still builds
48455         * lib/fts.c: Guard just-added hash-table-using parts with
48456         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
48457         Reported by Simon Josefsson.
48458
48459 2009-02-15  Bruno Haible  <bruno@clisp.org>
48460
48461         * modules/array-mergesort-tests: New file.
48462         * tests/test-array-mergesort.c: New file.
48463
48464         New module 'array-mergesort'.
48465         * modules/array-mergesort: New file.
48466         * lib/array-mergesort.h: New file.
48467
48468 2009-02-15  Bruno Haible  <bruno@clisp.org>
48469
48470         Fix 2009-02-07 commit.
48471         * lib/gen-uni-tables.c (output_predicate, output_category,
48472         output_combclass, output_bidi_category, output_decimal_digit,
48473         output_digit, output_numeric, output_mirror, output_scripts,
48474         output_ident_category, output_simple_mapping): Fix format directives.
48475         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
48476
48477 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
48478
48479         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
48480         fixes are available from IBM.
48481
48482 2009-02-13  Jim Meyering  <meyering@redhat.com>
48483
48484         fts: arrange not to stat non-directories in more cases
48485         This makes GNU find (when it doesn't need to stat each file)
48486         *much* more efficient at traversing reiserfs file systems.
48487         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
48488         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
48489         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
48490         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
48491         (leaf_optimization_applies): New function.
48492         (LCO_hash, LCO_compare): New helper functions.
48493         (link_count_optimize_ok): New function.
48494         (fts_stat): Initialize new member (if dir).
48495         (fts_read): Decrement parent's fts_n_dirs_remaining count if
48496         we've just stat'ed a directory.  Skip the stat call when possible.
48497         ---
48498         Note this AFS-related exchange:
48499         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
48500         and note find's pioctl call in find/fstype.c.
48501         But that is necessary only if you want to enable the
48502         optimization for AFS, and for now, I don't.
48503
48504         fts: move a function definition "up" (no semantic change)
48505         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
48506         "up" to precede upcoming use of a related function.
48507
48508 2009-02-11  Jim Meyering  <meyering@redhat.com>
48509
48510         fts: correct internal computation of nlinks (optimization-related)
48511         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
48512         whether the current entry is a directory, so don't test it.
48513
48514 2009-02-10  Bruno Haible  <bruno@clisp.org>
48515
48516         Tests for module 'uniwbrk/ulc-wordbreaks'.
48517         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
48518         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
48519         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
48520
48521         Tests for module 'uniwbrk/u32-wordbreaks'.
48522         * modules/uniwbrk/u32-wordbreaks-tests: New file.
48523         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
48524
48525         Tests for module 'uniwbrk/u16-wordbreaks'.
48526         * modules/uniwbrk/u16-wordbreaks-tests: New file.
48527         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
48528
48529         Tests for module 'uniwbrk/u8-wordbreaks'.
48530         * modules/uniwbrk/u8-wordbreaks-tests: New file.
48531         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
48532
48533 2009-02-10  Bruno Haible  <bruno@clisp.org>
48534
48535         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
48536         property.
48537         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
48538         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
48539         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
48540
48541 2009-02-10  Simon Josefsson  <simon@josefsson.org>
48542
48543         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
48544         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
48545
48546 2009-02-10  Bruno Haible  <bruno@clisp.org>
48547
48548         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
48549         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
48550         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
48551         * lib/unilbrk/u8-possible-linebreaks.c: Update.
48552         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
48553         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
48554
48555 2009-02-09  Simon Josefsson  <simon@josefsson.org>
48556
48557         * lib/sockets.h (gl_fd_to_handle): New function.
48558
48559         * tests/test-sockets.c: Call gl_fd_to_handle.
48560
48561 2009-02-09  Bruno Haible  <bruno@clisp.org>
48562
48563         * doc/havelib.texi: Document the conventions on bi-arch systems.
48564
48565 2009-02-08  Bruno Haible  <bruno@clisp.org>
48566
48567         Document the AC_LIB_LINKFLAGS macro.
48568         * doc/havelib.texi: New file, mostly written on 2005-05-24.
48569         * doc/gnulib.texi: Include it.
48570
48571 2009-02-08  Bruno Haible  <bruno@clisp.org>
48572
48573         Fix wrong order of sections, compared to TOC.
48574         * doc/gnulib.texi: Include relocatable-maint.texi after the
48575         "Regular expressions" node, not before.
48576
48577 2009-02-08  Bruno Haible  <bruno@clisp.org>
48578
48579         Tests for module 'unicase/totitle'.
48580         * modules/unicase/totitle-tests: New file.
48581
48582         Tests for module 'unicase/tolower'.
48583         * modules/unicase/tolower-tests: New file.
48584
48585         Tests for module 'unicase/toupper'.
48586         * modules/unicase/toupper-tests: New file.
48587         * tests/unicase/test-mapping-part1.h: New file.
48588         * tests/unicase/test-mapping-part2.h: New file.
48589
48590         New module 'unicase/totitle'.
48591         * modules/unicase/totitle: New file.
48592         * lib/unicase/totitle.c: New file.
48593
48594         New module 'unicase/tolower'.
48595         * modules/unicase/tolower: New file.
48596         * lib/unicase/tolower.c: New file.
48597
48598         New module 'unicase/toupper'.
48599         * modules/unicase/toupper: New file.
48600         * lib/unicase/toupper.c: New file.
48601         * lib/unicase/simple-mapping.h: New file.
48602
48603         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
48604         (mapping_table): New structure.
48605         (output_simple_mapping): New function.
48606         (main): Invoke output_simple_mapping_test and output_simple_mapping.
48607         * modules/gen-uni-tables (Description): Update.
48608         * lib/unicase/toupper.h: New file, automatically generated by
48609         gen-uni-tables.
48610         * lib/unicase/tolower.h: New file, automatically generated by
48611         gen-uni-tables.
48612         * lib/unicase/totitle.h: New file, automatically generated by
48613         gen-uni-tables.
48614         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
48615         gen-uni-tables.
48616         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
48617         gen-uni-tables.
48618         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
48619         gen-uni-tables.
48620
48621         New module 'unicase/base'.
48622         * modules/unicase/base: New file.
48623         * lib/unicase.h: New file.
48624
48625 2009-02-08  Bruno Haible  <bruno@clisp.org>
48626
48627         New module 'uniwbrk/ulc-wordbreaks'.
48628         * modules/uniwbrk/ulc-wordbreaks: New file.
48629         * lib/uniwbrk/ulc-wordbreaks.c: New file.
48630
48631         New module 'uniwbrk/u32-wordbreaks'.
48632         * modules/uniwbrk/u32-wordbreaks: New file.
48633         * lib/uniwbrk/u32-wordbreaks.c: New file.
48634
48635         New module 'uniwbrk/u16-wordbreaks'.
48636         * modules/uniwbrk/u16-wordbreaks: New file.
48637         * lib/uniwbrk/u16-wordbreaks.c: New file.
48638
48639         New module 'uniwbrk/u8-wordbreaks'.
48640         * modules/uniwbrk/u8-wordbreaks: New file.
48641         * lib/uniwbrk/u8-wordbreaks.c: New file.
48642         * lib/uniwbrk/u-wordbreaks.h: New file.
48643
48644         New module 'uniwbrk/table'.
48645         * modules/uniwbrk/table: New file.
48646         * lib/uniwbrk/wbrktable.h: New file.
48647         * lib/uniwbrk/wbrktable.c: New file.
48648
48649         New module 'uniwbrk/wordbreak-property'.
48650         * modules/uniwbrk/wordbreak-property: New file.
48651         * lib/uniwbrk/wordbreak-property.c: New file.
48652
48653         * lib/gen-uni-tables.c (WBP_*): New enum items.
48654         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
48655         (unicode_org_wbp): New variable.
48656         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
48657         New functions.
48658         (wbp_table): New structure.
48659         (output_wbp, output_wbrk_tables): New functions.
48660         (main): Accept additional argument. Invoke fill_org_wbp,
48661         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
48662         output_wbrk_tables.
48663         * modules/gen-uni-tables (Description): Update.
48664         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
48665         gen-uni-tables.
48666
48667         New module 'uniwbrk/base'.
48668         * modules/uniwbrk/base: New file.
48669         * lib/uniwbrk.h: New file.
48670
48671 2009-02-08  Bruno Haible  <bruno@clisp.org>
48672
48673         Update to Unicode 5.1.0.
48674         * lib/gen-uni-tables.c (is_property_alphabetic): Include
48675         U+2185..U+2188.
48676         (is_property_default_ignorable_code_point): Don't include characters
48677         of category Cc or Cs and not-a-characters.
48678         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
48679         U+0D79, U+109E, U+109F, U+A60C.
48680         * lib/unictype/bidi_of.h: Regenerated.
48681         * lib/unictype/blocks.h: Regenerated.
48682         * lib/unictype/categ_C.h: Regenerated.
48683         * lib/unictype/categ_Cf.h: Regenerated.
48684         * lib/unictype/categ_Cn.h: Regenerated.
48685         * lib/unictype/categ_L.h: Regenerated.
48686         * lib/unictype/categ_Ll.h: Regenerated.
48687         * lib/unictype/categ_Lm.h: Regenerated.
48688         * lib/unictype/categ_Lo.h: Regenerated.
48689         * lib/unictype/categ_Lu.h: Regenerated.
48690         * lib/unictype/categ_M.h: Regenerated.
48691         * lib/unictype/categ_Mc.h: Regenerated.
48692         * lib/unictype/categ_Me.h: Regenerated.
48693         * lib/unictype/categ_Mn.h: Regenerated.
48694         * lib/unictype/categ_N.h: Regenerated.
48695         * lib/unictype/categ_Nd.h: Regenerated.
48696         * lib/unictype/categ_Nl.h: Regenerated.
48697         * lib/unictype/categ_No.h: Regenerated.
48698         * lib/unictype/categ_P.h: Regenerated.
48699         * lib/unictype/categ_Pd.h: Regenerated.
48700         * lib/unictype/categ_Pe.h: Regenerated.
48701         * lib/unictype/categ_Pf.h: Regenerated.
48702         * lib/unictype/categ_Pi.h: Regenerated.
48703         * lib/unictype/categ_Po.h: Regenerated.
48704         * lib/unictype/categ_Ps.h: Regenerated.
48705         * lib/unictype/categ_S.h: Regenerated.
48706         * lib/unictype/categ_Sk.h: Regenerated.
48707         * lib/unictype/categ_Sm.h: Regenerated.
48708         * lib/unictype/categ_So.h: Regenerated.
48709         * lib/unictype/categ_of.h: Regenerated.
48710         * lib/unictype/combining.h: Regenerated.
48711         * lib/unictype/ctype_alnum.h: Regenerated.
48712         * lib/unictype/ctype_alpha.h: Regenerated.
48713         * lib/unictype/ctype_graph.h: Regenerated.
48714         * lib/unictype/ctype_lower.h: Regenerated.
48715         * lib/unictype/ctype_print.h: Regenerated.
48716         * lib/unictype/ctype_punct.h: Regenerated.
48717         * lib/unictype/ctype_upper.h: Regenerated.
48718         * lib/unictype/decdigit.h: Regenerated.
48719         * lib/unictype/digit.h: Regenerated.
48720         * lib/unictype/mirror.h: Regenerated.
48721         * lib/unictype/numeric.h: Regenerated.
48722         * lib/unictype/pr_alphabetic.h: Regenerated.
48723         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
48724         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
48725         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
48726         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
48727         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
48728         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
48729         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
48730         * lib/unictype/pr_combining.h: Regenerated.
48731         * lib/unictype/pr_dash.h: Regenerated.
48732         * lib/unictype/pr_decimal_digit.h: Regenerated.
48733         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
48734         * lib/unictype/pr_deprecated.h: Regenerated.
48735         * lib/unictype/pr_diacritic.h: Regenerated.
48736         * lib/unictype/pr_extender.h: Regenerated.
48737         * lib/unictype/pr_format_control.h: Regenerated.
48738         * lib/unictype/pr_grapheme_base.h: Regenerated.
48739         * lib/unictype/pr_grapheme_extend.h: Regenerated.
48740         * lib/unictype/pr_grapheme_link.h: Regenerated.
48741         * lib/unictype/pr_id_continue.h: Regenerated.
48742         * lib/unictype/pr_id_start.h: Regenerated.
48743         * lib/unictype/pr_ideographic.h: Regenerated.
48744         * lib/unictype/pr_ignorable_control.h: Regenerated.
48745         * lib/unictype/pr_lowercase.h: Regenerated.
48746         * lib/unictype/pr_math.h: Regenerated.
48747         * lib/unictype/pr_numeric.h: Regenerated.
48748         * lib/unictype/pr_other_alphabetic.h: Regenerated.
48749         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
48750         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
48751         * lib/unictype/pr_other_id_continue.h: Regenerated.
48752         * lib/unictype/pr_other_lowercase.h: Regenerated.
48753         * lib/unictype/pr_other_math.h: Regenerated.
48754         * lib/unictype/pr_punctuation.h: Regenerated.
48755         * lib/unictype/pr_sentence_terminal.h: Regenerated.
48756         * lib/unictype/pr_soft_dotted.h: Regenerated.
48757         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
48758         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
48759         * lib/unictype/pr_unified_ideograph.h: Regenerated.
48760         * lib/unictype/pr_uppercase.h: Regenerated.
48761         * lib/unictype/pr_xid_continue.h: Regenerated.
48762         * lib/unictype/pr_xid_start.h: Regenerated.
48763         * lib/unictype/pr_zero_width.h: Regenerated.
48764         * lib/unictype/scripts.h: Regenerated.
48765         * lib/unictype/scripts_byname.gperf: Regenerated.
48766         * lib/unictype/sy_java_ident.h: Regenerated.
48767         * lib/unilbrk/lbrkprop1.h: Regenerated.
48768         * lib/unilbrk/lbrkprop2.h: Regenerated.
48769         * tests/unictype/test-categ_C.c: Regenerated.
48770         * tests/unictype/test-categ_Cf.c: Regenerated.
48771         * tests/unictype/test-categ_Cn.c: Regenerated.
48772         * tests/unictype/test-categ_L.c: Regenerated.
48773         * tests/unictype/test-categ_Ll.c: Regenerated.
48774         * tests/unictype/test-categ_Lm.c: Regenerated.
48775         * tests/unictype/test-categ_Lo.c: Regenerated.
48776         * tests/unictype/test-categ_Lu.c: Regenerated.
48777         * tests/unictype/test-categ_M.c: Regenerated.
48778         * tests/unictype/test-categ_Mc.c: Regenerated.
48779         * tests/unictype/test-categ_Me.c: Regenerated.
48780         * tests/unictype/test-categ_Mn.c: Regenerated.
48781         * tests/unictype/test-categ_N.c: Regenerated.
48782         * tests/unictype/test-categ_Nd.c: Regenerated.
48783         * tests/unictype/test-categ_Nl.c: Regenerated.
48784         * tests/unictype/test-categ_No.c: Regenerated.
48785         * tests/unictype/test-categ_P.c: Regenerated.
48786         * tests/unictype/test-categ_Pd.c: Regenerated.
48787         * tests/unictype/test-categ_Pe.c: Regenerated.
48788         * tests/unictype/test-categ_Pf.c: Regenerated.
48789         * tests/unictype/test-categ_Pi.c: Regenerated.
48790         * tests/unictype/test-categ_Po.c: Regenerated.
48791         * tests/unictype/test-categ_Ps.c: Regenerated.
48792         * tests/unictype/test-categ_S.c: Regenerated.
48793         * tests/unictype/test-categ_Sk.c: Regenerated.
48794         * tests/unictype/test-categ_Sm.c: Regenerated.
48795         * tests/unictype/test-categ_So.c: Regenerated.
48796         * tests/unictype/test-ctype_alnum.c: Regenerated.
48797         * tests/unictype/test-ctype_alpha.c: Regenerated.
48798         * tests/unictype/test-ctype_graph.c: Regenerated.
48799         * tests/unictype/test-ctype_lower.c: Regenerated.
48800         * tests/unictype/test-ctype_print.c: Regenerated.
48801         * tests/unictype/test-ctype_punct.c: Regenerated.
48802         * tests/unictype/test-ctype_upper.c: Regenerated.
48803         * tests/unictype/test-decdigit.h: Regenerated.
48804         * tests/unictype/test-digit.h: Regenerated.
48805         * tests/unictype/test-numeric.h: Regenerated.
48806         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48807         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48808         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48809         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48810         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48811         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48812         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48813         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48814         * tests/unictype/test-pr_combining.c: Regenerated.
48815         * tests/unictype/test-pr_dash.c: Regenerated.
48816         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48817         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48818         * tests/unictype/test-pr_deprecated.c: Regenerated.
48819         * tests/unictype/test-pr_diacritic.c: Regenerated.
48820         * tests/unictype/test-pr_extender.c: Regenerated.
48821         * tests/unictype/test-pr_format_control.c: Regenerated.
48822         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48823         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48824         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48825         * tests/unictype/test-pr_id_continue.c: Regenerated.
48826         * tests/unictype/test-pr_id_start.c: Regenerated.
48827         * tests/unictype/test-pr_ideographic.c: Regenerated.
48828         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48829         * tests/unictype/test-pr_lowercase.c: Regenerated.
48830         * tests/unictype/test-pr_math.c: Regenerated.
48831         * tests/unictype/test-pr_numeric.c: Regenerated.
48832         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48833         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48834         Regenerated.
48835         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48836         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48837         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48838         * tests/unictype/test-pr_other_math.c: Regenerated.
48839         * tests/unictype/test-pr_punctuation.c: Regenerated.
48840         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48841         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48842         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48843         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48844         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48845         * tests/unictype/test-pr_uppercase.c: Regenerated.
48846         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48847         * tests/unictype/test-pr_xid_start.c: Regenerated.
48848         * tests/unictype/test-pr_zero_width.c: Regenerated.
48849
48850         Update to Unicode 5.1.0.
48851         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48852         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48853         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48854         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48855         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48856         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48857         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48858         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48859         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48860         (nonspacing_table_ind): Update.
48861         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48862
48863         Update to Unicode 5.1.0.
48864         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48865         code transform.
48866         * lib/uniname/uniname.c (unicode_character_name,
48867         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48868         * lib/uniname/uninames.h: Regenerated.
48869         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48870
48871 2009-02-07  Bruno Haible  <bruno@clisp.org>
48872
48873         Merge gen-ctype and gen-lbrk into a single program.
48874         * lib/gen-uni-tables.c: New file, incorporating
48875         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48876         Add directory prefixes to the names of the generated files.
48877         * lib/unictype/gen-ctype.c: Remove file.
48878         * lib/unilbrk/gen-lbrk.c: Remove file.
48879         * modules/gen-uni-tables: New file.
48880         * modules/unictype/gen-ctype: Remove file.
48881         * modules/unilbrk/gen-lbrk: Remove file.
48882
48883 2009-02-07  Bruno Haible  <bruno@clisp.org>
48884
48885         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48886
48887         New module 'unistr/u32-strcoll'.
48888         * modules/unistr/u32-strcoll: New file.
48889         * lib/unistr/u32-strcoll.c: New file.
48890
48891         New module 'unistr/u16-strcoll'.
48892         * modules/unistr/u16-strcoll: New file.
48893         * lib/unistr/u16-strcoll.c: New file.
48894
48895         New module 'unistr/u8-strcoll'.
48896         * modules/unistr/u8-strcoll: New file.
48897         * lib/unistr/u8-strcoll.c: New file.
48898         * lib/unistr/u-strcoll.h: New file.
48899
48900 2009-02-07  Bruno Haible  <bruno@clisp.org>
48901
48902         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48903         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48904         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48905         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48906         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48907         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48908
48909 2009-02-07  Bruno Haible  <bruno@clisp.org>
48910
48911         Make 64-bit clean.
48912         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48913         output_combclass, output_bidi_category, output_decimal_digit,
48914         output_digit, output_numeric, output_mirror, output_scripts,
48915         output_ident_category): Use proper width specifier in format strings.
48916
48917 2009-02-07  Bruno Haible  <bruno@clisp.org>
48918
48919         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48920         failure behaviour.
48921
48922 2009-02-07  Jim Meyering  <meyering@redhat.com>
48923
48924         regex: avoid compilation failure with upcoming gcc-4.4
48925         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48926         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48927         "... error: integer overflow in preprocessor expression".
48928
48929 2009-02-05  Ben Pfaff  <blp@gnu.org>
48930
48931         Fix link errors on Windows when close module is used.
48932         * modules/close: Add $(LIB_CLOSE) to Link section.
48933         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48934         $(LIB_CLOSE) on Windows.
48935
48936 2009-02-05  Jim Meyering  <meyering@redhat.com>
48937
48938         still avoid unused-parameter warnings, but do it cleanly
48939         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
48940         (get_fs_usage): Cast to void instead.
48941         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
48942         (dev_from_mount_options, read_file_system_list): Cast to void.
48943         Prompted by Bruno Haible.
48944
48945 2009-02-04  Jim Meyering  <meyering@redhat.com>
48946
48947         fsusage.c: correct copyright year
48948         * lib/fsusage.c: Reflect year in which the change is pushed into
48949
48950         avoid misc. warnings
48951         * lib/fsusage.c (UNUSED_PARAM): Define.
48952         (get_fs_usage): Mark parameter "disk" as unused.
48953         * lib/getugroups.c (getgrent): Use "void" in prototype.
48954         * lib/mountlist.c: Mark unused parameters.
48955         (read_file_system_list): Declare a local with "const".
48956         * lib/nanosleep.c (getnow): Declare static.
48957         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
48958
48959         dirfd: set errno upon failure
48960         * lib/dirfd.c: Include <errno.h>.
48961         Set errno to ENOTSUP when returning -1.
48962         * modules/dirfd (Depends-on): Add errno.
48963         Suggested by John Kodis <kodis@comcast.net>.
48964
48965 2009-02-01  Bruno Haible  <bruno@clisp.org>
48966
48967         Don't assume sizeof (long) >= sizeof (void *).
48968         * lib/memcmp.c: Include stdint.h.
48969         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
48970         srcp2 to 'const byte *'.
48971         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
48972         types to uintptr_t.
48973         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
48974         * modules/memcmp (Depends-on): Add stdint.
48975         Reported by Ozkan Sezer <sezeroz@gmail.com>.
48976
48977 2009-01-30  Eric Blake  <ebb9@byu.net>
48978
48979         fix more require-before-expand issues
48980         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48981         expand, AC_PROG_AWK.
48982         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48983
48984 2009-01-28  Eric Blake  <ebb9@byu.net>
48985
48986         version-etc: use consistent URL formatting
48987         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48988         Improve formatting.  Use fputs for string without %.
48989
48990 2009-01-28  Jim Meyering  <meyering@redhat.com>
48991
48992         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48993         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48994         "underquoted definition of NAME" from autoconf-2.59.
48995
48996 2009-01-28  Bruno Haible  <bruno@clisp.org>
48997
48998         * doc/gnulib.texi: Add "Obsolete modules" to index.
48999
49000 2009-01-28  Jim Meyering  <meyering@redhat.com>
49001
49002         useless-if-before-free: recognize more variants
49003         * build-aux/useless-if-before-free: Also recognize e.g.,
49004         if (NULL != p) free (p);
49005
49006 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
49007
49008         test-getaddrinfo: skip (don't fail) this test when there's no network
49009         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
49010         on the presumption that it means you lack network access.
49011
49012 2009-01-26  Jim Meyering  <meyering@redhat.com>
49013
49014         fflush: avoid warnings on modern systems
49015         * lib/fflush.c (rpl_fflush): Move declarations of locals,
49016         pos and result, into scopes where they're used.
49017
49018 2009-01-26  Eric Blake  <ebb9@byu.net>
49019
49020         Silence warning reintroduced by recent extensions patch.
49021         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
49022         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
49023         autoconf.
49024
49025         Backport improved autoconf semantics of AC_DEFUN_ONCE.
49026         * m4/00gnulib.m4: New file.
49027         * gnulib-tool (func_get_filelist): Always use it.
49028         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
49029         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
49030
49031 2009-01-25  Bruno Haible  <bruno@clisp.org>
49032
49033         Make test-quotearg work on MacOS X and AIX.
49034         * tests/test-quotearg.sh: New file.
49035         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
49036         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
49037         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
49038         include <libintl.h>.
49039         (fake_locale): Remove variable.
49040         (gettext, dgettext, dcgettext): Remove functions.
49041         (main): Instead of setting a fake locale, set a real locale. Call
49042         textdomain and bindtextdomain.
49043         * modules/quotearg-tests (Files): Add the new files.
49044         (Depends-on): Add gettext, setenv, unsetenv.
49045         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49046         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
49047         Augment TESTS_ENVIRONMENT.
49048
49049 2009-01-25  Bruno Haible  <bruno@clisp.org>
49050
49051         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
49052         fr_FR.ISO8859-1 locale on MacOS X.
49053         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
49054         ja_JP.eucJP locale on MacOS X.
49055         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
49056         zh_CN.GB18030 locale on MacOS X.
49057
49058 2009-01-25  Bruno Haible  <bruno@clisp.org>
49059
49060         Avoid link errors on MacOS X 10.3.
49061         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
49062         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49063
49064 2009-01-25  Bruno Haible  <bruno@clisp.org>
49065
49066         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49067         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
49068         * modules/pipe (Files): Remove m4/posix_spawn.m4.
49069         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49070         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
49071         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49072         posix_spawnattr_init, posix_spawnattr_setsigmask,
49073         posix_spawnattr_setflags, posix_spawnattr_destroy.
49074
49075         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49076         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
49077         * modules/execute (Files): Remove m4/posix_spawn.m4.
49078         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49079         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49080         posix_spawnattr_init, posix_spawnattr_setsigmask,
49081         posix_spawnattr_setflags, posix_spawnattr_destroy.
49082
49083 2009-01-25  Bruno Haible  <bruno@clisp.org>
49084
49085         * lib/glthread/threadlib.c: Include <stdlib.h>.
49086
49087 2009-01-25  Bruno Haible  <bruno@clisp.org>
49088
49089         * lib/glthread/threadlib.c (dummy): New declaration.
49090
49091 2009-01-25  Bruno Haible  <bruno@clisp.org>
49092
49093         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
49094         multibyte characters also for the GB18030 encoding. Don't crash when
49095         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
49096
49097 2009-01-25  Bruno Haible  <bruno@clisp.org>
49098
49099         Avoid redefining 'struct random_data' on OSF/1 5.1.
49100         * lib/stdlib.in.h: Include <random.h> if it exists.
49101         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
49102         HAVE_RANDOM_H. Include <random.h> when testing whether
49103         'struct random_data' exists.
49104         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
49105
49106 2009-01-25  Bruno Haible  <bruno@clisp.org>
49107
49108         Don't install charset.alias on MacOS X >= 10.3.
49109         * lib/localcharset.c (DARWIN7): New macro.
49110         (get_charset_aliases): Hardcode the result for Darwin7.
49111         * modules/localcharset (install-exec-local): Don't install
49112         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
49113
49114 2009-01-25  Bruno Haible  <bruno@clisp.org>
49115
49116         Don't install charset.alias on mingw and Cygwin.
49117         * modules/localcharset (install-exec-local): Don't install
49118         charset.alias on mingw and Cygwin, if the file does not yet exist.
49119         The result for these platforms is hardcoded in localcharset.c.
49120
49121 2009-01-25  Bruno Haible  <bruno@clisp.org>
49122
49123         Make it possible again to use AC_GNU_SOURCE together with gnulib.
49124         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
49125         before requiring AC_USE_SYSTEM_EXTENSIONS.
49126
49127 2009-01-25  Jim Meyering  <meyering@redhat.com>
49128
49129         c-strtod: avoid warnings
49130         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
49131         "assignment discards qualifiers from pointer target type" warnings.
49132
49133 2009-01-24  Bruno Haible  <bruno@clisp.org>
49134
49135         Add support for non-UTF-8 locales on MacOS X.
49136         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
49137         canonical encodings. For Darwin 7 and newer, don't map traditional
49138         encodings to UTF-8.
49139         Reported by Vincent Lefevre <vincent@vinc17.org>
49140         at <http://savannah.gnu.org/bugs/?25235>.
49141
49142 2009-01-24  Bruno Haible  <bruno@clisp.org>
49143
49144         * doc/gnulib.texi (Obsolete modules): New section.
49145         Reported by Mike Frysinger <vapier@gentoo.org>.
49146
49147 2009-01-24  Bruno Haible  <bruno@clisp.org>
49148
49149         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
49150         (%.dvi): New rule.
49151
49152 2009-01-24  Bruno Haible  <bruno@clisp.org>
49153
49154         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
49155         Reported by Eric Blake.
49156
49157 2009-01-24  Bruno Haible  <bruno@clisp.org>
49158
49159         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
49160         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
49161         Reported by Gary V. Vaughan <gary@gnu.org>.
49162
49163 2009-01-24  Bruno Haible  <bruno@clisp.org>
49164
49165         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
49166
49167 2009-01-23  Bruno Haible  <bruno@clisp.org>
49168
49169         Make c-strtod, c-strtold usable in libraries.
49170         * lib/c-strtod.c: Include string.h instead of xalloc.h.
49171         (C_STRTOD): Call strdup instead of xstrdup.
49172         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
49173         * modules/c-strtold (Depends-on): Likewise.
49174         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
49175         * NEWS: Mention the change.
49176         Reported by Michael Gold <mgold@ncf.ca>.
49177
49178 2009-01-23  Jim Meyering  <meyering@redhat.com>
49179
49180         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
49181         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
49182         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
49183
49184 2009-01-23  Simon Josefsson  <simon@josefsson.org>
49185
49186         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
49187         GNU CoreUtils.
49188         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
49189         * modules/version-etc (Description): Update.
49190
49191 2009-01-22  Bruno Haible  <bruno@clisp.org>
49192
49193         Cache the C locale object.
49194         * lib/c-strtod.c (c_locale_cache): New variable.
49195         (c_locale): New function.
49196         (C_STRTOD): Use it, and don't call freelocale.
49197         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
49198         Suggested by Paolo Bonzini.
49199
49200 2009-01-21  Bruno Haible  <bruno@clisp.org>
49201
49202         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
49203         conditions other than overflow.
49204
49205 2009-01-21  Bruno Haible  <bruno@clisp.org>
49206
49207         * lib/c-strtod.c: Include errno.h.
49208         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
49209         value from STRTOD_L and STRTOD.
49210
49211 2009-01-21  Bruno Haible  <bruno@clisp.org>
49212         and Jim Meyering  <meyering@redhat.com>
49213
49214         nanosleep: skip configure test (fail it) for apple universal builds
49215         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
49216         universal builds, assume that nanosleep does not work.
49217         * modules/nanosleep (Depends-on): Add multiarch.
49218
49219         mktime: skip configure test (fail it) for apple universal builds
49220         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
49221         universal builds, assume that mktime does not work.
49222         * modules/mktime (Depends-on): Add multiarch.
49223
49224 2009-01-21  Eric Blake  <ebb9@byu.net>
49225
49226         multiarch: avoid expand-before-require warning
49227         * modules/multiarch (configure.ac): Require, rather than expand,
49228         gl_MULTIARCH.
49229         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
49230         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
49231         enforce that all clients require it.  Partial reversion of
49232         2008-12-29 patch.
49233
49234         error: avoid expand-before-require warning
49235         * modules/errno (configure.ac): Require, rather than expand,
49236         gl_HEADER_ERRNO_H.
49237         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
49238         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
49239         enforce that all clients require it.
49240
49241         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
49242         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
49243         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
49244         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
49245
49246 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
49247
49248         Revert:
49249         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49250
49251         regex: do not depend on obsolete modules.
49252         * modules/regex: Remove memcmp and memmove.
49253
49254 2009-01-20  Bruno Haible  <bruno@clisp.org>
49255
49256         Make the 'link' module link on Windows NT 4.
49257         * lib/link.c (_WIN32_WINNT): Don't define.
49258         (CreateHardLinkFuncType): New type.
49259         (CreateHardLinkFunc, initialized): New variables.
49260         (initialize): New function.
49261         (link): Invoke CreateHardLink indirectly through the function pointer.
49262
49263 2009-01-20  Bruno Haible  <bruno@clisp.org>
49264
49265         Fix compilation failure on mingw.
49266         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
49267
49268 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
49269
49270         * doc/c-strtod.texi: Mention a couple of restrictions.
49271
49272 2009-01-20  Jim Meyering  <meyering@redhat.com>
49273
49274         gettimeofday: move more declarations out of functions
49275         * lib/gettimeofday.c: Move extern declarations of tzset and
49276         gmtime out of containing functions.  Prompted by Bruno Haible.
49277
49278 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49279
49280         regex: do not depend on obsolete modules.
49281         * modules/regex: Remove memcmp and memmove.
49282
49283 2009-01-19  Bruno Haible  <bruno@clisp.org>
49284
49285         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49286         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
49287         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49288         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
49289         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
49290
49291 2009-01-19  Bruno Haible  <bruno@clisp.org>
49292
49293         * tests/test-link.c: Include <errno.h>.
49294         (main): Exit with code 77 when a hard link cannot be created due to
49295         the file system.
49296         * tests/test-link.sh: Skip test when a hard link cannot be created due
49297         to the file system.
49298         Suggested by Eric Blake.
49299
49300 2009-01-19  Martin Lambers  <marlam@marlam.de>
49301
49302         * modules/link-tests: New file.
49303         * tests/test-link.sh: New file.
49304         * tests/test-link.c: New file.
49305
49306 2009-01-19  Eric Blake  <ebb9@byu.net>
49307
49308         doc: mention another function added in cygwin 1.7.0
49309         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
49310         Another new function in cygwin 1.7.
49311
49312 2009-01-19  Bruno Haible  <bruno@clisp.org>
49313
49314         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49315         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
49316         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
49317         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49318         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
49319         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
49320         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49321         * m4/md4.m4 (gl_MD4): Likewise.
49322         * m4/md5.m4 (gl_MD5): Likewise.
49323         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
49324         * m4/sha1.m4 (gl_SHA1): Likewise.
49325         * m4/sha256.m4 (gl_SHA256): Likewise.
49326         * m4/sha512.m4 (gl_SHA512): Likewise.
49327
49328 2009-01-19  Bruno Haible  <bruno@clisp.org>
49329
49330         * modules/uniname/uniname-tests (Depends-on): Add progname.
49331         * tests/uniname/test-uninames.c: Include progname.h.
49332         (main): Call set_program_name.
49333
49334         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
49335         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
49336         (main): Call set_program_name.
49337
49338         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
49339         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
49340         (main): Call set_program_name.
49341
49342         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
49343         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49344         (main): Call set_program_name.
49345
49346         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49347         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49348         (main): Call set_program_name.
49349
49350         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49351         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49352         (main): Call set_program_name.
49353
49354         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49355         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49356         (main): Call set_program_name.
49357
49358         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49359         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49360         (main): Call set_program_name.
49361
49362         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49363         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49364         (main): Call set_program_name.
49365
49366 2009-01-19  Eric Blake  <ebb9@byu.net>
49367
49368         test-unistd: test previous patch
49369         * tests/test-unistd.c: Test *_FILENO macros.
49370
49371         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49372         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49373         Guarantee a definition.
49374         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49375         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49376         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49377         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49378         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49379         Likewise.
49380         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49381         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49382         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49383         Likewise.
49384         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49385         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49386         (STDERR_FILENO): Likewise.
49387         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49388         (STDERR_FILENO): Likewise.
49389         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49390         (STDERR_FILENO): Likewise.
49391         Reported by Elbert Pol.
49392
49393 2009-01-19  Eric Blake  <ebb9@byu.net>
49394
49395         doc: mention more functions added in cygwin 1.7.0
49396         * doc/posix-functions/abort.texi (abort): Update wording related
49397         to cygwin.
49398         * doc/posix-functions/daylight.texi (daylight): Likewise.
49399         * doc/posix-functions/optarg.texi (optarg): Likewise.
49400         * doc/posix-functions/optarg.texi (opterr): Likewise.
49401         * doc/posix-functions/optarg.texi (optind): Likewise.
49402         * doc/posix-functions/optarg.texi (optopt): Likewise.
49403         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
49404         worked in 1.5.x, and was withdrawn in 1.7.
49405         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
49406         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
49407         cygwin versions.
49408         * doc/posix-functions/perror.texi (perror): Likewise.
49409         * doc/posix-functions/printf.texi (printf): Likewise.
49410         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
49411         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
49412         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
49413         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
49414         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49415         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
49416         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49417         Likewise.
49418         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49419         Likewise.
49420         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
49421         this function.
49422         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
49423         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
49424         Likewise.
49425         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
49426         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
49427         * doc/posix-functions/confstr.texi (confstr): Likewise.
49428         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
49429         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
49430         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
49431         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
49432         * doc/posix-functions/fputws.texi (fputws): Likewise.
49433         * doc/posix-functions/fwide.texi (fwide): Likewise.
49434         * doc/posix-functions/getwc.texi (getwc): Likewise.
49435         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
49436         * doc/posix-functions/putwc.texi (putwc): Likewise.
49437         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
49438         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
49439         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
49440         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
49441         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
49442         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
49443         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
49444         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
49445         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
49446         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
49447         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
49448
49449 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49450
49451         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
49452         * lib/ioctl.c: Include <sys/ioctl.h>.
49453
49454 2009-01-19  Simon Josefsson  <simon@josefsson.org>
49455
49456         * modules/getdate-tests (Depends-on): Add progname.
49457         * tests/test-getdate.c: Use progname module, to avoid link errors
49458         on non-glibc systems.
49459
49460 2009-01-18  Simon Josefsson  <simon@josefsson.org>
49461
49462         * modules/filenamecat-tests (Depends-on): Add progname.
49463         * modules/fstrcmp-tests (Depends-on): Likewise.
49464
49465         * tests/test-filenamecat.c: Use progname module, to avoid link
49466         errors on non-glibc systems.
49467         * tests/test-fstrcmp.c: Likewise.
49468
49469 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49470
49471         gettimeofday: avoid warning: nested extern declaration of 'localtime'
49472         * lib/gettimeofday.c: Move extern declaration out of function.
49473
49474 2009-01-18  Bruno Haible  <bruno@clisp.org>
49475
49476         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
49477         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
49478         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
49479
49480 2009-01-18  Bruno Haible  <bruno@clisp.org>
49481
49482         * lib/strftime.c (MEMPCPY): Remove unused macro.
49483         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
49484
49485 2009-01-18  Martin Lambers  <marlam@marlam.de>
49486
49487         New module 'link'.
49488         * lib/unistd.in.h (link): New declaration.
49489         * lib/link.c: New file.
49490         * m4/link.m4: New file.
49491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
49492         HAVE_LINK.
49493         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
49494         * modules/link: New file.
49495         * doc/posix-functions/link.texi: Mention the new module.
49496
49497 2009-01-18  Bruno Haible  <bruno@clisp.org>
49498
49499         * tests/test-avltree_list.c (main): Call set_program_name.
49500         * tests/test-avltree_oset.c (main): Likewise.
49501         * tests/test-obstack-printf.c: Include progname.h.
49502         (main): Call set_program_name.
49503         * tests/test-quotearg.c: Include progname.h.
49504         (main): Call set_program_name.
49505         * tests/test-xmemdup0.c: Include progname.h.
49506         (main): Call set_program_name.
49507
49508 2009-01-18  Bruno Haible  <bruno@clisp.org>
49509
49510         New module 'alphasort'.
49511         * lib/dirent.in.h (alphasort): New declaration.
49512         * lib/alphasort.c: New file, from glibc with modifications.
49513         * m4/alphasort.m4: New file.
49514         * modules/alphasort: New file.
49515         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
49516         HAVE_ALPHASORT.
49517         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
49518         HAVE_ALPHASORT.
49519         * doc/posix-functions/alphasort.texi: Mention the new module and the
49520         portability problems.
49521
49522 2009-01-18  Bruno Haible  <bruno@clisp.org>
49523
49524         New module 'scandir'.
49525         * lib/dirent.in.h (scandir): New declaration.
49526         * lib/scandir.c: New file, from glibc with modifications.
49527         * m4/scandir.m4: New file.
49528         * modules/scandir: New file.
49529         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
49530         HAVE_SCANDIR.
49531         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
49532         HAVE_SCANDIR.
49533         * doc/posix-functions/scandir.texi: Mention the new module and the
49534         portability problems.
49535
49536 2009-01-17  Bruno Haible  <bruno@clisp.org>
49537
49538         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
49539         Update documentation.
49540         (func_remove_suffix): Escape all dots in the suffix. Update
49541         documentation.
49542         (func_filter_filelist): Update documentation.
49543         Reported by Ralf Wildenhues.
49544
49545 2009-01-17  Bruno Haible  <bruno@clisp.org>
49546
49547         * modules/dprintf-posix-tests: New file.
49548         * tests/test-dprintf-posix.sh: New file.
49549         * tests/test-dprintf-posix.c: New file.
49550
49551         New modules 'dprintf', 'dprintf-posix'.
49552         * lib/stdio.in.h (dprintf): New declaration.
49553         * lib/dprintf.c: New file.
49554         * m4/dprintf.m4: New file.
49555         * m4/dprintf-posix.m4: New file.
49556         * modules/dprintf: New file.
49557         * modules/dprintf-posix: New file.
49558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
49559         HAVE_DPRINTF, REPLACE_DPRINTF.
49560         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
49561         HAVE_DPRINTF, REPLACE_DPRINTF.
49562         * doc/posix-functions/dprintf.texi: Mention the new modules.
49563
49564 2009-01-17  Bruno Haible  <bruno@clisp.org>
49565
49566         * modules/vdprintf-posix-tests: New file.
49567         * tests/test-vdprintf-posix.sh: New file.
49568         * tests/test-vdprintf-posix.c: New file.
49569
49570         New modules 'vdprintf', 'vdprintf-posix'.
49571         * lib/stdio.in.h (vdprintf): New declaration.
49572         * lib/vdprintf.c: New file.
49573         * m4/vdprintf.m4: New file.
49574         * m4/vdprintf-posix.m4: New file.
49575         * modules/vdprintf: New file.
49576         * modules/vdprintf-posix: New file.
49577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
49578         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49579         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
49580         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49581         * doc/posix-functions/vdprintf.texi: Mention the new modules.
49582
49583 2009-01-17  Bruno Haible  <bruno@clisp.org>
49584
49585         Fix replacement of fopen on mingw.
49586         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
49587         mingw.
49588
49589 2009-01-17  Bruno Haible  <bruno@clisp.org>
49590
49591         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
49592         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
49593
49594 2009-01-17  Bruno Haible  <bruno@clisp.org>
49595
49596         Avoid test-fflush2.sh failure on mingw.
49597         * tests/test-fflush2.c: Include binary-io.h.
49598         (main): Put standard input into binary mode.
49599         * modules/fflush-tests (Depends-on): Add binary-io.
49600
49601 2009-01-17  Bruno Haible  <bruno@clisp.org>
49602
49603         * lib/wchar.in.h: In another particular situation, include only the
49604         system's <wchar.h> file.
49605         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
49606         Reported by Albert Chin-A-Young <china@thewrittenword.com>
49607         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
49608
49609 2009-01-17  Bruno Haible  <bruno@clisp.org>
49610
49611         Support for stripping executables in --enable-relocatable.
49612         * build-aux/install-reloc: Expect one more argument, or an environment
49613         variable RELOC_STRIP_PROG. If set, strip the destination program and
49614         its wrapper.
49615         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
49616         RELOC_STRIP_PROG.
49617         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
49618         to set RELOCATABLE_STRIP.
49619         * NEWS: Mention the new Makefile requirement.
49620
49621 2009-01-17  Bruno Haible  <bruno@clisp.org>
49622
49623         * build-aux/install-reloc: Remove debugging information left over by
49624         C compiler on MacOS X.
49625
49626 2009-01-17  Bruno Haible  <bruno@clisp.org>
49627
49628         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
49629         * lib/progreloc.c (find_executable): Fix type of pointer passed to
49630         _NSGetExecutablePath.
49631
49632 2009-01-16  Jim Meyering  <meyering@redhat.com>
49633
49634         strerror: avoid warnings about discarding "const"
49635         * lib/strerror.c (rpl_strerror): Instead of returning a const
49636         string from each and every "case", use a variable, and add a single
49637         cast after the switch.
49638
49639 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
49640
49641         * lib/arpa_inet.in.h: Add extern "C" block for C++.
49642
49643 2009-01-16  Bruno Haible  <bruno@clisp.org>
49644
49645         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
49646         array initializer syntax that also works in C++ mode.
49647         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49648
49649 2009-01-16  Jim Meyering  <meyering@redhat.com>
49650
49651         poll: suppress a warning
49652         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
49653         to ignore "...unsigned expression < 0 is always false" warnings.
49654
49655 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
49656
49657         poll: remove declarations of unused variables
49658         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
49659         sockbuf and optlen.
49660
49661 2009-01-15  Bruno Haible  <bruno@clisp.org>
49662
49663         Make fflush-after-ungetc POSIX compliant on BSD systems.
49664         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
49665         (clear_ungetc_buffer): Implement also for other systems.
49666         (rpl_fflush): On glibc systems, invoke
49667         clear_ungetc_buffer_preserving_position. Otherwise, invoke
49668         clear_ungetc_buffer after fetching the stream's position, not before.
49669
49670 2009-01-15  Bruno Haible  <bruno@clisp.org>
49671
49672         Make fflush-after-ungetc POSIX compliant on glibc systems.
49673         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
49674         after ungetc.
49675         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
49676         (rpl_fflush): On glibc systems, simply call the system's fflush
49677         function after clearing the ungetc buffer.
49678         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
49679         Instead, lseek only to the end of file, then use the system's fseeko
49680         for the rest. On glibc systems, reset the EOF indicator bit.
49681
49682 2009-01-15  Jim Meyering  <meyering@redhat.com>
49683
49684         openmp.m4: revert quote-adding change, for portability to older autoconf
49685         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
49686         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
49687         Simon Josefsson noticed the problem when using autoconf-2.61.
49688
49689 2009-01-15  Bruno Haible  <bruno@clisp.org>
49690
49691         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
49692         * tests/test-fflush2.c (ASSERT): Always fail.
49693         (main): Add two tests for fflush() after ungetc(), taking into account
49694         the Austin Group's clarification.
49695         Suggested by Eric Blake.
49696
49697 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
49698
49699         mktime.m4: remove K&R-style function prototypes
49700         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
49701         for the Sun C++ compiler.
49702
49703 2009-01-14  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
49706         while including <wchar.h>.
49707         * lib/wchar.in.h: In two particular situations on HP-UX, include only
49708         the system's <wchar.h> file.
49709         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49710
49711 2009-01-14  Bruno Haible  <bruno@clisp.org>
49712
49713         * m4/csharp.m4: Don't mention gettext on the serial number line.
49714         * m4/csharpexec.m4: Likewise.
49715         * m4/eaccess.m4: Likewise.
49716         * m4/javaexec.m4: Likewise.
49717         * m4/sig_atomic_t.m4: Likewise.
49718         * m4/tmpdir.m4: Likewise.
49719         * m4/intldir.m4: Bump gettext version.
49720         * m4/lib-ld.m4: Likewise.
49721
49722 2009-01-14  Bruno Haible  <bruno@clisp.org>
49723
49724         * lib/progname.c (set_program_name): Add more comments.
49725         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
49726
49727 2009-01-14  Simon Josefsson  <simon@josefsson.org>
49728
49729         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
49730         were sys/stat.h does not define it.
49731
49732 2009-01-14  Jim Meyering  <meyering@redhat.com>
49733
49734         many *.m4 files: improve m4 quoting
49735         99% of this change was performed by running the following commands:
49736         git ls-files | grep '\.m4$' | xargs perl -pi \
49737           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
49738           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49739           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49740           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
49741         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
49742         The remainder were to add Copyright dates, increment serial numbers,
49743         undo some changes in comments, exclude m4/intl.m4, and add quotes
49744         around the "1" in ",1" where the unusual spacing prohibited the
49745         above regexps from doing the job.  For more details, see
49746         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
49747         * m4/acl.m4: Modified.
49748         * m4/afs.m4: Likewise.
49749         * m4/alloca.m4: Likewise.
49750         * m4/argp.m4: Likewise.
49751         * m4/argz.m4: Likewise.
49752         * m4/atexit.m4: Likewise.
49753         * m4/bison-i18n.m4: Likewise.
49754         * m4/bison.m4: Likewise.
49755         * m4/byteswap.m4: Likewise.
49756         * m4/c-stack.m4: Likewise.
49757         * m4/c-strtod.m4: Likewise.
49758         * m4/calloc.m4: Likewise.
49759         * m4/canonicalize-lgpl.m4: Likewise.
49760         * m4/chown.m4: Likewise.
49761         * m4/clock_time.m4: Likewise.
49762         * m4/codeset.m4: Likewise.
49763         * m4/copy-file.m4: Likewise.
49764         * m4/csharp.m4: Likewise.
49765         * m4/csharpcomp.m4: Likewise.
49766         * m4/csharpexec.m4: Likewise.
49767         * m4/d-ino.m4: Likewise.
49768         * m4/d-type.m4: Likewise.
49769         * m4/dirfd.m4: Likewise.
49770         * m4/double-slash-root.m4: Likewise.
49771         * m4/eaccess.m4: Likewise.
49772         * m4/eealloc.m4: Likewise.
49773         * m4/environ.m4: Likewise.
49774         * m4/errno_h.m4: Likewise.
49775         * m4/euidaccess.m4: Likewise.
49776         * m4/execute.m4: Likewise.
49777         * m4/fatal-signal.m4: Likewise.
49778         * m4/fchdir.m4: Likewise.
49779         * m4/fcntl_h.m4: Likewise.
49780         * m4/fileblocks.m4: Likewise.
49781         * m4/filenamecat.m4: Likewise.
49782         * m4/findprog.m4: Likewise.
49783         * m4/flexmember.m4: Likewise.
49784         * m4/fnmatch.m4: Likewise.
49785         * m4/fopen.m4: Likewise.
49786         * m4/fpending.m4: Likewise.
49787         * m4/fprintf-posix.m4: Likewise.
49788         * m4/free.m4: Likewise.
49789         * m4/frexp.m4: Likewise.
49790         * m4/frexpl.m4: Likewise.
49791         * m4/fsusage.m4: Likewise.
49792         * m4/ftruncate.m4: Likewise.
49793         * m4/gc-camellia.m4: Likewise.
49794         * m4/gc-random.m4: Likewise.
49795         * m4/gc.m4: Likewise.
49796         * m4/getaddrinfo.m4: Likewise.
49797         * m4/getcwd-abort-bug.m4: Likewise.
49798         * m4/getcwd-path-max.m4: Likewise.
49799         * m4/getdate.m4: Likewise.
49800         * m4/getdomainname.m4: Likewise.
49801         * m4/getgroups.m4: Likewise.
49802         * m4/gethostname.m4: Likewise.
49803         * m4/gethrxtime.m4: Likewise.
49804         * m4/getline.m4: Likewise.
49805         * m4/getloadavg.m4: Likewise.
49806         * m4/getndelim2.m4: Likewise.
49807         * m4/getpass.m4: Likewise.
49808         * m4/gettext.m4: Likewise.
49809         * m4/gettime.m4: Likewise.
49810         * m4/gettimeofday.m4: Likewise.
49811         * m4/gnulib-common.m4: Likewise.
49812         * m4/group-member.m4: Likewise.
49813         * m4/host-os.m4: Likewise.
49814         * m4/iconv.m4: Likewise.
49815         * m4/iconv_open.m4: Likewise.
49816         * m4/inet_ntop.m4: Likewise.
49817         * m4/inet_pton.m4: Likewise.
49818         * m4/inline.m4: Likewise.
49819         * m4/intldir.m4: Likewise.
49820         * m4/intlmacosx.m4: Likewise.
49821         * m4/intmax.m4: Likewise.
49822         * m4/intmax_t.m4: Likewise.
49823         * m4/inttypes.m4: Likewise.
49824         * m4/inttypes_h.m4: Likewise.
49825         * m4/inttypes-pri.m4: Likewise.
49826         * m4/isapipe.m4: Likewise.
49827         * m4/isnand.m4: Likewise.
49828         * m4/isnanf.m4: Likewise.
49829         * m4/isnanl.m4: Likewise.
49830         * m4/javacomp.m4: Likewise.
49831         * m4/javaexec.m4: Likewise.
49832         * m4/jm-winsz1.m4: Likewise.
49833         * m4/jm-winsz2.m4: Likewise.
49834         * m4/lchown.m4: Likewise.
49835         * m4/lcmessage.m4: Likewise.
49836         * m4/ldexpl.m4: Likewise.
49837         * m4/lib-ld.m4: Likewise.
49838         * m4/lib-link.m4: Likewise.
49839         * m4/libsigsegv.m4: Likewise.
49840         * m4/link-follow.m4: Likewise.
49841         * m4/localcharset.m4: Likewise.
49842         * m4/locale-fr.m4: Likewise.
49843         * m4/locale-ja.m4: Likewise.
49844         * m4/locale-tr.m4: Likewise.
49845         * m4/locale-zh.m4: Likewise.
49846         * m4/lock.m4: Likewise.
49847         * m4/longlong.m4: Likewise.
49848         * m4/ls-mntd-fs.m4: Likewise.
49849         * m4/lstat.m4: Likewise.
49850         * m4/malloc.m4: Likewise.
49851         * m4/mathl.m4: Likewise.
49852         * m4/mbrtowc.m4: Likewise.
49853         * m4/mbstate_t.m4: Likewise.
49854         * m4/mbswidth.m4: Likewise.
49855         * m4/memchr.m4: Likewise.
49856         * m4/memcmp.m4: Likewise.
49857         * m4/memcpy.m4: Likewise.
49858         * m4/memmem.m4: Likewise.
49859         * m4/memmove.m4: Likewise.
49860         * m4/mempcpy.m4: Likewise.
49861         * m4/memrchr.m4: Likewise.
49862         * m4/memset.m4: Likewise.
49863         * m4/minmax.m4: Likewise.
49864         * m4/mkdir-slash.m4: Likewise.
49865         * m4/mkdtemp.m4: Likewise.
49866         * m4/mktime.m4: Likewise.
49867         * m4/mmap-anon.m4: Likewise.
49868         * m4/mountlist.m4: Likewise.
49869         * m4/nanosleep.m4: Likewise.
49870         * m4/nls.m4: Likewise.
49871         * m4/nocrash.m4: Likewise.
49872         * m4/open.m4: Likewise.
49873         * m4/openat.m4: Likewise.
49874         * m4/openmp.m4: Likewise.
49875         * m4/pathmax.m4: Likewise.
49876         * m4/perl.m4: Likewise.
49877         * m4/physmem.m4: Likewise.
49878         * m4/pipe.m4: Likewise.
49879         * m4/po.m4: Likewise.
49880         * m4/poll.m4: Likewise.
49881         * m4/posixtm.m4: Likewise.
49882         * m4/posixver.m4: Likewise.
49883         * m4/printf-frexp.m4: Likewise.
49884         * m4/printf-frexpl.m4: Likewise.
49885         * m4/printf-posix.m4: Likewise.
49886         * m4/printf-posix-rpl.m4: Likewise.
49887         * m4/printf.m4: Likewise.
49888         * m4/progtest.m4: Likewise.
49889         * m4/putenv.m4: Likewise.
49890         * m4/readline.m4: Likewise.
49891         * m4/readlink.m4: Likewise.
49892         * m4/readutmp.m4: Likewise.
49893         * m4/realloc.m4: Likewise.
49894         * m4/regex.m4: Likewise.
49895         * m4/relocatable.m4: Likewise.
49896         * m4/relocatable-lib.m4: Likewise.
49897         * m4/rename-dest-slash.m4: Likewise.
49898         * m4/rename.m4: Likewise.
49899         * m4/rmdir-errno.m4: Likewise.
49900         * m4/rmdir.m4: Likewise.
49901         * m4/roundf.m4: Likewise.
49902         * m4/roundl.m4: Likewise.
49903         * m4/rpmatch.m4: Likewise.
49904         * m4/save-cwd.m4: Likewise.
49905         * m4/selinux-selinux-h.m4: Likewise.
49906         * m4/setenv.m4: Likewise.
49907         * m4/settime.m4: Likewise.
49908         * m4/sig2str.m4: Likewise.
49909         * m4/sig_atomic_t.m4: Likewise.
49910         * m4/signalblocking.m4: Likewise.
49911         * m4/signbit.m4: Likewise.
49912         * m4/sigpipe.m4: Likewise.
49913         * m4/sockets.m4: Likewise.
49914         * m4/sockpfaf.m4: Likewise.
49915         * m4/st_dm_mode.m4: Likewise.
49916         * m4/stat-time.m4: Likewise.
49917         * m4/stdbool.m4: Likewise.
49918         * m4/stdint.m4: Likewise.
49919         * m4/stdint_h.m4: Likewise.
49920         * m4/stpcpy.m4: Likewise.
49921         * m4/stpncpy.m4: Likewise.
49922         * m4/strcase.m4: Likewise.
49923         * m4/strchrnul.m4: Likewise.
49924         * m4/strcspn.m4: Likewise.
49925         * m4/strdup.m4: Likewise.
49926         * m4/strftime.m4: Likewise.
49927         * m4/strndup.m4: Likewise.
49928         * m4/strnlen.m4: Likewise.
49929         * m4/strpbrk.m4: Likewise.
49930         * m4/strptime.m4: Likewise.
49931         * m4/strsep.m4: Likewise.
49932         * m4/strtod.m4: Likewise.
49933         * m4/strtoimax.m4: Likewise.
49934         * m4/strtok_r.m4: Likewise.
49935         * m4/strtol.m4: Likewise.
49936         * m4/strtoll.m4: Likewise.
49937         * m4/strtoul.m4: Likewise.
49938         * m4/strtoull.m4: Likewise.
49939         * m4/strtoumax.m4: Likewise.
49940         * m4/strverscmp.m4: Likewise.
49941         * m4/threadlib.m4: Likewise.
49942         * m4/timegm.m4: Likewise.
49943         * m4/tm_gmtoff.m4: Likewise.
49944         * m4/tmpdir.m4: Likewise.
49945         * m4/tmpfile.m4: Likewise.
49946         * m4/tzset.m4: Likewise.
49947         * m4/uintmax_t.m4: Likewise.
49948         * m4/unlinkdir.m4: Likewise.
49949         * m4/unlocked-io.m4: Likewise.
49950         * m4/uptime.m4: Likewise.
49951         * m4/userspec.m4: Likewise.
49952         * m4/utimbuf.m4: Likewise.
49953         * m4/utime.m4: Likewise.
49954         * m4/utimes-null.m4: Likewise.
49955         * m4/utimes.m4: Likewise.
49956         * m4/vararrays.m4: Likewise.
49957         * m4/vasnprintf.m4: Likewise.
49958         * m4/vfprintf-posix.m4: Likewise.
49959         * m4/vprintf-posix.m4: Likewise.
49960         * m4/wait-process.m4: Likewise.
49961         * m4/wchar_t.m4: Likewise.
49962         * m4/wint_t.m4: Likewise.
49963         * m4/write-any-file.m4: Likewise.
49964         * m4/yield.m4: Likewise.
49965
49966 2009-01-13  Bruno Haible  <bruno@clisp.org>
49967
49968         Avoid test-copy-file.sh failures when ACL support insufficient.
49969         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
49970         TESTS_ENVIRONMENT.
49971         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
49972         Reported by Jim Meyering.
49973
49974 2009-01-13  Bruno Haible  <bruno@clisp.org>
49975
49976         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
49977         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
49978         * modules/unistdio/u8-printf-parse (Files): Likewise.
49979         * modules/unistdio/u32-printf-parse (Files): Likewise.
49980         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49981
49982 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49983
49984         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49985         and m4/inttypes_h.m4 too.
49986
49987 2009-01-12  Eric Blake  <ebb9@byu.net>
49988
49989         tests: IRIX 6.2 cc can't compile -0.0 into .data
49990         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49991         rather than at compile-time.
49992         * tests/test-floorl.c (minus_zero): Likewise.
49993         * tests/test-frexpl.c (minus_zero): Likewise.
49994         * tests/test-isnan.c (minus_zerol): Likewise.
49995         * tests/test-isnanl.h (minus_zero): Likewise.
49996         * tests/test-ldexpl.c (minus_zero): Likewise.
49997         * tests/test-roundl.c (minus_zero): Likewise.
49998         * tests/test-signbit.c (minus_zerol): Likewise.
49999         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50000         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50001         * tests/test-truncl.c (minus_zero): Likewise.
50002         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50003         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50004         Reported by Tom G. Christensen and Nelson H. F. Beebe.
50005
50006 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50007
50008         regex: fix glibc bug 9697
50009         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
50010         handling.
50011
50012 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50013
50014         regex: fix glibc bug 697
50015         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
50016         being NULL also if there are no backreferences.
50017
50018 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50019
50020         regex: merge glibc changes
50021         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
50022         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
50023         re_string_skip_chars, re_string_reconstruct): Likewise.
50024         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
50025
50026 2009-01-07  Jim Meyering  <meyering@redhat.com>
50027
50028         poll: filter through cppi
50029         * lib/poll.c: Indent cpp directives to reflect nesting.
50030
50031 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
50032
50033         poll: don't return uninitialized
50034         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
50035
50036 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
50037
50038         avoid compile failure on AIX 6.1
50039         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
50040         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
50041
50042 2009-01-04  Jim Meyering  <meyering@redhat.com>
50043
50044         remove duplicate inclusion of <stdio.h>
50045         * tests/test-fprintf-posix.c: Likewise.
50046         * tests/test-printf-posix.c: Likewise.
50047         * tests/test-snprintf-posix.c: Likewise.
50048         * tests/test-sprintf-posix.c: Likewise.
50049         * tests/test-vasprintf-posix.c: Likewise.
50050         * tests/test-vfprintf-posix.c: Likewise.
50051         * tests/test-vprintf-posix.c: Likewise.
50052         * tests/test-vsnprintf-posix.c: Likewise.
50053         * tests/test-vsprintf-posix.c: Likewise.
50054
50055 2009-01-03  Jim Meyering  <meyering@redhat.com>
50056
50057         gnulib-tool: fix sed-based filtering
50058         * gnulib-tool (func_filter_filelist): Remove extra backslash
50059         in sed_fff_filter definition.
50060
50061 2009-01-02  Jim Meyering  <meyering@redhat.com>
50062
50063         strftime: avoid compilation failure on Solaris 2.6
50064         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
50065         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
50066         Don't #define mbrlen or mbsinit, since now they're guaranteed to
50067         be available.  Reported by Tom G. Christensen.  Details in
50068         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
50069
50070 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50071             Bruno Haible  <bruno@clisp.org>
50072
50073         Speed up gnulib-tool by doing more string processing through shell
50074         built-ins.
50075         * gnulib-tool (fast_func_append): New variable.
50076         (func_remove_prefix, func_remove_suffix): New functions.
50077         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
50078         (func_filter_filelist): New function.
50079         (func_get_dependencies): Use func_remove_suffix instead of sed.
50080         (func_get_automake_snippet): Use func_filter_filelist instead of a
50081         subshell and sed invocation.
50082
50083 2009-01-01  Bruno Haible  <bruno@clisp.org>
50084
50085         Fix a security bug.
50086         * gnulib-tool (func_import, import, update): Don't allow the characters
50087         '"', '$', '`', '\' in macro arguments that become part of commands that
50088         are evaluated.
50089
50090 2009-01-01  Bruno Haible  <bruno@clisp.org>
50091
50092         * gnulib-tool (func_reset_sigpipe): Add more comments.
50093
50094 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50095
50096         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
50097         func_emit_tests_Makefile_am, func_import): Abort loops early if we
50098         already know the answer.
50099
50100 2009-01-01  Jim Meyering  <meyering@redhat.com>
50101
50102         * lib/version-etc.c (version_etc_va): Update copyright year.
50103
50104 2008-12-30  Bruno Haible  <bruno@clisp.org>
50105
50106         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
50107         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
50108         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
50109
50110 2008-12-29  Eric Blake  <ebb9@byu.net>
50111
50112         multiarch: avoid autoconf AC_REQUIRE bug
50113         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
50114         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
50115         2.63 and older.
50116         Reported by Bruno Haible, and analyzed in
50117         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
50118
50119 2008-12-29  Bruno Haible  <bruno@clisp.org>
50120
50121         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
50122         files in subdirectories correctly.
50123         Reported by Ralf Wildenhues.
50124
50125 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50126
50127         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
50128         rather than 'join FILE -', for Solaris join.
50129
50130 2008-12-29  Bruno Haible  <bruno@clisp.org>
50131
50132         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
50133         quoting.
50134         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50135         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
50136         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
50137         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
50138         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
50139         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
50140         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
50141         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
50142         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50143         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
50144         * m4/nls.m4 (AM_NLS): Likewise.
50145         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
50146         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
50147         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50148         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
50149         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
50150         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
50151         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
50152         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
50153         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
50154         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50155         * m4/xsize.m4 (gl_XSIZE): Likewise.
50156         Suggested by Jim Meyering.
50157
50158 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50159
50160         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
50161         * lib/parse-duration.c: use a switch instead of cascading if's.
50162
50163 2008-12-29  Eric Blake  <ebb9@byu.net>
50164
50165         wchar.h: supply WEOF on Irix 5.3
50166         * lib/wchar.in.h (wint_t): Also supply WEOF.
50167         * lib/wctype.in.h (wint_t): Likewise.
50168         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
50169         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
50170         Reported by Tom G. Christensen.
50171
50172 2008-12-26  Bruno Haible  <bruno@clisp.org>
50173
50174         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
50175         i486, i586, i686.
50176
50177 2008-12-26  Bruno Haible  <bruno@clisp.org>
50178
50179         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
50180
50181 2008-12-26  Bruno Haible  <bruno@clisp.org>
50182
50183         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
50184         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
50185         not __STDC_CONSTANT_MACROS.
50186         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50187
50188 2008-12-25  Bruno Haible  <bruno@clisp.org>
50189
50190         Add support for universal builds to vasnprintf.
50191         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
50192         universal builds, guess no.
50193         * modules/vasnprintf-posix (Depends-on): Add multiarch.
50194         * modules/vasprintf-posix (Depends-on): Likewise.
50195         * modules/fprintf-posix (Depends-on): Likewise.
50196         * modules/vfprintf-posix (Depends-on): Likewise.
50197         * modules/snprintf-posix (Depends-on): Likewise.
50198         * modules/vsnprintf-posix (Depends-on): Likewise.
50199         * modules/sprintf-posix (Depends-on): Likewise.
50200         * modules/vsprintf-posix (Depends-on): Likewise.
50201         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50202         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50203         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50204         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50205         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50206         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50207         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50208
50209         Add support for universal builds to <inttypes.h>.
50210         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
50211         _SCNu64_PREFIX): In Apple
50212         universal builds, define directly, using _LP64.
50213         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
50214         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
50215         * modules/inttypes (Depends-on): Add multiarch.
50216         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50217
50218         Add support for universal builds to <stdint.h>.
50219         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
50220         universal builds, define directly, using _LP64.
50221         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
50222         Apple universal builds, don't test for the size and suffix of ptrdiff_t
50223         and size_t.
50224         * modules/stdint (Depends-on): Add multiarch.
50225         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50226
50227         New module 'multiarch'.
50228         * modules/multiarch: New file.
50229         * m4/multiarch.m4: New file.
50230
50231 2008-12-25  Bruno Haible  <bruno@clisp.org>
50232
50233         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
50234
50235 2008-12-25  Bruno Haible  <bruno@clisp.org>
50236
50237         * modules/btowc (License): Relicense under LGPLv2+.
50238         * modules/mbsinit (License): Likewise.
50239         * modules/mbrtowc (License): Likewise.
50240         * modules/wcrtomb (License): Likewise.
50241         * modules/streq (License): Likewise.
50242         Reported by David Lutterkort <lutter@redhat.com>.
50243
50244 2008-12-23  Bruno Haible  <bruno@clisp.org>
50245
50246         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
50247
50248 2008-12-23  Bruno Haible  <bruno@clisp.org>
50249
50250         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
50251         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
50252         GETADDRINFO_LIB, not in LIBS.
50253         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
50254         * modules/canon-host (Link): Likewise.
50255         * NEWS: Mention the change.
50256         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
50257         GETADDRINFO_LIB.
50258
50259 2008-12-22  Bruno Haible  <bruno@clisp.org>
50260
50261         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
50262         * doc/posix-functions/iswalpha_l.texi: Likewise.
50263         * doc/posix-functions/iswblank_l.texi: Likewise.
50264         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50265         * doc/posix-functions/iswctype_l.texi: Likewise.
50266         * doc/posix-functions/iswdigit_l.texi: Likewise.
50267         * doc/posix-functions/iswgraph_l.texi: Likewise.
50268         * doc/posix-functions/iswlower_l.texi: Likewise.
50269         * doc/posix-functions/iswprint_l.texi: Likewise.
50270         * doc/posix-functions/iswpunct_l.texi: Likewise.
50271         * doc/posix-functions/iswspace_l.texi: Likewise.
50272         * doc/posix-functions/iswupper_l.texi: Likewise.
50273         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50274         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
50275         * doc/posix-functions/open_wmemstream.texi: Likewise.
50276         * doc/posix-functions/swscanf.texi: Likewise.
50277         * doc/posix-functions/towctrans_l.texi: Likewise.
50278         * doc/posix-functions/towlower.texi: Likewise.
50279         * doc/posix-functions/towlower_l.texi: Likewise.
50280         * doc/posix-functions/towupper.texi: Likewise.
50281         * doc/posix-functions/towupper_l.texi: Likewise.
50282         * doc/posix-functions/vfwprintf.texi: Likewise.
50283         * doc/posix-functions/vfwscanf.texi: Likewise.
50284         * doc/posix-functions/vswscanf.texi: Likewise.
50285         * doc/posix-functions/vwprintf.texi: Likewise.
50286         * doc/posix-functions/vwscanf.texi: Likewise.
50287         * doc/posix-functions/wcpcpy.texi: Likewise.
50288         * doc/posix-functions/wcpncpy.texi: Likewise.
50289         * doc/posix-functions/wcscasecmp.texi: Likewise.
50290         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
50291         * doc/posix-functions/wcscoll_l.texi: Likewise.
50292         * doc/posix-functions/wcsdup.texi: Likewise.
50293         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50294         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
50295         * doc/posix-functions/wcsnlen.texi: Likewise.
50296         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50297         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50298         * doc/posix-functions/wctrans_l.texi: Likewise.
50299         * doc/posix-functions/wctype_l.texi: Likewise.
50300         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
50301         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
50302         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
50303         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
50304         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
50305         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
50306         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
50307         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
50308         * doc/glibc-functions/wcschrnul.texi: Likewise.
50309         * doc/glibc-functions/wcsftime_l.texi: Likewise.
50310         * doc/glibc-functions/wcstod_l.texi: Likewise.
50311         * doc/glibc-functions/wcstof_l.texi: Likewise.
50312         * doc/glibc-functions/wcstol_l.texi: Likewise.
50313         * doc/glibc-functions/wcstold_l.texi: Likewise.
50314         * doc/glibc-functions/wcstoll_l.texi: Likewise.
50315         * doc/glibc-functions/wcstoq.texi: Likewise.
50316         * doc/glibc-functions/wcstoul_l.texi: Likewise.
50317         * doc/glibc-functions/wcstoull_l.texi: Likewise.
50318         * doc/glibc-functions/wcstouq.texi: Likewise.
50319         * doc/glibc-functions/wmempcpy.texi: Likewise.
50320
50321 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
50322             Eric Blake  <ebb9@byu.net>
50323             Paolo Bonzini  <bonzini@gnu.org>
50324             Bruno Haible  <bruno@clisp.org>
50325
50326         Make c-stack work on Haiku.
50327         * lib/c-stack.c (SA_ONSTACK): Define fallback.
50328         (c_stack_action): Use SA_ONSTACK flag.
50329
50330 2008-12-22  Bruno Haible  <bruno@clisp.org>
50331
50332         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
50333
50334 2008-12-22  Bruno Haible  <bruno@clisp.org>
50335
50336         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
50337         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
50338         being overridden.
50339         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
50340         New macros.
50341         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
50342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
50343         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50344         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50345
50346 2008-12-22  Bruno Haible  <bruno@clisp.org>
50347
50348         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50349         from test code.
50350
50351 2008-12-22  Eric Blake  <ebb9@byu.net>
50352
50353         Avoid gcc warnings on cygwin.
50354         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50355         Avoid unused variable.
50356         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50357         Likewise.
50358
50359 2008-12-22  Bruno Haible  <bruno@clisp.org>
50360
50361         Remove HAVE_MBRTOWC conditionals.
50362         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50363         (mbscasecmp): Assume mbrtowc function.
50364         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50365         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50366         * lib/mbschr.c: Include mbuiter.h unconditionally.
50367         (mbschr): Assume mbrtowc function.
50368         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50369         (mbscspn): Assume mbrtowc function.
50370         * lib/mbslen.c: Include mbuiter.h unconditionally.
50371         (mbslen): Assume mbrtowc function.
50372         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50373         (mbsncasecmp): Assume mbrtowc function.
50374         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50375         (mbsnlen): Assume mbrtowc function.
50376         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50377         (mbspbrk): Assume mbrtowc function.
50378         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50379         (mbspcasecmp): Assume mbrtowc function.
50380         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50381         (mbsrchr): Assume mbrtowc function.
50382         * lib/mbssep.c: Include mbuiter.h unconditionally.
50383         (mbssep): Assume mbrtowc function.
50384         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50385         (mbsspn): Assume mbrtowc function.
50386         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50387         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50388         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50389         (mbstok_r): Assume mbrtowc function.
50390         * lib/propername.c: Include mbuiter.h unconditionally.
50391         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50392         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50393         (trim2): Assume mbrtowc function.
50394         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50395         (mbsnwidth): Assume mbrtowc function.
50396         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50397         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50398         fallback definitions.
50399         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50400
50401 2008-12-22  Bruno Haible  <bruno@clisp.org>
50402
50403         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
50404
50405 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
50406
50407         * modules/regex: Request emulations for the mb*/wc* functions we need.
50408         * m4/regex.m4: Don't look for those functions here.
50409         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
50410
50411 2008-12-22  Bruno Haible  <bruno@clisp.org>
50412
50413         * modules/fnmatch (Depends-on): Remove duplicated dependency.
50414
50415 2008-12-21  Bruno Haible  <bruno@clisp.org>
50416
50417         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
50418         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
50419         (Include): Remove conditionalization.
50420         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
50421         (Include): Remove conditionalization.
50422         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
50423         (Include): Remove conditionalization.
50424         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
50425         * m4/mbfile.m4 (gl_MBFILE): Likewise.
50426         * NEWS: Mention the change.
50427         Reported by Alan Hourihane <alanh@fairlite.co.uk>
50428         via Sergey Poznyakoff <gray@gnu.org.ua>.
50429
50430 2008-12-21  Bruno Haible  <bruno@clisp.org>
50431
50432         * MODULES.html.sh (Extended multibyte and wide character utilities
50433         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
50434         wcrtomb, wcsrtombs.
50435         (Support for systems lacking POSIX:2008): Add accept, bind, close,
50436         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
50437         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
50438         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
50439
50440 2008-12-21  Bruno Haible  <bruno@clisp.org>
50441
50442         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
50443
50444 2008-12-21  Bruno Haible  <bruno@clisp.org>
50445
50446         * modules/wcsnrtombs-tests: New file.
50447         * tests/test-wcsnrtombs1.sh: New file.
50448         * tests/test-wcsnrtombs2.sh: New file.
50449         * tests/test-wcsnrtombs3.sh: New file.
50450         * tests/test-wcsnrtombs4.sh: New file.
50451         * tests/test-wcsnrtombs.c: New file.
50452
50453         New module 'wcsnrtombs'.
50454         * lib/wchar.in.h (wcsnrtombs): New declaration.
50455         * lib/wcsnrtombs.c: New file.
50456         * lib/wcsrtombs-state.c: New file.
50457         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
50458         (internal_state): Remove variable.
50459         * m4/wcsnrtombs.m4: New file.
50460         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
50461         compilation units.
50462         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
50463         HAVE_WCSNRTOMBS.
50464         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
50465         HAVE_WCSNRTOMBS.
50466         * modules/wcsnrtombs: New file.
50467         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
50468         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
50469
50470 2008-12-21  Bruno Haible  <bruno@clisp.org>
50471
50472         * modules/wcsrtombs-tests: New file.
50473         * tests/test-wcsrtombs1.sh: New file.
50474         * tests/test-wcsrtombs2.sh: New file.
50475         * tests/test-wcsrtombs3.sh: New file.
50476         * tests/test-wcsrtombs4.sh: New file.
50477         * tests/test-wcsrtombs.c: New file.
50478
50479         New module 'wcsrtombs'.
50480         * lib/wchar.in.h (wcsrtombs): New declaration.
50481         * lib/wcsrtombs.c: New file.
50482         * m4/wcsrtombs.m4: New file.
50483         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
50484         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50485         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
50486         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50487         * modules/wcsrtombs: New file.
50488         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
50489         bugs.
50490
50491 2008-12-21  Bruno Haible  <bruno@clisp.org>
50492
50493         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
50494         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
50495         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
50496         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
50497         if not correct.
50498         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
50499         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
50500         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50501         m4/locale-zh.m4, m4/codeset.m4.
50502         * doc/posix-functions/wcrtomb.texi: Document the bug.
50503
50504 2008-12-21  Bruno Haible  <bruno@clisp.org>
50505
50506         Work around a btowc() bug on IRIX 6.5.
50507         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
50508         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
50509         REPLACE_WTOBC if not.
50510         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
50511         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
50512         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
50513
50514 2008-12-21  Bruno Haible  <bruno@clisp.org>
50515
50516         * modules/wcrtomb-tests: New file.
50517         * tests/test-wcrtomb.sh: New file.
50518         * tests/test-wcrtomb.c: New file.
50519
50520         New module 'wcrtomb'.
50521         * lib/wchar.in.h (wcrtomb): New declaration.
50522         * lib/wcrtomb.c: New file.
50523         * m4/wcrtomb.m4: New file.
50524         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
50525         HAVE_WCRTOMB.
50526         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
50527         HAVE_WCRTOMB.
50528         * modules/wcrtomb: New file.
50529         * doc/posix-functions/wcrtomb.texi: Mention the new module.
50530
50531 2008-12-21  Bruno Haible  <bruno@clisp.org>
50532
50533         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
50534         * modules/mbsrtowcs (Files): Likewise.
50535         * modules/wctob (Files): Likewise.
50536         * modules/c-strcase-tests (Files): Likewise.
50537         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
50538         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
50539         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
50540         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
50541         * modules/vasnprintf-posix-tests (Files): Likewise.
50542
50543 2008-12-21  William Pursell  <bill.pursell@gmail.com>
50544
50545         gitlog-to-changelog: pass all command-line arguments to git-log
50546         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
50547         it is sometimes convenient to filter the commits in various ways.
50548         gitlog-to-changelog only allows --since to specify a start date,
50549         but git-log itself supports many other filtering mechanisms.
50550         At the moment, I want to filter by branch name.  Rather than
50551         adding a --branch option to gitlog-to-changelog, it seems more
50552         flexible to simply pass all options directly to git-log and let
50553         git do the work.  Notice that this effectively makes --since a
50554         redundant option for gitlog-to-changelog, but removing it would
50555         require current usage to change since calls would then require
50556         an additional '--'.
50557
50558 2008-12-21  Bruno Haible  <bruno@clisp.org>
50559
50560         * modules/mbsnrtowcs-tests: New file.
50561         * tests/test-mbsnrtowcs1.sh: New file.
50562         * tests/test-mbsnrtowcs2.sh: New file.
50563         * tests/test-mbsnrtowcs3.sh: New file.
50564         * tests/test-mbsnrtowcs4.sh: New file.
50565         * tests/test-mbsnrtowcs.c: New file.
50566
50567         New module 'mbsnrtowcs'.
50568         * lib/wchar.in.h (mbsnrtowcs): New declaration.
50569         * lib/mbsnrtowcs.c: New file.
50570         * lib/mbsrtowcs-state.c: New file.
50571         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
50572         (internal_state): Remove variable.
50573         * m4/mbsnrtowcs.m4: New file.
50574         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
50575         compilation units.
50576         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
50577         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50578         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
50579         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50580         * modules/mbsnrtowcs: New file.
50581         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
50582         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
50583         portability problem.
50584
50585 2008-12-21  Bruno Haible  <bruno@clisp.org>
50586
50587         Work around mbsrtowcs bug.
50588         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
50589         (gl_FUNC_MBSRTOWCS): Invoke it.
50590         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50591         m4/locale-zh.m4.
50592         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
50593
50594 2008-12-21  Bruno Haible  <bruno@clisp.org>
50595
50596         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
50597
50598 2008-12-21  Bruno Haible  <bruno@clisp.org>
50599
50600         Update doc for AIX.
50601         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
50602         16-bit wchar_t type.
50603         * doc/posix-functions/btowc.texi: Likewise.
50604         * doc/posix-functions/fgetwc.texi: Likewise.
50605         * doc/posix-functions/fgetws.texi: Likewise.
50606         * doc/posix-functions/fputwc.texi: Likewise.
50607         * doc/posix-functions/fputws.texi: Likewise.
50608         * doc/posix-functions/fwide.texi: Likewise.
50609         * doc/posix-functions/fwprintf.texi: Likewise.
50610         * doc/posix-functions/fwscanf.texi: Likewise.
50611         * doc/posix-functions/getwchar.texi: Likewise.
50612         * doc/posix-functions/getwc.texi: Likewise.
50613         * doc/posix-functions/iswalnum.texi: Likewise.
50614         * doc/posix-functions/iswalpha.texi: Likewise.
50615         * doc/posix-functions/iswblank.texi: Likewise.
50616         * doc/posix-functions/iswcntrl.texi: Likewise.
50617         * doc/posix-functions/iswctype.texi: Likewise.
50618         * doc/posix-functions/iswdigit.texi: Likewise.
50619         * doc/posix-functions/iswgraph.texi: Likewise.
50620         * doc/posix-functions/iswlower.texi: Likewise.
50621         * doc/posix-functions/iswprint.texi: Likewise.
50622         * doc/posix-functions/iswpunct.texi: Likewise.
50623         * doc/posix-functions/iswspace.texi: Likewise.
50624         * doc/posix-functions/iswupper.texi: Likewise.
50625         * doc/posix-functions/iswxdigit.texi: Likewise.
50626         * doc/posix-functions/mbrtowc.texi: Likewise.
50627         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50628         * doc/posix-functions/mbstowcs.texi: Likewise.
50629         * doc/posix-functions/mbtowc.texi: Likewise.
50630         * doc/posix-functions/putwchar.texi: Likewise.
50631         * doc/posix-functions/putwc.texi: Likewise.
50632         * doc/posix-functions/swprintf.texi: Likewise.
50633         * doc/posix-functions/tolower.texi: Likewise.
50634         * doc/posix-functions/toupper.texi: Likewise.
50635         * doc/posix-functions/towctrans.texi: Likewise.
50636         * doc/posix-functions/ungetwc.texi: Likewise.
50637         * doc/posix-functions/vswprintf.texi: Likewise.
50638         * doc/posix-functions/wcrtomb.texi: Likewise.
50639         * doc/posix-functions/wcscat.texi: Likewise.
50640         * doc/posix-functions/wcschr.texi: Likewise.
50641         * doc/posix-functions/wcscmp.texi: Likewise.
50642         * doc/posix-functions/wcscoll.texi: Likewise.
50643         * doc/posix-functions/wcscpy.texi: Likewise.
50644         * doc/posix-functions/wcscspn.texi: Likewise.
50645         * doc/posix-functions/wcsftime.texi: Likewise.
50646         * doc/posix-functions/wcslen.texi: Likewise.
50647         * doc/posix-functions/wcsncat.texi: Likewise.
50648         * doc/posix-functions/wcsncmp.texi: Likewise.
50649         * doc/posix-functions/wcsncpy.texi: Likewise.
50650         * doc/posix-functions/wcspbrk.texi: Likewise.
50651         * doc/posix-functions/wcsrchr.texi: Likewise.
50652         * doc/posix-functions/wcsrtombs.texi: Likewise.
50653         * doc/posix-functions/wcsspn.texi: Likewise.
50654         * doc/posix-functions/wcsstr.texi: Likewise.
50655         * doc/posix-functions/wcstod.texi: Likewise.
50656         * doc/posix-functions/wcstof.texi: Likewise.
50657         * doc/posix-functions/wcstoimax.texi: Likewise.
50658         * doc/posix-functions/wcstok.texi: Likewise.
50659         * doc/posix-functions/wcstold.texi: Likewise.
50660         * doc/posix-functions/wcstoll.texi: Likewise.
50661         * doc/posix-functions/wcstol.texi: Likewise.
50662         * doc/posix-functions/wcstombs.texi: Likewise.
50663         * doc/posix-functions/wcstoull.texi: Likewise.
50664         * doc/posix-functions/wcstoul.texi: Likewise.
50665         * doc/posix-functions/wcstoumax.texi: Likewise.
50666         * doc/posix-functions/wcswidth.texi: Likewise.
50667         * doc/posix-functions/wcsxfrm.texi: Likewise.
50668         * doc/posix-functions/wctob.texi: Likewise.
50669         * doc/posix-functions/wctomb.texi: Likewise.
50670         * doc/posix-functions/wctrans.texi: Likewise.
50671         * doc/posix-functions/wctype.texi: Likewise.
50672         * doc/posix-functions/wcwidth.texi: Likewise.
50673         * doc/posix-functions/wmemchr.texi: Likewise.
50674         * doc/posix-functions/wmemcmp.texi: Likewise.
50675         * doc/posix-functions/wmemcpy.texi: Likewise.
50676         * doc/posix-functions/wmemmove.texi: Likewise.
50677         * doc/posix-functions/wmemset.texi: Likewise.
50678         * doc/posix-functions/wprintf.texi: Likewise.
50679         * doc/posix-functions/wscanf.texi: Likewise.
50680
50681 2008-12-21  Bruno Haible  <bruno@clisp.org>
50682
50683         Update doc for HP-UX 11.11.
50684         * doc/posix-functions/btowc.texi: Clarify that the function is missing
50685         in HP-UX version 11.00, not in all versions of HP-UX 11.
50686         * doc/posix-functions/fwide.texi: Likewise.
50687         * doc/posix-functions/fwprintf.texi: Likewise.
50688         * doc/posix-functions/fwscanf.texi: Likewise.
50689         * doc/posix-functions/inet_ntop.texi: Likewise.
50690         * doc/posix-functions/inet_pton.texi: Likewise.
50691         * doc/posix-functions/mbrlen.texi: Likewise.
50692         * doc/posix-functions/mbrtowc.texi: Likewise.
50693         * doc/posix-functions/mbsinit.texi: Likewise.
50694         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50695         * doc/posix-functions/swprintf.texi: Likewise.
50696         * doc/posix-functions/swscanf.texi: Likewise.
50697         * doc/posix-functions/towctrans.texi: Likewise.
50698         * doc/posix-functions/vfwprintf.texi: Likewise.
50699         * doc/posix-functions/vswprintf.texi: Likewise.
50700         * doc/posix-functions/vwprintf.texi: Likewise.
50701         * doc/posix-functions/wcrtomb.texi: Likewise.
50702         * doc/posix-functions/wcsrtombs.texi: Likewise.
50703         * doc/posix-functions/wcsstr.texi: Likewise.
50704         * doc/posix-functions/wctob.texi: Likewise.
50705         * doc/posix-functions/wctrans.texi: Likewise.
50706         * doc/posix-functions/wmemchr.texi: Likewise.
50707         * doc/posix-functions/wmemcmp.texi: Likewise.
50708         * doc/posix-functions/wmemcpy.texi: Likewise.
50709         * doc/posix-functions/wmemmove.texi: Likewise.
50710         * doc/posix-functions/wmemset.texi: Likewise.
50711         * doc/posix-functions/wprintf.texi: Likewise.
50712         * doc/posix-functions/wscanf.texi: Likewise.
50713
50714 2008-12-21  Bruno Haible  <bruno@clisp.org>
50715
50716         Work around a portability problem.
50717         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
50718         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
50719
50720 2008-12-20  Bruno Haible  <bruno@clisp.org>
50721
50722         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
50723         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
50724         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
50725         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
50726         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
50727
50728         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
50729         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
50730         set.
50731         (GNULIB_defined_mbstate_t): New macro.
50732         (mbsinit): Redefine if REPLACE_MBSINIT is set.
50733         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
50734         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
50735         reuses the system's mbrtowc function but works around the bugs.
50736         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
50737         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
50738         macros.
50739         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
50740         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
50741         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
50742         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
50743         REPLACE_MBSINIT if mbsinit needs to be overridden.
50744         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
50745         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50746         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
50747         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50748         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50749         m4/locale-zh.m4.
50750         (Depends): Add mbsinit.
50751         * modules/mbsinit (Depends): Add mbrtowc.
50752         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
50753
50754 2008-12-20  Bruno Haible  <bruno@clisp.org>
50755
50756         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
50757         so that there are no conversion errors on AIX.
50758         * tests/test-mbsrtowcs.c (main): LIkewise.
50759
50760 2008-12-20  Bruno Haible  <bruno@clisp.org>
50761
50762         Work around wctob bug on Solaris <= 9.
50763         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
50764         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
50765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
50766         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50767         * modules/wctob (Files): Add m4/locale-fr.m4.
50768         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50769
50770 2008-12-20  Bruno Haible  <bruno@clisp.org>
50771
50772         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50773         /dev/null.
50774         * tests/test-select-in.sh: Likewise.
50775         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50776
50777 2008-12-20  Bruno Haible  <bruno@clisp.org>
50778
50779         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50780         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50781         Cygwin 1.5.x.
50782
50783 2008-12-20  Bruno Haible  <bruno@clisp.org>
50784
50785         Ensure mbstate_t is defined on HP-UX 11.11.
50786         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50787         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50788         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50789         AC_USE_SYSTEM_EXTENSIONS.
50790         * modules/fnmatch (Depends-on): Add extensions.
50791         * modules/mbrlen (Depends-on): Likewise.
50792         * modules/mbrtowc (Depends-on): Likewise.
50793         * modules/mbsinit (Depends-on): Likewise.
50794         * modules/mbsrtowcs (Depends-on): Likewise.
50795         * modules/mbswidth (Depends-on): Likewise.
50796         * modules/quotearg (Depends-on): Likewise.
50797         * modules/strftime (Depends-on): Likewise.
50798
50799 2008-12-20  Bruno Haible  <bruno@clisp.org>
50800
50801         Ensure wctob is declared on IRIX 6.5.
50802         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50803         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50804         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50805         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50806         of HAVE_WCTOB.
50807         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50808         HAVE_WCTOB.
50809         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50810
50811 2008-12-19  Bruno Haible  <bruno@clisp.org>
50812
50813         * modules/mbsrtowcs-tests: New file.
50814         * tests/test-mbsrtowcs1.sh: New file.
50815         * tests/test-mbsrtowcs2.sh: New file.
50816         * tests/test-mbsrtowcs3.sh: New file.
50817         * tests/test-mbsrtowcs4.sh: New file.
50818         * tests/test-mbsrtowcs.c: New file.
50819
50820         New module 'mbsrtowcs'.
50821         * lib/wchar.in.h (mbsrtowcs): New declaration.
50822         * lib/mbsrtowcs.c: New file.
50823         * m4/mbsrtowcs.m4: New file.
50824         * modules/mbsrtowcs: New file.
50825         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50826         HAVE_MBSRTOWCS.
50827         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50828         HAVE_MBSRTOWCS.
50829         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50830
50831 2008-12-19  Bruno Haible  <bruno@clisp.org>
50832
50833         New module 'mbrlen'.
50834         * lib/wchar.in.h (mbrlen): New declaration.
50835         * lib/mbrlen.c: New file.
50836         * m4/mbrlen.m4: New file.
50837         * modules/mbrlen: New file.
50838         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50839         HAVE_MBRLEN.
50840         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50841         HAVE_MBRLEN.
50842         * doc/posix-functions/mbrlen.texi: Document the new module.
50843
50844 2008-12-19  Bruno Haible  <bruno@clisp.org>
50845
50846         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50847         * modules/mbrtowc (Depends-on): Add verify.
50848         Suggested by Paul Eggert.
50849
50850 2008-12-18  Bruno Haible  <bruno@clisp.org>
50851
50852         * modules/mbsinit-tests: New file.
50853         * tests/test-mbsinit.sh: New file.
50854         * tests/test-mbsinit.c: New file.
50855
50856 2008-12-18  Bruno Haible  <bruno@clisp.org>
50857
50858         * modules/mbrtowc-tests: New file.
50859         * tests/test-mbrtowc1.sh: New file.
50860         * tests/test-mbrtowc2.sh: New file.
50861         * tests/test-mbrtowc3.sh: New file.
50862         * tests/test-mbrtowc4.sh: New file.
50863         * tests/test-mbrtowc.c: New file.
50864
50865         New module 'mbrtowc'.
50866         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50867         mbsinit and mbrtowc.
50868         (mbrtowc): New declaration.
50869         * lib/mbrtowc.c: New file.
50870         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50871         * modules/mbrtowc: New file.
50872         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50873         HAVE_MBRTOWC.
50874         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50875         HAVE_MBRTOWC.
50876         * doc/posix-functions/mbrtowc.texi: Document the new module.
50877
50878 2008-12-18  Bruno Haible  <bruno@clisp.org>
50879
50880         New module 'wctob'.
50881         * lib/wchar.in.h (wctob): New declaration.
50882         * lib/wctob.c: New file.
50883         * m4/wctob.m4: New file.
50884         * modules/wctob: New file.
50885         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50886         HAVE_WCTOB.
50887         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50888         * doc/posix-functions/wctob.texi: Document the new module.
50889
50890 2008-12-18  Bruno Haible  <bruno@clisp.org>
50891
50892         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50893         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50894
50895 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50896
50897         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50898         G. Christensen" <tgc@jupiterrise.com>.
50899
50900         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50901         G. Christensen" <tgc@jupiterrise.com>.
50902
50903         * lib/flock.c: Need to include string.h.  Reported by "Tom
50904         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50905         <ebb9@byu.net>.
50906
50907 2008-12-18  Bruno Haible  <bruno@clisp.org>
50908
50909         * m4/locale-ja.m4: New file, from GNU gettext.
50910
50911 2008-12-17  Bruno Haible  <bruno@clisp.org>
50912
50913         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50914         Suggested by Eric Blake.
50915
50916 2008-12-17  Bruno Haible  <bruno@clisp.org>
50917
50918         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50919
50920 2008-12-17  Bruno Haible  <bruno@clisp.org>
50921
50922         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50923         * modules/mbsinit (Depends-on): Add verify.
50924         Suggested by Paul Eggert.
50925
50926 2008-12-17  Bruno Haible  <bruno@clisp.org>
50927
50928         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50929         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50930         gl_FUNC_MBRTOWC.
50931         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50932         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50933         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50934         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50935         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50936         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50937         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
50938         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
50939         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
50940         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
50941         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
50942         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
50943         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
50944         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
50945         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
50946         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50947         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
50948         * modules/trim (configure.ac): Likewise.
50949
50950 2008-12-17  Bruno Haible  <bruno@clisp.org>
50951
50952         * modules/btowc-tests: New file.
50953         * tests/test-btowc1.sh: New file.
50954         * tests/test-btowc2.sh: New file.
50955         * tests/test-btowc.c: New file.
50956
50957         New module 'btowc'.
50958         * lib/wchar.in.h (btowc): New declaration.
50959         * lib/btowc.c: New file.
50960         * m4/btowc.m4: New file.
50961         * modules/btowc: New file.
50962         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
50963         HAVE_BTOWC.
50964         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
50965         * doc/posix-functions/btowc.texi: Document the new module.
50966
50967 2008-12-17  Bruno Haible  <bruno@clisp.org>
50968
50969         New module 'mbsinit'.
50970         * lib/wchar.in.h (mbsinit): New declaration.
50971         * lib/mbsinit.c: New file.
50972         * m4/mbsinit.m4: New file.
50973         * modules/mbsinit: New file.
50974         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
50975         HAVE_MBSINIT.
50976         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
50977         HAVE_MBSINIT.
50978         * doc/posix-functions/mbsinit.texi: Document the new module.
50979
50980 2008-12-16  Bruno Haible  <bruno@clisp.org>
50981
50982         * lib/unistd.in.h: Add comment.
50983         * tests/test-environ.c: Don't include <stdlib.h>.
50984
50985 2008-12-16  Bruno Haible  <bruno@clisp.org>
50986
50987         * lib/parse-duration.h (parse_duration): Document return value
50988         convention.
50989         * lib/parse-duration.c: Include specification header first. Add
50990         comments.
50991         (_): Remove macro.
50992         (parse_year_month_day, parse_hour_minute_second): Move side effects
50993         outside of strchr call.
50994         (parse_non_iso8601): Move side effects outside of isspace call.
50995         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50996         call.
50997
50998 2008-12-16  Bruno Haible  <bruno@clisp.org>
50999
51000         * tests/test-parse-duration.sh: Produce no output when the test
51001         succeeds.
51002
51003 2008-12-16  Bruno Haible  <bruno@clisp.org>
51004
51005         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
51006         expressions.
51007
51008 2008-12-15  Bruno Haible  <bruno@clisp.org>
51009
51010         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
51011         * doc/glibc-functions/flistxattr.texi: Likewise.
51012         * doc/glibc-functions/fopencookie.texi: Likewise.
51013         * doc/glibc-functions/fremovexattr.texi: Likewise.
51014         * doc/glibc-functions/fsetxattr.texi: Likewise.
51015         * doc/glibc-functions/getxattr.texi: Likewise.
51016         * doc/glibc-functions/lgetxattr.texi: Likewise.
51017         * doc/glibc-functions/listxattr.texi: Likewise.
51018         * doc/glibc-functions/llistxattr.texi: Likewise.
51019         * doc/glibc-functions/lremovexattr.texi: Likewise.
51020         * doc/glibc-functions/lsetxattr.texi: Likewise.
51021         * doc/glibc-functions/removexattr.texi: Likewise.
51022         * doc/glibc-functions/setxattr.texi: Likewise.
51023         * doc/posix-functions/open_memstream.texi: Likewise.
51024
51025 2008-12-15  Eric Blake  <ebb9@byu.net>
51026
51027         Update doc for cygwin 1.7.
51028         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
51029         functions.
51030         * doc/posix-functions/fchmodat.texi: Likewise.
51031         * doc/posix-functions/fchownat.texi: Likewise.
51032         * doc/posix-functions/fdopendir.texi: Likewise.
51033         * doc/posix-functions/fmemopen.texi: Likewise.
51034         * doc/posix-functions/freeaddrinfo.texi: Likewise.
51035         * doc/posix-functions/fstatat.texi: Likewise.
51036         * doc/posix-functions/futimens.texi: Likewise.
51037         * doc/posix-functions/gai_strerror.texi: Likewise.
51038         * doc/posix-functions/getaddrinfo.texi: Likewise.
51039         * doc/posix-functions/getnameinfo.texi: Likewise.
51040         * doc/posix-functions/if_freenameindex.texi: Likewise.
51041         * doc/posix-functions/if_indextoname.texi: Likewise.
51042         * doc/posix-functions/if_nameindex.texi: Likewise.
51043         * doc/posix-functions/if_nametoindex.texi: Likewise.
51044         * doc/posix-functions/insque.texi: Likewise.
51045         * doc/posix-functions/linkat.texi: Likewise.
51046         * doc/posix-functions/llrint.texi: Likewise.
51047         * doc/posix-functions/llrintf.texi: Likewise.
51048         * doc/posix-functions/llrintl.texi: Likewise.
51049         * doc/posix-functions/lockf.texi: Likewise.
51050         * doc/posix-functions/lrintl.texi: Likewise.
51051         * doc/posix-functions/mkdirat.texi: Likewise.
51052         * doc/posix-functions/mkfifoat.texi: Likewise.
51053         * doc/posix-functions/mknodat.texi: Likewise.
51054         * doc/posix-functions/mq_close.texi: Likewise.
51055         * doc/posix-functions/mq_getattr.texi: Likewise.
51056         * doc/posix-functions/mq_notify.texi: Likewise.
51057         * doc/posix-functions/mq_open.texi: Likewise.
51058         * doc/posix-functions/mq_receive.texi: Likewise.
51059         * doc/posix-functions/mq_send.texi: Likewise.
51060         * doc/posix-functions/mq_setattr.texi: Likewise.
51061         * doc/posix-functions/mq_timedreceive.texi: Likewise.
51062         * doc/posix-functions/mq_timedsend.texi: Likewise.
51063         * doc/posix-functions/mq_unlink.texi: Likewise.
51064         * doc/posix-functions/open_memstream.texi: Likewise.
51065         * doc/posix-functions/openat.texi: Likewise.
51066         * doc/posix-functions/posix_fadvise.texi: Likewise.
51067         * doc/posix-functions/posix_fallocate.texi: Likewise.
51068         * doc/posix-functions/posix_madvise.texi: Likewise.
51069         * doc/posix-functions/posix_memalign.texi: Likewise.
51070         * doc/posix-functions/posix_openpt.texi: Likewise.
51071         * doc/posix-functions/readlinkat.texi: Likewise.
51072         * doc/posix-functions/remque.texi: Likewise.
51073         * doc/posix-functions/renameat.texi: Likewise.
51074         * doc/posix-functions/rintl.texi: Likewise.
51075         * doc/posix-functions/sem_unlink.texi: Likewise.
51076         * doc/posix-functions/shm_open.texi: Likewise.
51077         * doc/posix-functions/shm_unlink.texi: Likewise.
51078         * doc/posix-functions/signgam.texi: Likewise.
51079         * doc/posix-functions/sigset.texi: Likewise.
51080         * doc/posix-functions/stpcpy.texi: Likewise.
51081         * doc/posix-functions/stpncpy.texi: Likewise.
51082         * doc/posix-functions/strerror.texi: Likewise.
51083         * doc/posix-functions/strtod.texi: Likewise.
51084         * doc/posix-functions/symlinkat.texi: Likewise.
51085         * doc/posix-functions/unlinkat.texi: Likewise.
51086         * doc/posix-functions/utimensat.texi: Likewise.
51087         * doc/glibc-functions/bindresvport.texi: Likewise.
51088         * doc/glibc-functions/dn_expand.texi: Likewise.
51089         * doc/glibc-functions/exp10.texi: Likewise.
51090         * doc/glibc-functions/exp10f.texi: Likewise.
51091         * doc/glibc-functions/fgetxattr.texi: Likewise.
51092         * doc/glibc-functions/flistxattr.texi: Likewise.
51093         * doc/glibc-functions/fopencookie.texi: Likewise.
51094         * doc/glibc-functions/freeifaddrs.texi: Likewise.
51095         * doc/glibc-functions/fremovexattr.texi: Likewise.
51096         * doc/glibc-functions/fsetxattr.texi: Likewise.
51097         * doc/glibc-functions/getifaddrs.texi: Likewise.
51098         * doc/glibc-functions/getxattr.texi: Likewise.
51099         * doc/glibc-functions/lgetxattr.texi: Likewise.
51100         * doc/glibc-functions/listxattr.texi: Likewise.
51101         * doc/glibc-functions/llistxattr.texi: Likewise.
51102         * doc/glibc-functions/lremovexattr.texi: Likewise.
51103         * doc/glibc-functions/lsetxattr.texi: Likewise.
51104         * doc/glibc-functions/pow10.texi: Likewise.
51105         * doc/glibc-functions/pow10f.texi: Likewise.
51106         * doc/glibc-functions/rcmd_af.texi: Likewise.
51107         * doc/glibc-functions/removexattr.texi: Likewise.
51108         * doc/glibc-functions/res_init.texi: Likewise.
51109         * doc/glibc-functions/res_mkquery.texi: Likewise.
51110         * doc/glibc-functions/res_query.texi: Likewise.
51111         * doc/glibc-functions/res_querydomain.texi: Likewise.
51112         * doc/glibc-functions/res_send.texi: Likewise.
51113         * doc/glibc-functions/rresvport_af.texi: Likewise.
51114         * doc/glibc-functions/setxattr.texi: Likewise.
51115         * doc/glibc-functions/strcasestr.texi: Likewise.
51116
51117 2008-12-15  Bruno Haible  <bruno@clisp.org>
51118
51119         Fix compilation error on OSF/1 4.0.
51120         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
51121         <sys/time.h>, simply delegate to the system header.
51122         Reported by Daniel Richard G. <oss@teragram.com>.
51123
51124 2008-12-15  Bruno Haible  <bruno@clisp.org>
51125
51126         * doc/posix-functions/openat.texi: Mention the 'openat' module.
51127         * doc/posix-functions/fchmodat.texi: Likewise.
51128         * doc/posix-functions/fchownat.texi: Likewise.
51129         * doc/posix-functions/fdopendir.texi: Likewise.
51130         * doc/posix-functions/fstatat.texi: Likewise.
51131         * doc/posix-functions/mkdirat.texi: Likewise.
51132         * doc/posix-functions/unlinkat.texi: Likewise.
51133
51134 2008-12-14  Bruno Haible  <bruno@clisp.org>
51135
51136         Update doc for POSIX:2008.
51137         * doc/posix-functions/faccessat.texi: New file.
51138         * doc/posix-functions/fchmodat.texi: New file.
51139         * doc/posix-functions/fchownat.texi: New file.
51140         * doc/posix-functions/fdopendir.texi: New file.
51141         * doc/posix-functions/fstatat.texi: New file.
51142         * doc/posix-functions/futimens.texi: New file.
51143         * doc/posix-functions/linkat.texi: New file.
51144         * doc/posix-functions/mkdirat.texi: New file.
51145         * doc/posix-functions/mkfifoat.texi: New file.
51146         * doc/posix-functions/mknodat.texi: New file.
51147         * doc/posix-functions/open_wmemstream.texi: New file.
51148         * doc/posix-functions/openat.texi: New file.
51149         * doc/posix-functions/psiginfo.texi: New file.
51150         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
51151         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
51152         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
51153         * doc/posix-functions/readlinkat.texi: New file.
51154         * doc/posix-functions/renameat.texi: New file.
51155         * doc/posix-functions/strerror_l.texi: New file.
51156         * doc/posix-functions/symlinkat.texi: New file.
51157         * doc/posix-functions/unlinkat.texi: New file.
51158         * doc/posix-functions/utimensat.texi: New file.
51159         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51160
51161 2008-12-14  Bruno Haible  <bruno@clisp.org>
51162
51163         Update doc for POSIX:2008.
51164         * doc/posix-functions/alphasort.texi: Renamed from
51165         doc/glibc-functions/alphasort.texi.
51166         * doc/posix-functions/dirfd.texi: Renamed from
51167         doc/glibc-functions/dirfd.texi.
51168         * doc/posix-functions/dprintf.texi: Renamed from
51169         doc/glibc-functions/dprintf.texi.
51170         * doc/posix-functions/duplocale.texi: Renamed from
51171         doc/glibc-functions/duplocale.texi.
51172         * doc/posix-functions/fexecve.texi: Renamed from
51173         doc/glibc-functions/fexecve.texi.
51174         * doc/posix-functions/fmemopen.texi: Renamed from
51175         doc/glibc-functions/fmemopen.texi.
51176         * doc/posix-functions/freelocale.texi: Renamed from
51177         doc/glibc-functions/freelocale.texi.
51178         * doc/posix-functions/getdate_err.texi: Renamed from
51179         doc/glibc-functions/getdate_err.texi.
51180         * doc/posix-functions/isalnum_l.texi: Renamed from
51181         doc/glibc-functions/isalnum_l.texi.
51182         * doc/posix-functions/isalpha_l.texi: Renamed from
51183         doc/glibc-functions/isalpha_l.texi.
51184         * doc/posix-functions/isblank_l.texi: Renamed from
51185         doc/glibc-functions/isblank_l.texi.
51186         * doc/posix-functions/iscntrl_l.texi: Renamed from
51187         doc/glibc-functions/iscntrl_l.texi.
51188         * doc/posix-functions/isdigit_l.texi: Renamed from
51189         doc/glibc-functions/isdigit_l.texi.
51190         * doc/posix-functions/isgraph_l.texi: Renamed from
51191         doc/glibc-functions/isgraph_l.texi.
51192         * doc/posix-functions/islower_l.texi: Renamed from
51193         doc/glibc-functions/islower_l.texi.
51194         * doc/posix-functions/isprint_l.texi: Renamed from
51195         doc/glibc-functions/isprint_l.texi.
51196         * doc/posix-functions/ispunct_l.texi: Renamed from
51197         doc/glibc-functions/ispunct_l.texi.
51198         * doc/posix-functions/isspace_l.texi: Renamed from
51199         doc/glibc-functions/isspace_l.texi.
51200         * doc/posix-functions/isupper_l.texi: Renamed from
51201         doc/glibc-functions/isupper_l.texi.
51202         * doc/posix-functions/iswalnum_l.texi: Renamed from
51203         doc/glibc-functions/iswalnum_l.texi.
51204         * doc/posix-functions/iswalpha_l.texi: Renamed from
51205         doc/glibc-functions/iswalpha_l.texi.
51206         * doc/posix-functions/iswblank_l.texi: Renamed from
51207         doc/glibc-functions/iswblank_l.texi.
51208         * doc/posix-functions/iswcntrl_l.texi: Renamed from
51209         doc/glibc-functions/iswcntrl_l.texi.
51210         * doc/posix-functions/iswctype_l.texi: Renamed from
51211         doc/glibc-functions/iswctype_l.texi.
51212         * doc/posix-functions/iswdigit_l.texi: Renamed from
51213         doc/glibc-functions/iswdigit_l.texi.
51214         * doc/posix-functions/iswgraph_l.texi: Renamed from
51215         doc/glibc-functions/iswgraph_l.texi.
51216         * doc/posix-functions/iswlower_l.texi: Renamed from
51217         doc/glibc-functions/iswlower_l.texi.
51218         * doc/posix-functions/iswprint_l.texi: Renamed from
51219         doc/glibc-functions/iswprint_l.texi.
51220         * doc/posix-functions/iswpunct_l.texi: Renamed from
51221         doc/glibc-functions/iswpunct_l.texi.
51222         * doc/posix-functions/iswspace_l.texi: Renamed from
51223         doc/glibc-functions/iswspace_l.texi.
51224         * doc/posix-functions/iswupper_l.texi: Renamed from
51225         doc/glibc-functions/iswupper_l.texi.
51226         * doc/posix-functions/iswxdigit_l.texi: Renamed from
51227         doc/glibc-functions/iswxdigit_l.texi.
51228         * doc/posix-functions/isxdigit_l.texi: Renamed from
51229         doc/glibc-functions/isxdigit_l.texi.
51230         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
51231         doc/glibc-functions/mbsnrtowcs.texi.
51232         * doc/posix-functions/mkdtemp.texi: Renamed from
51233         doc/glibc-functions/mkdtemp.texi.
51234         * doc/posix-functions/newlocale.texi: Renamed from
51235         doc/glibc-functions/newlocale.texi.
51236         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
51237         doc/glibc-functions/nl_langinfo_l.texi.
51238         * doc/posix-functions/open_memstream.texi: Renamed from
51239         doc/glibc-functions/open_memstream.texi.
51240         * doc/posix-functions/opterr.texi: Renamed from
51241         doc/glibc-functions/opterr.texi.
51242         * doc/posix-functions/optind.texi: Renamed from
51243         doc/glibc-functions/optind.texi.
51244         * doc/posix-functions/optopt.texi: Renamed from
51245         doc/glibc-functions/optopt.texi.
51246         * doc/posix-functions/psignal.texi: Renamed from
51247         doc/glibc-functions/psignal.texi.
51248         * doc/posix-functions/scandir.texi: Renamed from
51249         doc/glibc-functions/scandir.texi.
51250         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
51251         doc/glibc-functions/sched_get_priority_min.texi.
51252         * doc/posix-functions/signgam.texi: Renamed from
51253         doc/glibc-functions/signgam.texi.
51254         * doc/posix-functions/stpcpy.texi: Renamed from
51255         doc/glibc-functions/stpcpy.texi.
51256         * doc/posix-functions/stpncpy.texi: Renamed from
51257         doc/glibc-functions/stpncpy.texi.
51258         * doc/posix-functions/strcasecmp_l.texi: Renamed from
51259         doc/glibc-functions/strcasecmp_l.texi.
51260         * doc/posix-functions/strcoll_l.texi: Renamed from
51261         doc/glibc-functions/strcoll_l.texi.
51262         * doc/posix-functions/strfmon_l.texi: Renamed from
51263         doc/glibc-functions/strfmon_l.texi.
51264         * doc/posix-functions/strftime_l.texi: Renamed from
51265         doc/glibc-functions/strftime_l.texi.
51266         * doc/posix-functions/strncasecmp_l.texi: Renamed from
51267         doc/glibc-functions/strncasecmp_l.texi.
51268         * doc/posix-functions/strndup.texi: Renamed from
51269         doc/glibc-functions/strndup.texi.
51270         * doc/posix-functions/strnlen.texi: Renamed from
51271         doc/glibc-functions/strnlen.texi.
51272         * doc/posix-functions/strsignal.texi: Renamed from
51273         doc/glibc-functions/strsignal.texi.
51274         * doc/posix-functions/strxfrm_l.texi: Renamed from
51275         doc/glibc-functions/strxfrm_l.texi.
51276         * doc/posix-functions/timer_gettime.texi: Renamed from
51277         doc/glibc-functions/timer_gettime.texi.
51278         * doc/posix-functions/tolower_l.texi: Renamed from
51279         doc/glibc-functions/tolower_l.texi.
51280         * doc/posix-functions/toupper_l.texi: Renamed from
51281         doc/glibc-functions/toupper_l.texi.
51282         * doc/posix-functions/towctrans_l.texi: Renamed from
51283         doc/glibc-functions/towctrans_l.texi.
51284         * doc/posix-functions/towlower_l.texi: Renamed from
51285         doc/glibc-functions/towlower_l.texi.
51286         * doc/posix-functions/towupper_l.texi: Renamed from
51287         doc/glibc-functions/towupper_l.texi.
51288         * doc/posix-functions/uselocale.texi: Renamed from
51289         doc/glibc-functions/uselocale.texi.
51290         * doc/posix-functions/vdprintf.texi: Renamed from
51291         doc/glibc-functions/vdprintf.texi.
51292         * doc/posix-functions/wcpcpy.texi:
51293         Renamed from doc/glibc-functions/wcpcpy.texi.
51294         * doc/posix-functions/wcpncpy.texi: Renamed from
51295         doc/glibc-functions/wcpncpy.texi.
51296         * doc/posix-functions/wcscasecmp.texi: Renamed from
51297         doc/glibc-functions/wcscasecmp.texi.
51298         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
51299         doc/glibc-functions/wcscasecmp_l.texi.
51300         * doc/posix-functions/wcscoll_l.texi: Renamed from
51301         doc/glibc-functions/wcscoll_l.texi.
51302         * doc/posix-functions/wcsdup.texi: Renamed from
51303         doc/glibc-functions/wcsdup.texi.
51304         * doc/posix-functions/wcsncasecmp.texi: Renamed from
51305         doc/glibc-functions/wcsncasecmp.texi.
51306         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
51307         doc/glibc-functions/wcsncasecmp_l.texi.
51308         * doc/posix-functions/wcsnlen.texi: Renamed from
51309         doc/glibc-functions/wcsnlen.texi.
51310         * doc/posix-functions/wcsnrtombs.texi: Renamed from
51311         doc/glibc-functions/wcsnrtombs.texi.
51312         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
51313         doc/glibc-functions/wcsxfrm_l.texi.
51314         * doc/posix-functions/wctrans_l.texi: Renamed from
51315         doc/glibc-functions/wctrans_l.texi.
51316         * doc/posix-functions/wctype_l.texi: Renamed from
51317         doc/glibc-functions/wctype_l.texi.
51318         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51319         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
51320         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
51321         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
51322         these subsections.
51323         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
51324         Remove sections.
51325
51326 2008-12-14  Bruno Haible  <bruno@clisp.org>
51327
51328         Update doc for POSIX:2008.
51329         * doc/posix-functions/*.texi: Update URL of POSIX specification.
51330
51331 2008-12-14  Bruno Haible  <bruno@clisp.org>
51332
51333         Update doc for POSIX:2008.
51334         * doc/pastposix-functions/bcmp.texi: Renamed from
51335         doc/posix-functions/bcmp.texi.
51336         * doc/pastposix-functions/bcopy.texi: Renamed from
51337         doc/posix-functions/bcopy.texi.
51338         * doc/pastposix-functions/bsd_signal.texi: Renamed from
51339         doc/posix-functions/bsd_signal.texi.
51340         * doc/pastposix-functions/bzero.texi: Renamed from
51341         doc/posix-functions/bzero.texi.
51342         * doc/pastposix-functions/ecvt.texi: Renamed from
51343         doc/posix-functions/ecvt.texi.
51344         * doc/pastposix-functions/fcvt.texi: Renamed from
51345         doc/posix-functions/fcvt.texi.
51346         * doc/pastposix-functions/ftime.texi: Renamed from
51347         doc/posix-functions/ftime.texi.
51348         * doc/pastposix-functions/gcvt.texi: Renamed from
51349         doc/posix-functions/gcvt.texi.
51350         * doc/pastposix-functions/getcontext.texi: Renamed from
51351         doc/posix-functions/getcontext.texi.
51352         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51353         doc/posix-functions/gethostbyaddr.texi.
51354         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51355         doc/posix-functions/gethostbyname.texi.
51356         * doc/pastposix-functions/getwd.texi: Renamed from
51357         doc/posix-functions/getwd.texi.
51358         * doc/pastposix-functions/h_errno.texi: Renamed from
51359         doc/posix-functions/h_errno.texi.
51360         * doc/pastposix-functions/index.texi: Renamed from
51361         doc/posix-functions/index.texi.
51362         * doc/pastposix-functions/makecontext.texi: Renamed from
51363         doc/posix-functions/makecontext.texi.
51364         * doc/pastposix-functions/mktemp.texi: Renamed from
51365         doc/posix-functions/mktemp.texi.
51366         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51367         doc/posix-functions/pthread_attr_getstackaddr.texi.
51368         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51369         doc/posix-functions/pthread_attr_setstackaddr.texi.
51370         * doc/pastposix-functions/rindex.texi: Renamed from
51371         doc/posix-functions/rindex.texi.
51372         * doc/pastposix-functions/scalb.texi: Renamed from
51373         doc/posix-functions/scalb.texi.
51374         * doc/pastposix-functions/setcontext.texi: Renamed from
51375         doc/posix-functions/setcontext.texi.
51376         * doc/pastposix-functions/swapcontext.texi: Renamed from
51377         doc/posix-functions/swapcontext.texi.
51378         * doc/pastposix-functions/ualarm.texi: Renamed from
51379         doc/posix-functions/ualarm.texi.
51380         * doc/pastposix-functions/usleep.texi: Renamed from
51381         doc/posix-functions/usleep.texi.
51382         * doc/pastposix-functions/vfork.texi: Renamed from
51383         doc/posix-functions/vfork.texi.
51384         * doc/pastposix-functions/wcswcs.texi: Renamed from
51385         doc/posix-functions/wcswcs.texi.
51386         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51387         (Function Substitutes): Update.
51388
51389 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51390
51391         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51392         m4/strerror.m4.
51393
51394 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51395             Bruno Haible  <bruno@clisp.org>
51396
51397         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51398
51399 2008-12-13  Bruno Haible  <bruno@clisp.org>
51400
51401         * modules/strtoull (Depends-on): Remove unistd.
51402
51403 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51404
51405         * modules/strtoull (Depends-on): Add stdlib.
51406
51407 2008-12-11  Simon Josefsson  <simon@josefsson.org>
51408
51409         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
51410
51411 2008-12-10  Jim Meyering  <meyering@redhat.com>
51412
51413         gl_ASSERT: don't say assertions are disabled when they're not
51414         * m4/assert.m4 (gl_ASSERT): Do not make configure report
51415         "checking whether to enable assertions... no", when they are in
51416         fact enabled.  This is solely a bug in the output of configure.
51417         In spite of saying "no", NDEBUG was not defined in that case.
51418         Also, as noted by Eric Blake, leave assertions enabled upon
51419         --enable-assert=INVALID.
51420
51421 2008-12-10  Bruno Haible  <bruno@clisp.org>
51422
51423         Change MODULES.html to refer to POSIX:2008 where possible.
51424         * MODULES.html.sh (POSIX2008_URL): New variable.
51425         (posix_headers): Remove sys/timeb, ucontext.
51426         (posix2001_headers): New variable.
51427         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
51428         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
51429         index, makecontext, mktemp, pthread_attr_getstackaddr,
51430         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
51431         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
51432         (posix2001_functions): New variable.
51433         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
51434         otherwise.
51435
51436 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51437
51438         add missing include to parse-duration.c
51439         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
51440         * modules/parse-duration (Depends-on): Add xalloc.
51441
51442         fix sed script reading maint.mk
51443         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
51444         (syntax-check-rules): Use it.
51445
51446 2008-12-09  Bruno Haible  <bruno@clisp.org>
51447
51448         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
51449         MacOS X 10.4/PowerPC.
51450         Reported by Simon Josefsson.
51451
51452 2008-12-08  Jim Meyering  <meyering@redhat.com>
51453
51454         work around mingw's lack of some S_IF definitions
51455         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
51456         Reported by Simon Josefsson.
51457
51458 2008-12-08  Bruno Haible  <bruno@clisp.org>
51459
51460         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
51461         applied to variables. Needed on MacOS X 10.4/PowerPC.
51462         Reported by Simon Josefsson.
51463
51464 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
51465         and Eric Blake  <ebb9@byu.net>
51466
51467         assert: honor --enable-assert
51468         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
51469         order to honor --enable-assert, rather than treating it as a
51470         synonym for --disable-assert.
51471
51472 2008-12-08  Jim Meyering  <meyering@redhat.com>
51473
51474         * lib/posixtm.c: Remove now-useless declaration of mktime.
51475
51476         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
51477
51478 2008-12-07  Bruno Haible  <bruno@clisp.org>
51479
51480         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
51481         test_once): Mark functions as static.
51482         * tests/test-tls.c (test_tls): Likewise.
51483
51484 2008-12-07  Bruno Haible  <bruno@clisp.org>
51485
51486         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
51487         iconv_register_autodetect.
51488
51489 2008-12-07  Jim Meyering  <meyering@redhat.com>
51490
51491         posixtm.c: avoid a warning
51492         * lib/posixtm.c (posixtime): Don't initialize tm0.
51493         It's no longer needed to placate gcc4's -Wuninitialized,
51494         and the attempt to placate would elicit a new warning.
51495
51496         unicodeio.c: mark unused parameters
51497         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51498         (fallback_failure_callback): Likewise.
51499
51500 2008-12-07  Bruno Haible  <bruno@clisp.org>
51501
51502         * gnulib-tool (func_create_testdir): When building the tests
51503         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
51504         Reported by Simon Josefsson.
51505
51506 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51507
51508         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
51509
51510 2008-12-06  Bruno Haible  <bruno@clisp.org>
51511
51512         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
51513         Suggested by Eric Blake.
51514
51515 2008-12-06  Bruno Haible  <bruno@clisp.org>
51516
51517         Fix a c-stack test failure on MacOS X.
51518         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
51519         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
51520         handler for SIGBUS as well.
51521         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
51522         install a signal handler for SIGBUS as well.
51523         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
51524
51525 2008-12-06  Bruno Haible  <bruno@clisp.org>
51526
51527         Advocacy documentation.
51528         * doc/gnulib-intro.texi (Benefits): New section.
51529         * doc/gnulib.texi: Update.
51530
51531 2008-12-06  Bruno Haible  <bruno@clisp.org>
51532
51533         Document the 'manywarnings' module.
51534         * doc/manywarnings.texi: New file.
51535         * doc/gnulib.texi: Include it.
51536
51537 2008-12-05  Eric Blake  <ebb9@byu.net>
51538
51539         tests: silence some gcc warnings
51540         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
51541         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
51542         type mismatches.
51543
51544 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51545             Bruno Haible  <bruno@clisp.org>
51546
51547         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
51548
51549 2008-11-29  Jim Meyering  <meyering@redhat.com>
51550
51551         unicodeio.c: mark unused parameters
51552         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51553         (fallback_failure_callback): Likewise.
51554
51555         fts: fix a thinko
51556         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
51557         (set_stat_type): Return S_IF*-valued "type" directly.
51558         Prompted by James Youngman's spotting a related bug.
51559         Confirmed by further testing through find.
51560
51561         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
51562         * lib/fts.c (D_TYPE): Define.
51563         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
51564         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
51565         (s_ifmt_shift_bits): New function.
51566         (set_stat_type): New function.
51567         (fts_build): When not calling fts_stat, call set_stat_type
51568         to propagate dirent.d_type info to fts_read caller.
51569         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
51570         fts_statp->st_mode type information may be valid.
51571
51572 2008-11-28  Simon Josefsson  <simon@josefsson.org>
51573
51574         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
51575         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
51576         <sds@gnu.org>.
51577
51578 2008-11-20  Bruno Haible  <bruno@clisp.org>
51579
51580         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
51581         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
51582         INCLUDE_NEXT.
51583         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
51584         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
51585         * modules/math (Makefile.am): Substitute
51586         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
51587         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51588
51589 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
51590             Bruno Haible  <bruno@clisp.org>
51591
51592         * lib/stdint.in.h: Define all type macros so that their expansion is
51593         a single typedef'ed token. Fixes a compilation failure in Boost which
51594         does "using ::int8_t;".
51595
51596 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51597
51598         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
51599         gl_MANYWARN_ALL_GCC.
51600         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
51601         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
51602         * modules/manywarnings: New file.
51603         * MODULES.html.sh: Mention manywarnings module.
51604
51605 2008-11-18  Bruno Haible  <bruno@clisp.org>
51606
51607         * doc/gnulib-tool.texi (Unit tests): New section.
51608
51609 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51610
51611         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
51612         paths like 'lib/po/foo.po'.
51613
51614 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51615
51616         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
51617         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
51618
51619 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51620
51621         * m4/warnings.m4: Use CPPFLAGS to really check whether the
51622         parameter works.
51623
51624 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51625
51626         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
51627
51628 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51629
51630         * modules/parse-duration-tests: New file.
51631         * tests/test-parse-duration.sh: New file.
51632         * tests/test-parse-duration.c: New file.
51633
51634         New module 'parse-duration'.
51635         * lib/parse-duration.h: New file.
51636         * lib/parse-duration.c: New file.
51637         * modules/parse-duration: New file.
51638
51639 2008-11-17  Bruno Haible  <bruno@clisp.org>
51640
51641         * tests/test-select-out.sh: Comment out the first pipe test.
51642         Reported by Simon Josefsson.
51643
51644 2008-11-17  Bruno Haible  <bruno@clisp.org>
51645
51646         * modules/getaddrinfo (Depends-on): Add servent, hostent.
51647         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
51648         gl_HOSTENT.
51649
51650 2008-11-17  Bruno Haible  <bruno@clisp.org>
51651
51652         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
51653         -lnetwork and -lnet. Needed for Haiku and BeOS.
51654
51655 2008-11-16  Bruno Haible  <bruno@clisp.org>
51656
51657         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
51658
51659 2008-11-16  Bruno Haible  <bruno@clisp.org>
51660
51661         Avoid test failure on Haiku.
51662         * tests/test-fsync.c: Include <errno.h>.
51663         (main): Don't require that fsync (0) fails.
51664
51665 2008-11-15  Bruno Haible  <bruno@clisp.org>
51666
51667         New module 'hostent'.
51668         * modules/hostent: New file.
51669         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
51670
51671 2008-11-15  Bruno Haible  <bruno@clisp.org>
51672
51673         New module 'servent'.
51674         * modules/servent: New file.
51675         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
51676
51677 2008-11-15  Bruno Haible  <bruno@clisp.org>
51678
51679         Avoid generating same test program with two different rules.
51680         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
51681         test-frexp to test-frexp-nolibm.
51682         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
51683         test-frexpl to test-frexpl-nolibm.
51684
51685 2008-11-15  Bruno Haible  <bruno@clisp.org>
51686
51687         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
51688         $(FREXPL_LIBM).
51689
51690 2008-11-15  Bruno Haible  <bruno@clisp.org>
51691
51692         * lib/netdb.in.h: Activate the definitions also when the system's
51693         <netdb.h> has 'struct addrinfo'.
51694         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
51695         EAI_OVERFLOW or AI_NUMERICSERV.
51696         * doc/posix-headers/netdb.texi: Document the problem.
51697
51698 2008-11-15  Bruno Haible  <bruno@clisp.org>
51699
51700         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
51701
51702         Make the 'sched' module work on platforms where <sched.h> exists but
51703         is incomplete (such as Haiku).
51704         * lib/sched.in.h; Include the system's <sched.h> if it exists.
51705         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
51706         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
51707         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
51708         HAVE_STRUCT_SCHED_PARAM.
51709         * modules/sched (Depends-on): Add include_next.
51710         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
51711         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
51712         * doc/posix-headers/sched.texi: Document the issue.
51713
51714 2008-11-13  Jim Meyering  <meyering@redhat.com>
51715
51716         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
51717         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
51718         test would fail due to the difference in the Report bugs to ...
51719         line.  The expected address is empty, "<>", while the actual
51720         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
51721
51722 2008-11-12  Bruno Haible  <bruno@clisp.org>
51723
51724         lstat: don't compile lstat.c on systems lacking lstat
51725         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
51726         which don't have lstat; this is handled by lib/sys_stat.in.h already.
51727         Reported by Daniel P. Berrange via Jim Meyering.
51728
51729 2008-11-12  Jim Meyering  <meyering@redhat.com>
51730
51731         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
51732
51733 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51734
51735         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
51736         instead.
51737
51738 2008-11-12  Bruno Haible  <bruno@clisp.org>
51739
51740         * lib/unicodeio.c: Include unistr.h.
51741         (utf8_wctomb): Remove function.
51742         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
51743
51744 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51745
51746         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
51747         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
51748         <bruno@clisp.org>.
51749         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
51750
51751 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51752
51753         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
51754         * doc/gnulib.texi: Add section for warnings.
51755
51756 2008-11-11  Bruno Haible  <bruno@clisp.org>
51757
51758         * lib/sockets.h: Add a comment.
51759
51760 2008-11-11  Karl Berry  <karl@gnu.org>
51761
51762         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
51763
51764 2008-11-11  Eric Blake  <ebb9@byu.net>
51765
51766         fdl.texi: avoid git symlinks
51767         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51768
51769 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51770
51771         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51772
51773 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51774
51775         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51776         (gl_WARN_ADD): Substitute $2 if literal.
51777
51778 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51779
51780         * m4/warning.m4: Remove.
51781
51782 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51783
51784         * m4/warnings.m4: Almost complete rewrite. :-)
51785
51786 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51787
51788         * modules/warnings: New module.
51789         * m4/warnings.m4: New file.
51790         * MODULES.html.sh: Mention warnings module.
51791         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51792         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51793
51794 2008-11-10  Eric Blake  <ebb9@byu.net>
51795
51796         fdl.texi: make a symlink to the latest version
51797         * doc/standards.texi: Revert today's earlier change.
51798         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51799         * doc/fdl.texi: ...and replace this with a symlink to the newer
51800         fdl-1.3.texi.
51801
51802 2008-11-10  Bruno Haible  <bruno@clisp.org>
51803
51804         * tests/test-select-fd.c (main): Accept the result file name as fourth
51805         argument.
51806         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51807         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51808
51809 2008-11-10  Bruno Haible  <bruno@clisp.org>
51810
51811         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51812         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51813         as autoconf-substituted macros.
51814         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51815         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51816         gl_NETDB_H_DEFAULTS. Set these variables.
51817         * modules/netdb (Makefile.am): Substitute these variables.
51818
51819 2008-11-10  Eric Blake  <ebb9@byu.net>
51820
51821         standards.texi: include correct file for FDL 1.3
51822         * doc/standards.texi (GNU Free Documentation License): Change
51823         include file to pull in FDL 1.3, not 1.2.
51824
51825         fdl.texi: revert accidental change to license
51826         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51827
51828 2008-11-10  Bruno Haible  <bruno@clisp.org>
51829
51830         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51831         cross-compiling guesses also when the native compile gives no result.
51832
51833 2008-11-10  Bruno Haible  <bruno@clisp.org>
51834
51835         * lib/spawni.c (__spawni): Force variable into the stack.
51836
51837 2008-11-10  Bruno Haible  <bruno@clisp.org>
51838
51839         Add support for Haiku.
51840         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51841         glibc and BeOS, but also on Haiku.
51842         * lib/fpurge.c (fpurge): Likewise.
51843         * lib/freadable.c (freadable): Likewise.
51844         * lib/freadahead.c (freadahead): Likewise.
51845         * lib/freading.c (freading): Likewise.
51846         * lib/freadptr.c (freadptr): Likewise.
51847         * lib/freadseek.c (freadptrinc): Likewise.
51848         * lib/fseeko.c (rpl_fseeko): Likewise.
51849         * lib/fseterr.c (fseterr): Likewise.
51850         * lib/fwritable.c (fwritable): Likewise.
51851         * lib/fwriting.c (fwriting): Likewise.
51852         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51853
51854 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51855
51856         * lib/config.charset: Treat Haiku like BeOS.
51857
51858 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51859
51860         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51861         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51862
51863 2008-11-08  Bruno Haible  <bruno@clisp.org>
51864
51865         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51866         AC_CACHE_CHECK.
51867
51868 2008-11-08  Bruno Haible  <bruno@clisp.org>
51869
51870         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51871
51872 2008-11-08  Bruno Haible  <bruno@clisp.org>
51873
51874         * tests/test-select-fd.c: New file.
51875         * tests/test-select-in.sh: New file.
51876         * tests/test-select-out.sh: New file.
51877         * tests/test-select-stdin.c: New file.
51878         * modules/select-tests (Files): Add the new files.
51879         (Depends-on): Add gettimeofday.
51880         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51881         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51882         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51883
51884 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51885             Bruno Haible  <bruno@clisp.org>
51886
51887         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51888
51889 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51890
51891         * build-aux/pmccabe2html: Added support for C++ source files.
51892
51893 2008-11-05  Ben Pfaff  <blp@gnu.org>
51894
51895         Fix lib/close.c build on Windows.
51896         * modules/close (Files): Add lib/w32sock.h.
51897
51898 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51899
51900         Accept Bison's NEWS format.
51901         * build-aux/announce-gen (print_news_deltas): Tweak
51902         $re_prefix.
51903
51904 2008-11-04  Bruno Haible  <bruno@clisp.org>
51905
51906         * modules/random_r (Maintainer): Add glibc.
51907
51908 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51909
51910         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51911         by karl@freefriends.org (Karl Berry).
51912         * doc/alloca.texi: Likewise.
51913         * doc/c-ctype.texi: Likewise.
51914         * doc/c-strcase.texi: Likewise.
51915         * doc/c-strcaseeq.texi: Likewise.
51916         * doc/c-strcasestr.texi: Likewise.
51917         * doc/c-strstr.texi: Likewise.
51918         * doc/c-strtod.texi: Likewise.
51919         * doc/c-strtold.texi: Likewise.
51920         * doc/ctime.texi: Likewise.
51921         * doc/error.texi: Likewise.
51922         * doc/fdl.texi: Likewise.
51923         * doc/gcd.texi: Likewise.
51924         * doc/getdate.texi: Likewise.
51925         * doc/gnulib-intro.texi: Likewise.
51926         * doc/gnulib-tool.texi: Likewise.
51927         * doc/gnulib.texi: Likewise.
51928         * doc/inet_ntoa.texi: Likewise.
51929         * doc/maintain.texi: Likewise.
51930         * doc/make-stds.texi: Likewise.
51931         * doc/quote.texi: Likewise.
51932         * doc/regexprops-generic.texi: Likewise.
51933         * doc/standards.texi: Likewise.
51934         * doc/verify.texi: Likewise.
51935         * doc/visibility.texi: Likewise.
51936         * doc/gnulib.texi (GNU Free Documentation License): Include
51937         fdl-1.3.texi instead of fdl.texi.
51938
51939 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51940
51941         * doc/fdl-1.3.texi: New file, from
51942         <http://www.gnu.org/licenses/fdl-1.3.texi>.
51943         * modules/fdl-1.3: Add.
51944         * MODULES.html.sh: Add fdl-1.3.
51945
51946 2008-11-03  Bruno Haible  <bruno@clisp.org>
51947
51948         Make determination of absolute name of header file work with AIX xlc.
51949         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
51950         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
51951         preprocessing.
51952         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51953         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51954
51955 2008-11-03  Simon Josefsson  <simon@josefsson.org>
51956
51957         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
51958         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
51959         <ludo@gnu.org>.
51960
51961 2008-11-02  Bruno Haible  <bruno@clisp.org>
51962
51963         Mark 'strpbrk' obsolete.
51964         * modules/strpbrk (Status, Notice): New sections.
51965         * modules/strtok_r (Depends-on): Add strpbrk.
51966
51967 2008-11-02  Bruno Haible  <bruno@clisp.org>
51968
51969         Mark 'strdup' obsolete.
51970         * modules/strdup (Status, Notice): New sections.
51971         * modules/findprog (Depends-on): Add strdup.
51972         * modules/getaddrinfo (Depends-on): Likewise.
51973         * modules/localename (Depends-on): Likewise.
51974         * modules/relocatable-lib (Depends-on): Likewise.
51975         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
51976         * modules/relocatable-prog (Depends-on): Likewise.
51977         * modules/trim (Depends-on): Likewise.
51978         * modules/unictype/gen-ctype (Depends-on): Likewise.
51979         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51980
51981 2008-11-02  Bruno Haible  <bruno@clisp.org>
51982
51983         Mark 'strcspn' obsolete.
51984         * modules/strcspn (Status, Notice): New sections.
51985
51986 2008-11-02  Bruno Haible  <bruno@clisp.org>
51987
51988         Mark 'rmdir' obsolete.
51989         * modules/rmdir (Status, Notice): New sections.
51990         * modules/clean-temp (Depends-on): Add rmdir.
51991         * modules/openat (Depends-on): Likewise.
51992
51993 2008-11-02  Bruno Haible  <bruno@clisp.org>
51994
51995         Mark 'raise' obsolete.
51996         * modules/raise (Status, Notice): New sections.
51997         (Include): Specify <signal.h>.
51998         * modules/stdio (Depends-on): Add raise.
51999         * modules/write (Depends-on): Likewise.
52000
52001 2008-11-02  Bruno Haible  <bruno@clisp.org>
52002
52003         Mark 'memset' obsolete.
52004         * modules/memset (Status, Notice): New sections.
52005
52006 2008-11-02  Bruno Haible  <bruno@clisp.org>
52007
52008         Mark 'memmove' obsolete.
52009         * modules/memmove (Status, Notice): New sections.
52010         * modules/argp (Depends-on): Add memmove.
52011         * modules/argz (Depends-on): Likewise.
52012         * modules/canonicalize (Depends-on): Likewise.
52013         * modules/canonicalize-lgpl (Depends-on): Likewise.
52014         * modules/fts (Depends-on): Likewise.
52015         * modules/getcwd (Depends-on): Likewise.
52016         * modules/human (Depends-on): Likewise.
52017         * modules/regex (Depends-on): Likewise.
52018         * modules/striconveh (Depends-on): Likewise.
52019         * modules/trim (Depends-on): Likewise.
52020         * modules/unistr/u8-move (Depends-on): Likewise.
52021         * modules/unistr/u16-move (Depends-on): Likewise.
52022         * modules/unistr/u32-move (Depends-on): Likewise.
52023
52024 2008-11-02  Bruno Haible  <bruno@clisp.org>
52025
52026         Mark 'memcpy' obsolete.
52027         * modules/memcpy (Status, Notice): New sections.
52028
52029 2008-11-02  Bruno Haible  <bruno@clisp.org>
52030
52031         Mark 'memcmp' obsolete.
52032         * modules/memcmp (Status, Notice): New sections.
52033         * modules/argmatch (Depends-on): Add memchr.
52034         * modules/backupfile (Depends-on): Likewise.
52035         * modules/c-strcasestr (Depends-on): Likewise.
52036         * modules/crypto/des (Depends-on): Likewise.
52037         * modules/csharpcomp (Depends-on): Likewise.
52038         * modules/fnmatch (Depends-on): Likewise.
52039         * modules/git-merge-changelog (Depends-on): Likewise.
52040         * modules/isnand (Depends-on): Likewise.
52041         * modules/isnand-nolibm (Depends-on): Likewise.
52042         * modules/isnanf (Depends-on): Likewise.
52043         * modules/isnanf-nolibm (Depends-on): Likewise.
52044         * modules/isnanl (Depends-on): Likewise.
52045         * modules/isnanl-nolibm (Depends-on): Likewise.
52046         * modules/mbchar (Depends-on): Likewise.
52047         * modules/memcoll (Depends-on): Likewise.
52048         * modules/quotearg (Depends-on): Likewise.
52049         * modules/regex (Depends-on): Likewise.
52050         * modules/relocatable-prog (Depends-on): Likewise.
52051         * modules/same (Depends-on): Likewise.
52052         * modules/signbit (Depends-on): Likewise.
52053         * modules/strcasestr-simple (Depends-on): Likewise.
52054         * modules/unictype/gen-ctype (Depends-on): Likewise.
52055         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52056         * modules/uniname/uniname (Depends-on): Likewise.
52057         * modules/unistr/u8-cmp (Depends-on): Likewise.
52058
52059 2008-11-02  Bruno Haible  <bruno@clisp.org>
52060
52061         Mark 'memchr' obsolete.
52062         * modules/memchr (Status, Notice): New sections.
52063         * modules/argp (Depends-on): Add memchr.
52064         * modules/base64 (Depends-on): Likewise.
52065         * modules/c-strcasestr (Depends-on): Likewise.
52066         * modules/chdir-long (Depends-on): Likewise.
52067         * modules/fnmatch (Depends-on): Likewise.
52068         * modules/getsubopt (Depends-on): Likewise.
52069         * modules/git-merge-changelog (Depends-on): Likewise.
52070         * modules/glob (Depends-on): Likewise.
52071         * modules/strcasestr-simple (Depends-on): Likewise.
52072         * modules/strnlen (Depends-on): Likewise.
52073
52074 2008-11-02  Bruno Haible  <bruno@clisp.org>
52075
52076         Mark 'atexit' obsolete.
52077         * modules/atexit (Status, Notice): New sections.
52078         * modules/chdir-long (Depends-on): Add atexit.
52079         * modules/wait-process (Depends-on): Likewise.
52080
52081 2008-11-02  Bruno Haible  <bruno@clisp.org>
52082
52083         * gnulib-tool: New option --with-obsolete.
52084         (func_usage): Document it.
52085         (func_modules_transitive_closure): Drop obsolete dependencies if
52086         incobsolete is not true.
52087         (func_import): Read and save the incobsolete variable to the cache.
52088
52089 2008-11-02  Bruno Haible  <bruno@clisp.org>
52090
52091         * modules/TEMPLATE-EXTENDED: New field 'Status'.
52092         * gnulib-tool: New option --extract-status.
52093         (func_usage): Document it.
52094         (sed_extract_prog): Recognize it.
52095         (func_get_status): New function.
52096
52097 2008-10-30  Simon Josefsson  <simon@josefsson.org>
52098
52099         * modules/sockets (License): Change from LGPL to LGPLv2+.
52100
52101 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52102
52103         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
52104
52105 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52106
52107         * MODULES.html.sh (Support for systems lacking POSIX:2001):
52108         Mention times and sys_times.
52109         * modules/sys_times, modules/sys_times-tests: New modules.
52110         * modules/times, modules/times-tests: Likewise
52111         * m4/sys_times_h.m4: New file.
52112         * lib/sys_times.in.h: Likewise
52113         * lib/times.c: Likewise.
52114         * tests/test-sys_times.c: Likewise.
52115         * tests/test-times.c: Likewise.
52116         * doc/posix-headers/sys_times.texi: Update.
52117         * doc/posix-functions/times.texi: Update.
52118
52119 2008-10-28  Jim Meyering  <meyering@redhat.com>
52120
52121         * modules/tempname (Depends-on): Add lstat.
52122
52123         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
52124
52125 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52126
52127         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
52128         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
52129         using idiom used elsewhere in gnulib.
52130
52131 2008-10-27  Jim Meyering  <meyering@redhat.com>
52132
52133         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
52134
52135 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52136
52137         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
52138         TESTS_ENVIRONMENT, for shell scripts that needs to call built
52139         programs.
52140         * tests/test-argp-2.sh: Use $EXEEXT when needed.
52141
52142 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52143
52144         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
52145
52146 2008-10-27  Bruno Haible  <bruno@clisp.org>
52147
52148         * tests/test-lstat.c: Include <stdio.h>.
52149
52150 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52151
52152         * modules/lstat-tests: New module.
52153         * tests/test-lstat.c: New file.
52154
52155 2008-10-26  Jim Meyering  <meyering@redhat.com>
52156
52157         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
52158
52159 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52160             Bruno Haible  <bruno@clisp.org>
52161
52162         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
52163         * modules/configmake (Include): Add a note that the include must come
52164         after all system headers.
52165         * lib/javaversion.c: Include configmake.h after all other includes.
52166
52167 2008-10-26  Bruno Haible  <bruno@clisp.org>
52168
52169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
52170         HAVE_STRUCT_RANDOM_DATA to 1.
52171         (gl_STDLIB_H): Simplify.
52172
52173 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52174
52175         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
52176         substitute HAVE_STRUCT_RANDOM_DATA.
52177         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
52178         random_data.
52179         * modules/stdlib (Makefile.am): Substitute
52180         HAVE_STRUCT_RANDOM_DATA.
52181
52182 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52183
52184         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
52185         * doc/gnulib-intro.texi (Copyright): Likewise.
52186
52187 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52188
52189         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
52190         findings.
52191
52192 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
52193             Bruno Haible  <bruno@clisp.org>
52194
52195         * lib/unistd.in.h: Include <winsock2.h>.
52196         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
52197         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
52198         Provide dummy declarations.
52199         (gethostname): Override.
52200         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
52201         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
52202         gl_PREREQ_SYS_H_WINSOCK2.
52203         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
52204         * doc/posix-functions/gethostname.texi: More details.
52205
52206 2008-10-25  Bruno Haible  <bruno@clisp.org>
52207
52208         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52209         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
52210         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
52211
52212         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
52213         here ...
52214         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
52215         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
52216         gl_UNISTD_H_DEFAULTS.
52217
52218 2008-10-25  Eric Blake  <ebb9@byu.net>
52219
52220         signbit: avoid spurious compiler failure
52221         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
52222         declarations inside function.
52223
52224 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52225             Bruno Haible  <bruno@clisp.org>
52226
52227         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
52228         * modules/random_r (Depends-on): Add stdint.
52229
52230 2008-10-24  Bruno Haible  <bruno@clisp.org>
52231
52232         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
52233         Eggert.
52234         * modules/strerror (License): Likewise.
52235
52236 2008-10-24  Jim Meyering  <meyering@redhat.com>
52237
52238         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
52239         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
52240
52241 2008-10-24  Eric Blake  <ebb9@byu.net>
52242
52243         getgroups: fix compilation when getgroups is available
52244         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
52245         but with <config.h> override of getgroups disabled.
52246
52247 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52248
52249         * doc/gnulib.texi (Header files): Add note about C++ problems.
52250         Explained by Bruno Haible <bruno@clisp.org>.
52251
52252 2008-10-23  Bruno Haible  <bruno@clisp.org>
52253
52254         Define a dummy SA_NODEFER macro on Interix.
52255         * lib/signal.in.h (SA_NODEFER): Define fallback.
52256         Reported by Aleksey Cheusov <cheusov@tut.by> via
52257         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
52258
52259 2008-10-23  Bruno Haible  <bruno@clisp.org>
52260
52261         * modules/freadahead (License): Change to LGPLv2+.
52262         Suggested by Simon Josefsson.
52263
52264 2008-10-23  Jim Meyering  <meyering@redhat.com>
52265
52266         random_r: new module
52267         * modules/random_r: New file.
52268         * m4/random_r.m4: New file.
52269         * lib/random_r.c: New file, from glibc.
52270         * modules/random_r-tests: New file.
52271         * tests/test-random_r.c: New file.
52272         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
52273          Declare.
52274         (RAND_MAX): Define.
52275         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
52276         * modules/stdlib: Substitute them, too.
52277         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
52278         * doc/glibc-functions/initstate_r.texi: Mention the new module.
52279         * doc/glibc-functions/random_r.texi: Likewise.
52280         * doc/glibc-functions/setstate_r.texi: Likewise.
52281         * doc/glibc-functions/srandom_r.texi: Likewise.
52282         * config/srclist.txt: Mention it.
52283
52284 2008-10-23  David Lutterkort  <lutter@redhat.com>
52285
52286         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
52287         link requirement
52288
52289 2008-10-23  Jim Meyering  <meyering@redhat.com>
52290
52291         selinux-h: mark parameters of stub functions as intentionally unused
52292         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
52293         * lib/se-context.in.h: Likewise.
52294
52295 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52296
52297         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
52298
52299 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52300
52301         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
52302
52303 2008-10-22  Eric Blake  <ebb9@byu.net>
52304
52305         glthread/thread: avoid compiler warning
52306         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
52307         Add unreachable abort to silence compiler.
52308
52309 2008-10-22  Eric Blake  <ebb9@byu.net>
52310
52311         netdb: also supply struct addrinfo for cygwin 1.5.x
52312         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
52313         older cygwin.
52314         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
52315         cygwin.
52316         * doc/posix-headers/netdb.texi (netdb.h): Document this.
52317
52318 2008-10-22  Bruno Haible  <bruno@clisp.org>
52319
52320         * users.txt: Update entry about pspp.
52321
52322 2008-10-21  Bruno Haible  <bruno@clisp.org>
52323
52324         Simplification.
52325         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
52326         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
52327
52328         Simplification.
52329         * lib/ioctl.c (ioctl): Don't undefine.
52330         * lib/socket.c (socket): Don't undefine.
52331
52332         Remove unused module indicator macros.
52333         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
52334         GNULIB_$1 as a C macro.
52335
52336         * doc/posix-functions/close.texi: Undo last change.
52337         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
52338         Windows platforms.
52339
52340 2008-10-21  Bruno Haible  <bruno@clisp.org>
52341
52342         Add gethostname() declaration to <unistd.h>.
52343         * lib/unistd.in.h (gethostname): New declaration.
52344         * lib/gethostname.c: Include <unistd.h>.
52345         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52346         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52348         and HAVE_GETHOSTNAME.
52349         * modules/gethostname (Depends-on): Add unistd.
52350         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52351         (Include): Specify <unistd.h>.
52352         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52353         HAVE_GETHOSTNAME.
52354         * tests/test-gethostname.c: Include <unistd.h> first.
52355
52356 2008-10-21  Bruno Haible  <bruno@clisp.org>
52357
52358         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52359         * modules/select-tests (Depends-on): Likewise.
52360         Reported by Simon Josefsson.
52361
52362 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52363
52364         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52365         * lib/accept.c: New file, based on winsock.c.
52366         * lib/bind.c: New file, based on winsock.c.
52367         * lib/connect.c: New file, based on winsock.c.
52368         * lib/getpeername.c: New file, based on winsock.c.
52369         * lib/getsockname.c: New file, based on winsock.c.
52370         * lib/getsockopt.c: New file, based on winsock.c.
52371         * lib/ioctl.c: New file, based on winsock.c.
52372         * lib/listen.c: New file, based on winsock.c.
52373         * lib/recv.c: New file, based on winsock.c.
52374         * lib/recvfrom.c: New file, based on winsock.c.
52375         * lib/send.c: New file, based on winsock.c.
52376         * lib/sendto.c: New file, based on winsock.c.
52377         * lib/setsockopt.c: New file, based on winsock.c.
52378         * lib/shutdown.c: New file, based on winsock.c.
52379         * lib/socket.c: New file, based on winsock.c.
52380         * lib/w32sock.h: New file, based on winsock.c.
52381         * lib/winsock.c: Remove file.
52382         * modules/accept: Likewise.
52383         * modules/bind: Likewise.
52384         * modules/connect: Likewise.
52385         * modules/getpeername: Likewise.
52386         * modules/getsockname: Likewise.
52387         * modules/getsockopt: Likewise.
52388         * modules/ioctl: Likewise.
52389         * modules/listen: Likewise.
52390         * modules/recv: Likewise.
52391         * modules/recvfrom: Likewise.
52392         * modules/send: Likewise.
52393         * modules/sendto: Likewise.
52394         * modules/setsockopt: Likewise.
52395         * modules/shutdown: Likewise.
52396         * modules/socket: Use socket.c instead of winsock.c.
52397         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52398         * doc/posix-functions/accept.texi: Doc fix.
52399         * doc/posix-functions/bind.texi: Doc fix.
52400         * doc/posix-functions/close.texi: Doc fix.
52401         * doc/posix-functions/connect.texi: Doc fix.
52402         * doc/posix-functions/getpeername.texi: Doc fix.
52403         * doc/posix-functions/getsockname.texi: Doc fix.
52404         * doc/posix-functions/getsockopt.texi: Doc fix.
52405         * doc/posix-functions/ioctl.texi: Doc fix.
52406         * doc/posix-functions/listen.texi: Doc fix.
52407         * doc/posix-functions/recv.texi: Doc fix.
52408         * doc/posix-functions/recvfrom.texi: Doc fix.
52409         * doc/posix-functions/send.texi: Doc fix.
52410         * doc/posix-functions/sendto.texi: Doc fix.
52411         * doc/posix-functions/setsockopt.texi: Doc fix.
52412         * doc/posix-functions/shutdown.texi: Doc fix.
52413         * doc/posix-functions/socket.texi: Doc fix.
52414
52415 2008-10-20  Bruno Haible  <bruno@clisp.org>
52416
52417         Take into account the role of SIGABRT_COMPAT on Windows 2008.
52418         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
52419         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
52420         as an alias for SIGABRT.
52421         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
52422         (sigaction): Map it to SIGABRT.
52423         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
52424
52425 2008-10-20  Bruno Haible  <bruno@clisp.org>
52426
52427         * lib/fts.c: Don't include lstat.h.
52428         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
52429
52430         Move the lstat() declaration to <sys/stat.h>.
52431         * lib/lstat.h: Remove file.
52432         * lib/sys_stat.in.h: Add special invocation convention.
52433         (lstat): New declaration.
52434         * lib/lstat.c (orig_lstat): New function.
52435         (rpl_lstat): Use orig_lstat instead of lstat.
52436         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
52437         AC_C_INLINE. Set REPLACE_LSTAT.
52438         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
52439         and REPLACE_LSTAT.
52440         * modules/lstat (Files): Remove lib/lstat.h.
52441         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52442         (Include): Specify <sys/stat.h> instead of lstat.h.
52443         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
52444         REPLACE_LSTAT.
52445         * NEWS: Mention the change.
52446
52447 2008-10-20  Bruno Haible  <bruno@clisp.org>
52448
52449         * modules/posix_spawn-tests: New file.
52450         * tests/test-posix_spawn3.c: New file.
52451
52452 2008-10-20  Bruno Haible  <bruno@clisp.org>
52453
52454         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
52455         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52456         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
52457         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52458         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
52459
52460 2008-10-20  Bruno Haible  <bruno@clisp.org>
52461
52462         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
52463         of posix_spawn on AIX 5.3.
52464
52465 2008-10-20  Bruno Haible  <bruno@clisp.org>
52466
52467         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
52468
52469 2008-10-20  Bruno Haible  <bruno@clisp.org>
52470
52471         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
52472         of AC_LANG_PROGRAM.
52473
52474 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52475
52476         * lib/netdb.in.h: Don't define GNU specific constants until they
52477         are supported or needed.  Reported by Bruno Haible
52478         <bruno@clisp.org>.
52479
52480 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52481
52482         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
52483
52484 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52485
52486         * lib/getaddrinfo.h: Remove file.
52487         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
52488         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
52489         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
52490         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
52491         * modules/netdb: Substitute GNULIB_GETADDRINFO.
52492         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
52493         * tests/test-getaddrinfo.c: Likewise.
52494         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
52495         * NEWS: Mention change.
52496
52497 2008-10-19  Bruno Haible  <bruno@clisp.org>
52498
52499         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
52500
52501 2008-10-19  Bruno Haible  <bruno@clisp.org>
52502
52503         * lib/wait-process.c: Include simply <sys/wait.h>.
52504         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
52505         WIFSTOPPED): Remove fallback definitions.
52506         * modules/wait-process (Depends-on): Add sys_wait.
52507
52508         New module 'sys_wait'.
52509         * modules/sys_wait: New file.
52510         * lib/sys_wait.in.h: New file, partially copied from
52511         lib/wait-process.c.
52512         * m4/sys_wait_h.m4: New file.
52513         * doc/posix-headers/sys_wait.texi: Mention the new module.
52514
52515 2008-10-19  Bruno Haible  <bruno@clisp.org>
52516
52517         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
52518
52519 2008-10-19  Bruno Haible  <bruno@clisp.org>
52520
52521         Assume that waitpid() fills an 'int' status, not a 'union wait'.
52522         * lib/wait-process.c (WAIT_T): Remove type.
52523         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
52524         (wait_subprocess): Update.
52525
52526 2008-10-19  Bruno Haible  <bruno@clisp.org>
52527
52528         New module 'atoll'.
52529         * modules/atoll: New file.
52530         * lib/stdlib.in.h (atoll): New declaration.
52531         * lib/atoll.c: New file, from glibc with modifications.
52532         * m4/atoll.m4: New file.
52533         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
52534         HAVE_ATOLL.
52535         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
52536         * doc/posix-functions/atoll.texi: Mention the new module.
52537
52538 2008-10-19  Bruno Haible  <bruno@clisp.org>
52539
52540         Add strtoull() declaration to <stdlib.h>.
52541         * lib/stdlib.in.h (strtoull): New declaration.
52542         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52543         Set HAVE_STRTOULL.
52544         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
52545         HAVE_STRTOULL.
52546         * modules/strtoull (Depends-on): Add stdlib.
52547         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52548         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
52549         HAVE_STRTOULL.
52550
52551 2008-10-19  Bruno Haible  <bruno@clisp.org>
52552
52553         Add strtoll() declaration to <stdlib.h>.
52554         * lib/stdlib.in.h (strtoll): New declaration.
52555         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52556         Set HAVE_STRTOLL.
52557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
52558         HAVE_STRTOLL.
52559         * modules/strtoll (Depends-on): Add stdlib.
52560         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52561         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
52562
52563 2008-10-19  Bruno Haible  <bruno@clisp.org>
52564
52565         * modules/bcopy (Depends-on): Add strings.
52566         (Include): Specify <strings.h>.
52567
52568 2008-10-19  Bruno Haible  <bruno@clisp.org>
52569
52570         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
52571
52572 2008-10-19  Bruno Haible  <bruno@clisp.org>
52573
52574         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
52575         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
52576         mingw.
52577
52578 2008-10-19  Bruno Haible  <bruno@clisp.org>
52579
52580         * lib/atanl.c: Don't include isnanl.h.
52581         * lib/cosl.c: Likewise.
52582         * lib/ldexpl.c: Likewise.
52583         * lib/logl.c: Likewise.
52584         * lib/sinl.c: Likewise.
52585         * lib/sqrtl.c: Likewise.
52586         * lib/tanl.c: Likewise.
52587
52588         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
52589         * lib/isnanf.h: Remove file.
52590         * lib/isnand.h: Remove file.
52591         * lib/isnanl.h: Remove file.
52592         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
52593         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
52594         macros.
52595         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
52596         HAVE_ISNANF, don't define it as a C macro.
52597         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
52598         HAVE_ISNAND, don't define it as a C macro.
52599         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
52600         HAVE_ISNANL, don't define it as a C macro.
52601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
52602         HAVE_ISNAN[FDL].
52603         * modules/isnanf (Files): Remove lib/isnanf.h.
52604         (Depends-on): Add math.
52605         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52606         (Include): Specify <math.h> instead of isnanf.h.
52607         * modules/isnand (Files): Remove lib/isnand.h.
52608         (Depends-on): Add math.
52609         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52610         (Include): Specify <math.h> instead of isnand.h.
52611         * modules/isnanl (Files): Remove lib/isnanl.h.
52612         (Depends-on): Add math.
52613         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52614         (Include): Specify <math.h> instead of isnanl.h.
52615         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
52616         HAVE_ISNAN[FDL].
52617         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
52618         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
52619         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
52620         * NEWS: Mention the change.
52621
52622 2008-10-18  Bruno Haible  <bruno@clisp.org>
52623
52624         Add getusershell(), setusershell(), endusershell() declarations to
52625         <unistd.h>.
52626         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
52627         declarations.
52628         * lib/getusershell.c: Include unistd.h.
52629         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
52630         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52631         HAVE_GETUSERSHELL.
52632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
52633         and HAVE_GETUSERSHELL.
52634         * modules/getusershell (Depends-on): Add unistd, extensions.
52635         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52636         (Include): Specify <unistd.h>.
52637         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
52638         HAVE_GETUSERSHELL.
52639
52640 2008-10-18  Bruno Haible  <bruno@clisp.org>
52641
52642         Add a getloadavg() declaration to <stdlib.h>.
52643         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
52644         getloadavg declaration.
52645         (getloadavg): New declaration.
52646         * lib/getloadavg.c: Include <stdlib.h> first.
52647         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
52648         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
52649         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
52650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
52651         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52652         * modules/getloadavg (Depends-on): Add stdlib, extensions.
52653         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52654         (Include): Specify <stdlib.h>.
52655         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
52656         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52657
52658 2008-10-18  Bruno Haible  <bruno@clisp.org>
52659
52660         * lib/dirchownmod.c: Don't include lchmod.h.
52661
52662         Move the lchmod() declaration to <sys/stat.h>.
52663         * lib/lchmod.h: Remove file.
52664         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
52665         (lchmod): New declaration, moved here from lib/lchown.h.
52666         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
52667         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
52668         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
52669         and HAVE_LCHMOD.
52670         * modules/lchmod (Files): Remove lib/lchmod.h.
52671         (Depends-on): Add sys_stat, extensions.
52672         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52673         (Include): Specify <sys/stat.h> instead of lchmod.h.
52674         * modules/sys_stat (Depends-on): Add link-warning.
52675         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
52676         definition of GL_LINK_WARNING.
52677         * NEWS: Mention the change.
52678
52679 2008-10-18  Bruno Haible  <bruno@clisp.org>
52680
52681         * lib/fchdir.c: Don't include dirfd.h.
52682         * lib/fts.c: Likewise.
52683         * lib/getcwd.c: Likewise.
52684         * lib/glob.c: Likewise.
52685
52686         Move the dirfd() declaration to <dirent.h>.
52687         * lib/dirfd.h: Remove file.
52688         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
52689         (dirfd): New declaration.
52690         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
52691         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
52692         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
52693         HAVE_DECL_DIRFD.
52694         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
52695         HAVE_DECL_DIRFD.
52696         * modules/dirfd (Files): Remove lib/dirfd.h.
52697         (Depends-on): Add dirent, extensions.
52698         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
52699         (Include): Specify <dirent.h> instead of dirfd.h.
52700         * modules/dirent (Depends-on): Add link-warning.
52701         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
52702         definition of GL_LINK_WARNING.
52703         * NEWS: Mention the change.
52704
52705 2008-10-18  Bruno Haible  <bruno@clisp.org>
52706
52707         Move the euidaccess() declaration to <unistd.h>.
52708         * lib/euidaccess.h: Remove file.
52709         * lib/unistd.in.h (euidaccess): New declaration.
52710         * lib/euidaccess.c: Don't include euidaccess.h.
52711         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
52712         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
52713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
52714         and HAVE_EUIDACCESS.
52715         * modules/euidaccess (Files): Remove lib/euidaccess.h.
52716         (Depends-on): Add unistd.
52717         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52718         (Include): Specify <unistd.h> instead of euidaccess.h.
52719         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
52720         HAVE_EUIDACCESS.
52721         * NEWS: Mention the change.
52722
52723 2008-10-18  Bruno Haible  <bruno@clisp.org>
52724
52725         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
52726
52727         Move the getdomainname() declaration to <unistd.h>.
52728         * lib/getdomainname.h: Remove file.
52729         * lib/unistd.in.h (getdomainname): New declaration.
52730         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
52731         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
52732         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52733         HAVE_GETDOMAINNAME.
52734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52735         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
52736         * modules/getdomainname (Files): Remove lib/getdomainname.h.
52737         (Depends-on): Add unistd, extensions.
52738         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52739         (Includes): Specify <unistd.h> instead of getdomainname.h.
52740         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
52741         HAVE_GETDOMAINNAME.
52742         * NEWS: Mention the change.
52743
52744 2008-10-18  Bruno Haible  <bruno@clisp.org>
52745
52746         * modules/dirent: New file.
52747         * m4/dirent_h.m4: New file.
52748         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
52749         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
52750         * modules/fchdir (Files): Remove lib/dirent.in.h.
52751         (Depends-on): Add dirent.
52752         (Makefile.am): Move rules to modules/dirent.
52753         * doc/posix-headers/dirent.texi: Mention the new module.
52754
52755 2008-10-18  Bruno Haible  <bruno@clisp.org>
52756
52757         Avoid -Wunused-parameter warnings in public gnulib header files.
52758         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
52759         macro.
52760         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
52761
52762 2008-10-18  Bruno Haible  <bruno@clisp.org>
52763
52764         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
52765         * doc/glibc-functions/error.texi: Mention the module 'error'.
52766         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52767         * doc/glibc-functions/getdomainname.texi: Mention the module
52768         'getdomainname'.
52769         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52770         * doc/glibc-functions/getpagesize.texi: Mention the module
52771         'getpagesize'.
52772         * doc/glibc-functions/getusershell.texi: Mention the module
52773         'getusershell'.
52774         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52775         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52776         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52777         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52778         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52779         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52780         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52781         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52782         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52783         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52784         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52785         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52786         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52787         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52788
52789 2008-10-17  Bruno Haible  <bruno@clisp.org>
52790
52791         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52792         HP-UX and IRIX, use -0.0L.
52793         * tests/test-ceill.c (minus_zero): Likewise.
52794         * tests/test-floorl.c (minus_zero): Likewise.
52795         * tests/test-frexpl.c (minus_zero): Likewise.
52796         * tests/test-isnan.c (minus_zerol): Likewise.
52797         * tests/test-isnanl.h (minus_zero): Likewise.
52798         * tests/test-ldexpl.c (minus_zero): Likewise.
52799         * tests/test-roundl.c (minus_zero): Likewise.
52800         * tests/test-signbit.c (minus_zerol): Likewise.
52801         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52802         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52803         * tests/test-truncl.c (minus_zero): Likewise.
52804         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52805         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52806         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52807         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52808
52809 2008-10-17  Bruno Haible  <bruno@clisp.org>
52810
52811         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52812         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52813         that it gets activated only for gcc >= 3.0.
52814         * lib/dirent.in.h: Likewise.
52815         * lib/errno.in.h: Likewise.
52816         * lib/fcntl.in.h: Likewise.
52817         * lib/float.in.h: Likewise.
52818         * lib/iconv.in.h: Likewise.
52819         * lib/inttypes.in.h: Likewise.
52820         * lib/locale.in.h: Likewise.
52821         * lib/math.in.h: Likewise.
52822         * lib/netdb.in.h: Likewise.
52823         * lib/netinet_in.in.h: Likewise.
52824         * lib/search.in.h: Likewise.
52825         * lib/signal.in.h: Likewise.
52826         * lib/spawn.in.h: Likewise.
52827         * lib/stdarg.in.h: Likewise.
52828         * lib/stdint.in.h: Likewise.
52829         * lib/stdio.in.h: Likewise.
52830         * lib/stdlib.in.h: Likewise.
52831         * lib/string.in.h: Likewise.
52832         * lib/strings.in.h: Likewise.
52833         * lib/sys_file.in.h: Likewise.
52834         * lib/sys_ioctl.in.h: Likewise.
52835         * lib/sys_select.in.h: Likewise.
52836         * lib/sys_socket.in.h: Likewise.
52837         * lib/sys_stat.in.h: Likewise.
52838         * lib/sys_time.in.h: Likewise.
52839         * lib/sysexits.in.h: Likewise.
52840         * lib/time.in.h: Likewise.
52841         * lib/unistd.in.h: Likewise.
52842         * lib/wchar.in.h: Likewise.
52843         * lib/wctype.in.h: Likewise.
52844         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52845
52846 2008-10-17  Jim Meyering  <meyering@redhat.com>
52847
52848         ignore-value: don't depend on inline module
52849         * modules/ignore-value (Depends-on): Remove 'inline'.
52850         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52851         Suggestion from Bruno Haible.
52852
52853 2008-10-17  Bruno Haible  <bruno@clisp.org>
52854
52855         New implementation of condition variables for Win32.
52856         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52857         (gl_linked_waitqueue_t): New type.
52858         (gl_cond_t): Use it.
52859         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52860         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52861         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52862         (glthread_cond_init_func, glthread_cond_wait_func,
52863         glthread_cond_timedwait_func, glthread_cond_signal_func,
52864         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52865         Reimplemented on the basis of gl_linked_waitqueue_t.
52866         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52867         gl_waitqueue_t.
52868         (gl_rwlock_t): Update.
52869         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52870
52871 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52872
52873         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52874         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52875
52876 2008-10-17  Jim Meyering  <meyering@redhat.com>
52877
52878         ignore-value: new module
52879         * modules/ignore-value: New file.
52880         * lib/ignore-value.h: New file.
52881         * MODULES.html.sh (Compiler warning management): New section,
52882         just for this module.  More to come.
52883
52884 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52885
52886         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52887         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52888         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52889
52890 2008-10-16  Jim Meyering  <meyering@redhat.com>
52891
52892         openat-die.c: avoid 'no previous prototype' warning
52893         * lib/openat-die.c: Include "openat.h".
52894         Reported by Reuben Thomas <rrt@sc3d.org>.
52895
52896 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52897
52898         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52899         * lib/netdb.in.h: Fix typo.
52900         Reported by Bruno Haible  <bruno@clisp.org>
52901
52902         * lib/netdb.in.h: Include sys/socket.h for platforms without
52903         netdb.h, to get structures like hostent on MinGW.
52904         * modules/netdb (Depends-on): Add sys_socket.
52905
52906 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52907
52908         * modules/netdb, modules/netdb-tests: New file.
52909         * m4/netdb_h.m4: New file.
52910         * lib/netdb.in.h: Add, currently just an empty file pending
52911         definitions.
52912         * tests/test-netdb.c: New file.
52913         * doc/posix-headers/netdb.texi: Mention that we replace it if
52914         needed.
52915         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52916         netdb.
52917
52918 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52919
52920         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52921         with code.
52922
52923 2008-10-13  Bruno Haible  <bruno@clisp.org>
52924
52925         * lib/glthread/cond.c (glthread_cond_wait_func,
52926         glthread_cond_timedwait_func): Add a comment.
52927
52928 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52929
52930         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52931         * tests/test-select.c: Likewise,
52932
52933 2008-10-13  Bruno Haible  <bruno@clisp.org>
52934
52935         * lib/glthread/cond.c (glthread_cond_wait_func,
52936         glthread_cond_timedwait_func): Fix variable name.
52937         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52938
52939 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
52940
52941         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
52942         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
52943         struct sockaddr.sa_len.
52944         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
52945
52946 2008-10-13  Simon Josefsson  <simon@josefsson.org>
52947
52948         * build-aux/pmccabe2html: Add css and css_url parameters.
52949
52950 2008-10-12  Bruno Haible  <bruno@clisp.org>
52951
52952         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
52953         calling aclx_get.
52954         Reported by Rainer Tammer <tammer@tammer.net>.
52955
52956 2008-10-12  Bruno Haible  <bruno@clisp.org>
52957
52958         Use msvcrt aware primitives for creation/termination of Win32 threads.
52959         * lib/glthread/thread.c: Include <process.h>.
52960         (glthread_create_func): Use _beginthreadex instead of CreateThread.
52961         (wrapper_func): Update signature.
52962         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
52963
52964 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52965             Bruno Haible  <bruno@clisp.org>
52966
52967         Provide a Win32 implementation of the 'cond' module.
52968         * lib/glthread/cond.h [USE_WIN32]: New implementation.
52969         * lib/glthread/cond.c (glthread_cond_init_func,
52970         glthread_cond_wait_func, glthread_cond_timedwait_func,
52971         glthread_cond_signal_func, glthread_cond_broadcast_func,
52972         glthread_cond_destroy_func) [USE_WIN32]: New functions.
52973         * modules/cond (Dependencies): Add gettimeofday.
52974
52975 2008-10-11  Bruno Haible  <bruno@clisp.org>
52976
52977         Make sleep work on older versions of mingw.
52978         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52979         only whether it exists.
52980         * doc/posix-functions/sleep.texi: Mention the problem with older
52981         versions of mingw.
52982
52983 2008-10-11  Bruno Haible  <bruno@clisp.org>
52984
52985         New module 'shutdown'.
52986         * modules/shutdown: New file.
52987         * lib/sys_socket.in.h (shutdown): New declaration.
52988         * lib/winsock.c (shutdown): New function.
52989         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52990         GNULIB_SHUTDOWN.
52991         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52992         * doc/posix-functions/shutdown.texi: Document the new module.
52993
52994 2008-10-11  Jim Meyering  <meyering@redhat.com>
52995
52996         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52997
52998 2008-10-11  Bruno Haible  <bruno@clisp.org>
52999
53000         New module 'fclose'.
53001         * modules/fclose: New file.
53002         * lib/stdio.in.h (fclose): New declaration.
53003         * lib/fclose.c: New file.
53004         * m4/fclose.m4: New file.
53005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
53006         REPLACE_FCLOSE.
53007         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
53008         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
53009         REPLACE_FCLOSE.
53010         * modules/close (Depends-on): fclose.
53011         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
53012
53013 2008-10-11  Bruno Haible  <bruno@clisp.org>
53014
53015         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
53016         set errno and don't call _close.
53017
53018 2008-10-10  Bruno Haible  <bruno@clisp.org>
53019
53020         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
53021         ACL, not afterwards. Fixes test failure on Cygwin.
53022
53023 2008-10-09  Ben Pfaff  <blp@gnu.org>
53024
53025         * build-aux/announce-gen: Fix gnulib version related part of usage
53026         message.  Die with a useful error message if no tarballs are
53027         found.
53028
53029 2008-10-10  Jim Meyering  <meyering@redhat.com>
53030
53031         bootstrap: use git's --depth=N option only if it's supported
53032         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
53033         recognize the --depth option.  Reported by Pádraig Brady.
53034
53035 2008-10-09  Bruno Haible  <bruno@clisp.org>
53036
53037         New module 'ioctl'.
53038         * modules/ioctl: New file.
53039         * lib/sys_socket.in.h (ioctl): Remove declaration.
53040         * lib/winsock.c: Include <sys/ioctl.h>.
53041         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
53042         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53043         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
53044         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
53045         * doc/posix-functions/ioctl.texi: Mention the new module.
53046
53047 2008-10-09  Bruno Haible  <bruno@clisp.org>
53048
53049         New module 'sys_ioctl'.
53050         * lib/sys_ioctl.in.h: New file.
53051         * m4/sys_ioctl_h.m4: New file.
53052         * modules/sys_ioctl: New file.
53053         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
53054
53055 2008-10-09  Bruno Haible  <bruno@clisp.org>
53056
53057         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
53058         * lib/winsock.c: Include <stdarg.h>.
53059         (rpl_ioctl): Change to second argument 'int' and then varargs.
53060
53061 2008-10-09  Bruno Haible  <bruno@clisp.org>
53062
53063         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
53064         when the sys_socket module is present and the system has <winsock2.h>.
53065
53066 2008-10-09  Bruno Haible  <bruno@clisp.org>
53067
53068         * doc/posix-functions/close.texi: Mention module 'close' instead of
53069         module 'sys_socket'.
53070
53071 2008-10-09  Bruno Haible  <bruno@clisp.org>
53072
53073         * doc/glibc-headers/sys_ioctl.texi: New file.
53074         * doc/gnulib.texi: Include it.
53075
53076 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53077             Bruno Haible  <bruno@clisp.org>
53078
53079         Combine the two replacements of 'close'.
53080         * lib/sys_socket.in.h (close): Define to a reminder to include
53081         <unistd.h>.
53082         (_gl_close_fd_maybe_socket): New declaration.
53083         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
53084         * lib/winsock.c (close): Remove undefinition.
53085         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
53086         needed for the gnulib module 'close'.
53087         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
53088         define to an error symbol or to a warning, if suitable.
53089         * lib/close.c: Include <sys/socket.h>.
53090         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
53091         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
53092         UNISTD_H_HAVE_WINSOCK2_H.
53093         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
53094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53095         UNISTD_H_HAVE_WINSOCK2_H.
53096         * modules/sys_socket (Files): Add m4/unistd_h.m4.
53097         (configure.ac): Set a module indicator.
53098         (Makefile.am): Substitute GNULIB_CLOSE.
53099         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
53100         * modules/poll-tests (Depends-on): Add close.
53101         * modules/select-tests (Depends-on): Likewise.
53102
53103 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53104             Bruno Haible  <bruno@clisp.org>
53105
53106         New module 'close'.
53107         * modules/close: New file.
53108         * lib/unistd.in.h (close): Move declaration out of the
53109         FCHDIR_REPLACEMENT scope.
53110         (_gl_unregister_fd): New declaration.
53111         * lib/close.c: New file.
53112         * lib/fchdir.c (rpl_close): Remove function.
53113         * m4/close.m4: New file.
53114         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53115         close.
53116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
53117         REPLACE_CLOSE.
53118         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
53119         REPLACE_CLOSE.
53120         * modules/fchdir (Depends-on): Add close.
53121
53122 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53123             Bruno Haible  <bruno@clisp.org>
53124
53125         * lib/fcntl.in.h (open): Simplify conditionals.
53126         (_gl_register_fd): New declaration.
53127         * lib/fchdir.c (rpl_open): Remove function.
53128         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
53129         also.
53130         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
53131         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53132         open.
53133
53134 2008-10-09  Jim Meyering  <meyering@redhat.com>
53135
53136         GNUmakefile: use the more name-space-friendly "_version"
53137         * top/GNUmakefile (_dummy): Update.
53138         (_version): Rename from "version".
53139
53140 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53141             Bruno Haible  <bruno@clisp.org>
53142
53143         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
53144         rpl_close.
53145         (_gl_register_fd): New function, extracted from rpl_open.
53146         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
53147         (rpl_open, rpl_opendir): Use _gl_register_fd.
53148
53149 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53150
53151         Fix organization of 'open' replacement.
53152         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
53153         (gl_FUNC_OPEN): Use it.
53154         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
53155
53156 2008-10-08  Bruno Haible  <bruno@clisp.org>
53157
53158         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
53159
53160 2008-10-08  Simon Josefsson  <simon@josefsson.org>
53161
53162         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
53163         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
53164         listen).
53165
53166 2008-10-08  Eric Blake  <ebb9@byu.net>
53167
53168         GNUmakefile: add 'make version' target
53169         * top/GNUmakefile (_curr-ver): Split version update rules...
53170         (version): ...into a target.
53171
53172 2008-10-07  Bruno Haible  <bruno@clisp.org>
53173
53174         Use a more portable replacement expression for -0.0L.
53175         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
53176         instead of -0.0L. Fix m4 quotation.
53177
53178         * tests/test-signbit.c: Include <float.h>.
53179         (minus_zero): New variable.
53180         (test_signbitl): Use minus_zero instead of -zero.
53181         * modules/signbit-tests (Depends-on): Add float.
53182
53183         * tests/test-ceill.c: Include <float.h>.
53184         (zero): Remove variable.
53185         (minus_zero): New variable.
53186         (main): Use minus_zero instead of -zero.
53187         * modules/ceill-tests (Depends-on): Add float.
53188
53189         * tests/test-floorl.c: Include <float.h>.
53190         (zero): Remove variable.
53191         (minus_zero): New variable.
53192         (main): Use minus_zero instead of -zero.
53193         * modules/floorl-tests (Depends-on): Add float.
53194
53195         * tests/test-roundl.c: Include <float.h>.
53196         (zero): Remove variable.
53197         (minus_zero): New variable.
53198         (main): Use minus_zero instead of -zero.
53199         * modules/roundl-tests (Depends-on): Add float.
53200
53201         * tests/test-truncl.c: Include <float.h>.
53202         (zero): Remove variable.
53203         (minus_zero): New variable.
53204         (main): Use minus_zero instead of -zero.
53205         * modules/truncl-tests (Depends-on): Add float.
53206
53207         * tests/test-frexpl.c (zero): Remove variable.
53208         (minus_zero): New variable.
53209         (main): Use minus_zero instead of -zero.
53210         * modules/frexpl-tests (Depends-on): Add float.
53211
53212         * tests/test-isnan.c (zerol): Remove variable.
53213         (minus_zerol): New variable.
53214         (test_long_double): Use minus_zerol instead of -zerol.
53215         * modules/isnan-tests (Depends-on): Add float.
53216
53217         * tests/test-isnanl.h (zero): Remove variable.
53218         (minus_zero): New variable.
53219         (main): Use minus_zero instead of -zero.
53220         * modules/isnanl-nolibm-tests (Depends-on): Add float.
53221         * modules/isnanl-tests (Depends-on): Add float.
53222
53223         * tests/test-ldexpl.c (zero): Remove variable.
53224         (minus_zero): New variable.
53225         (main): Use minus_zero instead of -zero.
53226         * modules/ldexpl-tests (Depends-on): Add float.
53227
53228         * tests/test-snprintf-posix.h (zerol): Remove variable.
53229         (minus_zerol): New variable.
53230         (test_function): Use minus_zerol instead of -zerol.
53231         * modules/snprintf-posix-tests (Depends-on): Add float.
53232         * modules/vsnprintf-posix-tests (Depends-on): Add float.
53233
53234         * tests/test-sprintf-posix.h (zerol): Remove variable.
53235         (minus_zerol): New variable.
53236         (test_function): Use minus_zerol instead of -zerol.
53237         * modules/sprintf-posix-tests (Depends-on): Add float.
53238         * modules/vsprintf-posix-tests (Depends-on): Add float.
53239
53240         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
53241         (minus_zerol): New variable.
53242         (test_function): Use minus_zerol instead of -zerol.
53243         * modules/vasnprintf-posix-tests (Depends-on): Add float.
53244
53245         * tests/test-vasprintf-posix.c (zerol): Remove variable.
53246         (minus_zerol): New variable.
53247         (test_function): Use minus_zerol instead of -zerol.
53248         * modules/vasprintf-posix-tests (Depends-on): Add float.
53249
53250 2008-10-07  Simon Josefsson  <simon@josefsson.org>
53251
53252         * MODULES.html.sh (Support for building documentation): Mention
53253         pmccabe2html.  Sort entries.
53254
53255         Add pmccabe2html module, from gnupdf.
53256         * build-aux/pmccabe.css: New file.
53257         * build-aux/pmccabe2html: New file.
53258         * m4/pmccabe2html.m4: New file.
53259         * modules/pmccabe2html: New file.
53260
53261 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
53262
53263         flock: new module
53264         * MODULES.html.sh: Add to list of modules.
53265         * lib/flock.c: flock implementation for Windows and Unix systems
53266         which have fcntl.
53267         * doc/glibc-functions/flock.texi: Update documentation.
53268         * lib/sys_file.in.h: <sys/file.h> header file.
53269         * m4/flock.m4: M4 macros.
53270         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
53271         * modules/flock: flock module.
53272         * modules/flock-tests: flock tests module.
53273         * modules/sys_file: sys/file.h module.
53274         * tests/test-flock.c: test suite for flock.
53275
53276 2008-10-06  Jim Meyering  <meyering@redhat.com>
53277
53278         bootstrap: check for LT_INIT more portably still ;-)
53279         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
53280         Spotted by Bruno Haible.
53281
53282 2008-10-06  Eric Blake  <ebb9@byu.net>
53283
53284         test-signbit: avoid tripping Irix cc bug on -0.0L
53285         * tests/test-signbit.c (minus_zerol): Delete, and replace with
53286         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
53287         entire testsuite consistent and avoids an Irix 6.2 bug.
53288
53289 2008-10-05  Bruno Haible  <bruno@clisp.org>
53290             Jim Meyering  <jim@meyering.net>
53291
53292         Add an option for ignoring EPIPE during close_stdout.
53293         * lib/closeout.h: Include <stdbool.h>.
53294         (close_stdout_set_ignore_EPIPE): New declaration.
53295         * lib/closeout.c: Include <stdbool.h>.
53296         (ignore_EPIPE): New variable.
53297         (close_stdout_set_ignore_EPIPE): New function.
53298         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
53299         * lib/close-stream.c (close_stream): Mention the possible EPIPE
53300         failure.
53301         * modules/closeout (Depends-on): Add stdbool.
53302
53303 2008-10-05  Bruno Haible  <bruno@clisp.org>
53304
53305         * modules/accept: New file.
53306         * modules/bind: New file.
53307         * modules/connect: New file.
53308         * modules/getpeername: New file.
53309         * modules/getsockname: New file.
53310         * modules/getsockopt: New file.
53311         * modules/listen: New file.
53312         * modules/recv: New file.
53313         * modules/recvfrom: New file.
53314         * modules/send: New file.
53315         * modules/sendto: New file.
53316         * modules/setsockopt: New file.
53317         * modules/socket: New file.
53318         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
53319         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53320         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
53321         the particular module is requested. Add a link warning when the
53322         particular module is not requested.
53323         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
53324         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
53325         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
53326         the particular module is requested.
53327         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
53328         gl_SYS_SOCKET_H_DEFAULTS): New macros.
53329         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
53330         * modules/sys_socket (Depends-on): Add link-warning.
53331         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
53332         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
53333         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
53334         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
53335         GL_LINK_WARNING.
53336         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
53337         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
53338         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
53339         * doc/posix-functions/getpeername.texi: Mention the new module
53340         'getpeername'.
53341         * doc/posix-functions/getsockname.texi: Mention the new module
53342         'getsockname'.
53343         * doc/posix-functions/getsockopt.texi: Mention the new module
53344         'getsockopt'.
53345         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53346         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53347         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53348         * doc/posix-functions/send.texi: Mention the new module 'send'.
53349         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53350         * doc/posix-functions/setsockopt.texi: Mention the new module
53351         'setsockopt'.
53352         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53353         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53354         listen, connect, accept.
53355         * modules/select-tests (Depends-on): Likewise.
53356
53357 2008-10-05  Bruno Haible  <bruno@clisp.org>
53358
53359         * lib/winsock.c (strerror): Remove unused #undef.
53360         (rpl_close): Remove unused local variable.
53361
53362         * modules/sys_socket (Depends-on); Add errno.
53363
53364 2008-10-05  Bruno Haible  <bruno@clisp.org>
53365
53366         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53367         (select): Add a link warning when the 'select' module is not used.
53368         * modules/sys_select (Depends-on): Add link-warning.
53369         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53370         Suggested by Paolo Bonzini.
53371
53372 2008-10-05  Jim Meyering  <meyering@redhat.com>
53373
53374         bootstrap: check for LT_INIT more portably
53375         * build-aux/bootstrap: Avoid using grep -E, since it's not
53376         portable enough.  Suggestion from Bruno Haible.
53377
53378 2008-10-05  Bruno Haible  <bruno@clisp.org>
53379
53380         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53381         as being fixed by gnulib.
53382
53383 2008-10-05  Bruno Haible  <bruno@clisp.org>
53384
53385         * modules/select-tests: New file, mostly copied from
53386         modules/sys_select-tests.
53387         * tests/test-select.c: New file, mostly copied from
53388         tests/test-sys_select.c.
53389         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53390         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53391         (Makefile.am): Remove test_sys_select_LDADD.
53392
53393         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53394         to an undefined symbol, for an error message.
53395         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53396         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53397         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53398         winsock-select.c here.
53399         * modules/sys_select (Files): Remove lib/winsock-select.c.
53400         (Depends-on): Remove alloca.
53401         (Makefile.am): Substitute GNULIB_SELECT.
53402         * modules/select: New file.
53403         * doc/posix-functions/select.texi: Update.
53404
53405 2008-10-05  Bruno Haible  <bruno@clisp.org>
53406
53407         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
53408         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
53409         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
53410         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
53411         getdtablesize.
53412         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
53413         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
53414
53415 2008-10-05  Bruno Haible  <bruno@clisp.org>
53416
53417         * modules/getdtablesize-tests: New file.
53418         * tests/test-getdtablesize.c: New file.
53419
53420         New module 'getdtablesize'.
53421         * lib/unistd.in.h (getdtablesize): New declaration.
53422         * lib/getdtablesize.c: New file.
53423         * m4/getdtablesize.m4: New file.
53424         * modules/getdtablesize: New file.
53425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53426         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
53427         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
53428         HAVE_GETDTABLESIZE.
53429         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
53430
53431 2008-10-05  Bruno Haible  <bruno@clisp.org>
53432
53433         * modules/sched (Makefile.am): Fix typo.
53434         Reported by Simon Josefsson.
53435
53436 2008-10-05  Jim Meyering  <meyering@redhat.com>
53437
53438         bootstrap: check for LT_INIT, too
53439         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
53440         are deprecated.  Suggestion from Ralf Wildenhues.
53441
53442 2008-10-05  Bruno Haible  <bruno@clisp.org>
53443
53444         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
53445         overriding them by ours.
53446         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
53447
53448 2008-10-05  Jim Meyering  <meyering@redhat.com>
53449
53450         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
53451         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
53452         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
53453
53454 2008-10-04  Bruno Haible  <bruno@clisp.org>
53455
53456         * modules/dup2 (License): Change to LGPLv2+.
53457         * modules/sleep (License): Likewise.
53458         * modules/perror (License): Likewise.
53459         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
53460         Blake.
53461         * modules/signal (License): Likewise.
53462         * modules/sigprocmask (License): Likewise.
53463         * modules/raise (License): Change to LGPLv2+, with approval by Jim
53464         Meyering.
53465
53466 2008-10-04  Bruno Haible  <bruno@clisp.org>
53467
53468         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
53469         Reported by Rainer Tammer <tammer@tammer.net>.
53470
53471 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
53472             Bruno Haible  <bruno@clisp.org>
53473
53474         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
53475         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
53476         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
53477
53478 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
53479
53480         filevercmp: new module
53481         * lib/filevercmp.h: New function filevercmp comparing version strings.
53482         * lib/filevercmp.c: Implementation of filevercmp function.
53483         * modules/filevercmp: Module metadata.
53484         * tests/test-filevercmp.c: Unit test for new module.
53485         * modules/filevercmp-tests: Unit test metadata.
53486         * MODULES.html.sh: Add filevercmp module.
53487
53488 2008-10-03  Bruno Haible  <bruno@clisp.org>
53489
53490         * lib/c-ctype.h: Add comment.
53491         Reported by Jim Meyering.
53492
53493 2008-10-02  Bruno Haible  <bruno@clisp.org>
53494
53495         * modules/posix_spawn-internal (Depends-on): Add 'open'.
53496
53497 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53498
53499         * build-aux/bootstrap: Allow renaming bootstrap, and change the
53500         name of bootstrap.conf accordingly.
53501
53502 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53503
53504         * build-aux/bootstrap: Install git-merge-changelog configuration
53505         items into .gitconfig if needed.
53506
53507 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53508
53509         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
53510         git repository, and initialize/update it accordingly.
53511
53512 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
53513
53514         * modules/fsync-tests: New file.
53515         * tests/test-fsync.c: New file.
53516
53517         New module 'fsync'.
53518         * lib/fsync.c: New file.
53519         * m4/fsync.m4: New file.
53520         * modules/fsync: New file.
53521         * lib/unistd.in.h (fsync): New declaration.
53522         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
53523         GNULIB_FSYNC and HAVE_FSYNC.
53524         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
53525         * MODULES.html.sh (posix_functions): Add fsync.
53526         * doc/posix-functions/fsync.texi: Mention the new module.
53527
53528 2008-10-02  Jim Meyering  <meyering@redhat.com>
53529
53530         fts.c: sync with similar code from coreutils' remove.c
53531         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
53532         Guard also with "#if defined __linux__", since for now at least,
53533         this code is Linux-kernel-specific.
53534
53535 2008-10-02  Jim Meyering  <meyering@redhat.com>
53536
53537         fts: bug fixes
53538         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
53539         Include <sys/vfs.h>, not <sys/statfs.h>.
53540
53541         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
53542         Include <sys/vfs.h>, not <sys/statfs.h>.
53543
53544 2008-10-01  Bruno Haible  <bruno@clisp.org>
53545
53546         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
53547         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
53548         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
53549         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
53550         * doc/posix-functions/posix_spawnp.texi: Likewise.
53551         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
53552         whether posix_spawn actually works.
53553         * m4/pipe.m4 (gl_PIPE): Likewise.
53554         * modules/execute (Files): Add m4/posix_spawn.m4.
53555         * modules/pipe (Files): Add m4/posix_spawn.m4.
53556         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
53557
53558 2008-10-01  Jim Meyering  <meyering@redhat.com>
53559
53560         remove trailing spaces
53561         * NEWS: Likewise.
53562         * lib/poll.c (poll): Likewise.
53563         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
53564         * lib/winsock.c (rpl_close): Likewise.
53565         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
53566         * modules/yield: Likewise.
53567         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
53568         * tests/test-sys_select.c (connect_to_socket): Likewise.
53569
53570         fts.c: adjust a new interface to be more generally useful
53571         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
53572         (fts_build): Adjust caller.
53573
53574 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53575
53576         * modules/cond-tests: New file.
53577         * tests/test-cond.c: New file.
53578
53579 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53580             Bruno Haible  <bruno@clisp.org>
53581
53582         * modules/cond (Dependencies): Add errno, time.
53583         * lib/glthread/cond.h: Include <time.h>.
53584         (gl_cond_define, gl_cond_define_initialized): Use the same definition
53585         across platforms.
53586
53587 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53588             Bruno Haible  <bruno@clisp.org>
53589
53590         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
53591
53592 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53593             Bruno Haible  <bruno@clisp.org>
53594
53595         * modules/tls-tests (Depends-on): Add thread, yield.
53596         (configure.ac): Remove all checks.
53597         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
53598         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53599         gl_thread_self): Remove definitions. Include glthread/thread.h and
53600         glthread/yield.h instead.
53601         (test_tls): Pass an additional NULL argument to gl_thread_join.
53602
53603 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53604             Bruno Haible  <bruno@clisp.org>
53605
53606         * modules/lock-tests (Depends-on): Add thread, yield.
53607         (configure.ac): Remove all checks.
53608         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
53609         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53610         gl_thread_self): Remove definitions. Include glthread/thread.h and
53611         glthread/yield.h instead.
53612         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
53613         additional NULL argument to gl_thread_join.
53614
53615 2008-09-30  Bruno Haible  <bruno@clisp.org>
53616
53617         Fix the Win32 implementation of the 'thread' module.
53618         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
53619         pointer type.
53620         (gl_thread_self): Invoke gl_thread_self_func.
53621         (gl_thread_self_func): New declaration.
53622         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
53623         (do_init_self_key, init_self_key): New functions.
53624         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
53625         Remove some fields.
53626         (running_threads, running_lock): Remove variables.
53627         (get_current_thread_handle): New function.
53628         (gl_thread_self_func, wrapper_func, glthread_create_func,
53629         glthread_join_func, gl_thread_exit_func): Largely rewritten and
53630         simplified.
53631
53632 2008-09-30  Bruno Haible  <bruno@clisp.org>
53633
53634         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
53635         files.
53636
53637 2008-09-30  Jim Meyering  <meyering@redhat.com>
53638
53639         fts.m4: correct the test for statfs.f_type
53640         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
53641         when checking for statfs.f_type.
53642
53643 2008-09-15  Simon Josefsson  <simon@josefsson.org>
53644
53645         tests: avoid some compiler warnings
53646         * tests/test-memchr.c (main): Pass NULL indirectly.
53647         * tests/test-getdate.c (main): Remove unused variable 'ret'.
53648
53649 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
53650
53651         getdate.y: disallow countable dayshifts like "4 yesterday ago"
53652         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
53653         exactly specified dayshifts.
53654         (dayshift): New rule.
53655         (rel): Add dayshift.
53656         (relative_time_table) [tomorrow, yesterday, today, now]:
53657         Use tDAY_SHIFT in place of tDAY_UNIT.
53658         * tests/test-getdate.c: Add tests for now-disallowed countable
53659         dayshifts, e.g., "4 yesterday ago".
53660
53661 2008-09-29  Bruno Haible  <bruno@clisp.org>
53662
53663         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
53664         * tests/test-posix_spawn1.in.sh: Renamed from
53665         tests/test-posix_spawn.in.sh.
53666         * tests/test-posix_spawn2.c: New file.
53667         * tests/test-posix_spawn2.in.sh: New file.
53668         * modules/posix_spawnp-tests (Files): Update.
53669         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
53670
53671 2008-09-29  Bruno Haible  <bruno@clisp.org>
53672
53673         Propagate effects of putenv/setenv/unsetenv to child processes.
53674         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
53675         * lib/pipe.c (create_pipe): Likewise.
53676
53677 2008-09-29  Bruno Haible  <bruno@clisp.org>
53678
53679         Enable use of shell scripts as executables in mingw.
53680         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
53681         run the program as a shell script.
53682         * lib/pipe.c (create_pipe): Likewise.
53683         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
53684         resulting array.
53685
53686 2008-09-29  Eric Blake  <ebb9@byu.net>
53687
53688         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
53689
53690 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
53691
53692         * doc/posix-functions/accept.texi: Update mingw problems.
53693         * doc/posix-functions/bind.texi: Update mingw problems.
53694         * doc/posix-functions/close.texi: Update mingw problems.
53695         * doc/posix-functions/connect.texi: Update mingw problems.
53696         * doc/posix-functions/getpeername.texi: Update mingw problems.
53697         * doc/posix-functions/getsockname.texi: Update mingw problems.
53698         * doc/posix-functions/getsockopt.texi: Update mingw problems.
53699         * doc/posix-functions/ioctl.texi: Update mingw problems.
53700         * doc/posix-functions/listen.texi: Update mingw problems.
53701         * doc/posix-functions/recv.texi: Update mingw problems.
53702         * doc/posix-functions/recvfrom.texi: Update mingw problems.
53703         * doc/posix-functions/select.texi: Update mingw problems.
53704         * doc/posix-functions/send.texi: Update mingw problems.
53705         * doc/posix-functions/sendto.texi: Update mingw problems.
53706         * doc/posix-functions/setsockopt.texi: Update mingw problems.
53707         * doc/posix-functions/socket.texi: Update mingw problems.
53708
53709 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
53710             Bruno Haible  <bruno@clisp.org>
53711
53712         * lib/sys_select.in.h: Include sys/time.h.
53713         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
53714         * modules/sys_select: Depend on sys_time.
53715         * tests/test-sys_select.c: Test that sys/select.h defines struct
53716         timeval fully.
53717
53718 2008-09-29  Bruno Haible  <bruno@clisp.org>
53719
53720         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
53721         * lib/sys_select.in.h: Likewise.
53722
53723 2008-09-29  Bruno Haible  <bruno@clisp.org>
53724
53725         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
53726
53727 2008-09-29  Bruno Haible  <bruno@clisp.org>
53728
53729         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
53730         Set LIBSOCKET instead of augmenting LIBS.
53731         * modules/sockets (Link): New section.
53732         * modules/sockets-tests (test_sockets_LDADD): New variable.
53733         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
53734         * modules/poll-tests (test_poll_LDADD): New variable.
53735         * NEWS: Document the change.
53736
53737 2008-09-29  Bruno Haible  <bruno@clisp.org>
53738
53739         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
53740         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
53741         ARPA_INET_H directly.
53742         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53743
53744 2008-09-28  Bruno Haible  <bruno@clisp.org>
53745
53746         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
53747         from gl_HEADER_SYS_SOCKET.
53748         (gl_HEADER_SYS_SOCKET): Invoke it.
53749         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53750
53751 2008-09-28  Bruno Haible  <bruno@clisp.org>
53752
53753         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
53754         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
53755         Needed on OSF/1 4.0.
53756
53757 2008-09-28  Bruno Haible  <bruno@clisp.org>
53758
53759         Override open more carefully.
53760         * lib/open.c (orig_open): New function.
53761         (rpl_open): Use orig_open instead of open.
53762         * lib/fcntl.in.h: Add special invocation convention.
53763         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
53764         (gl_FUNC_OPEN): Invoke it.
53765
53766         Override freopen more carefully.
53767         * lib/freopen.c (orig_freopen): New function.
53768         (rpl_freopen): Use orig_freopen instead of freopen.
53769         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53770         (gl_FUNC_FREOPEN): Invoke it.
53771
53772         Override fopen more carefully.
53773         * lib/fopen.c (orig_fopen): New function.
53774         (rpl_fopen): Use orig_fopen instead of fopen.
53775         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53776         (gl_FUNC_FOPEN): Invoke it.
53777         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53778
53779 2008-09-28  Bruno Haible  <bruno@clisp.org>
53780
53781         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53782         SIGPIPE.
53783
53784 2008-09-28  Bruno Haible  <bruno@clisp.org>
53785
53786         * tests/test-sigaction.c (handler, main): Disable the check whether
53787         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53788         glibc systems with LinuxThreads.
53789
53790 2008-09-28  Bruno Haible  <bruno@clisp.org>
53791
53792         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53793
53794         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53795         with AIX xlc.
53796         * lib/fcntl.in.h (open): Likewise.
53797         Reported by Rainer Tammer <tammer@tammer.net>.
53798
53799 2008-09-28  Bruno Haible  <bruno@clisp.org>
53800
53801         * modules/posix_spawnp-tests: New file.
53802         * tests/test-posix_spawn.c: New file.
53803         * tests/test-posix_spawn.in.sh: New file.
53804
53805         New module 'posix_spawnp'.
53806         * modules/posix_spawnp: New file.
53807         * lib/spawnp.c: New file, from GNU libc with modifications.
53808         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53809
53810         New module 'posix_spawn'.
53811         * modules/posix_spawn: New file.
53812         * lib/spawn.c: New file, from GNU libc with modifications.
53813         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53814
53815         New module 'posix_spawnattr_destroy'.
53816         * modules/posix_spawnattr_destroy: New file.
53817         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53818         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53819         module.
53820
53821         New module 'posix_spawnattr_setsigmask'.
53822         * modules/posix_spawnattr_setsigmask: New file.
53823         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53824         modifications.
53825         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53826         new module.
53827
53828         New module 'posix_spawnattr_getsigmask'.
53829         * modules/posix_spawnattr_getsigmask: New file.
53830         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53831         modifications.
53832         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53833         new module.
53834
53835         New module 'posix_spawnattr_setsigdefault'.
53836         * modules/posix_spawnattr_setsigdefault: New file.
53837         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53838         modifications.
53839         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53840         new module.
53841
53842         New module 'posix_spawnattr_getsigdefault'.
53843         * modules/posix_spawnattr_getsigdefault: New file.
53844         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53845         modifications.
53846         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53847         new module.
53848
53849         New module 'posix_spawnattr_setschedpolicy'.
53850         * modules/posix_spawnattr_setschedpolicy: New file.
53851         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53852         modifications.
53853         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53854         new module.
53855
53856         New module 'posix_spawnattr_getschedpolicy'.
53857         * modules/posix_spawnattr_getschedpolicy: New file.
53858         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53859         modifications.
53860         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53861         new module.
53862
53863         New module 'posix_spawnattr_setschedparam'.
53864         * modules/posix_spawnattr_setschedparam: New file.
53865         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53866         modifications.
53867         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53868         new module.
53869
53870         New module 'posix_spawnattr_getschedparam'.
53871         * modules/posix_spawnattr_getschedparam: New file.
53872         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53873         modifications.
53874         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53875         new module.
53876
53877         New module 'posix_spawnattr_setpgroup'.
53878         * modules/posix_spawnattr_setpgroup: New file.
53879         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53880         modifications.
53881         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53882         module.
53883
53884         New module 'posix_spawnattr_getpgroup'.
53885         * modules/posix_spawnattr_getpgroup: New file.
53886         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53887         modifications.
53888         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53889         module.
53890
53891         New module 'posix_spawnattr_setflags'.
53892         * modules/posix_spawnattr_setflags: New file.
53893         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53894         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53895         module.
53896
53897         New module 'posix_spawnattr_getflags'.
53898         * modules/posix_spawnattr_getflags: New file.
53899         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53900         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53901         module.
53902
53903         New module 'posix_spawnattr_init'.
53904         * modules/posix_spawnattr_init: New file.
53905         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53906         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53907         module.
53908
53909         New module 'posix_spawn_file_actions_destroy'.
53910         * modules/posix_spawn_file_actions_destroy: New file.
53911         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53912         modifications.
53913         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53914         the new module.
53915
53916         New module 'posix_spawn_file_actions_addopen'.
53917         * modules/posix_spawn_file_actions_addopen: New file.
53918         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53919         modifications.
53920         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53921         the new module.
53922
53923         New module 'posix_spawn_file_actions_adddup2'.
53924         * modules/posix_spawn_file_actions_adddup2: New file.
53925         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53926         modifications.
53927         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53928         the new module.
53929
53930         New module 'posix_spawn_file_actions_addclose'.
53931         * modules/posix_spawn_file_actions_addclose: New file.
53932         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53933         modifications.
53934         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53935         the new module.
53936
53937         New module 'posix_spawn_file_actions_init'.
53938         * modules/posix_spawn_file_actions_init: New file.
53939         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
53940         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
53941         new module.
53942
53943         New module 'posix_spawn-internal'.
53944         * modules/posix_spawn-internal: New file.
53945         * lib/spawn_int.h: New file, from GNU libc with modifications.
53946         * lib/spawni.c: New file, from GNU libc with modifications.
53947         * m4/posix_spawn.m4: New file.
53948
53949         New module 'spawn'.
53950         * modules/spawn: New file.
53951         * lib/spawn.in.h: New file, from GNU libc with modifications.
53952         * m4/spawn_h.m4: New file.
53953         * doc/posix-headers/spawn.texi: Mention the new module.
53954
53955 2008-09-28  Bruno Haible  <bruno@clisp.org>
53956
53957         * modules/sched-tests: New file.
53958         * tests/test-sched.c: New file.
53959
53960         New module 'sched'.
53961         * modules/sched: New file.
53962         * lib/sched.in.h: New file.
53963         * m4/sched_h.m4: New file.
53964         * doc/posix-headers/sched.texi: Mention the new module.
53965
53966 2008-09-27  Eric Blake  <ebb9@byu.net>
53967
53968         Fix previous patch, and tweak references to $0.
53969         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
53970         (func_version, func_gnulib_dir): Don't call this program
53971         gnulib-tool.
53972         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
53973         with using $0 in function.
53974         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
53975         (func_fatal_error): Reuse the name the user invoked us with.
53976
53977 2008-09-27  Bruno Haible  <bruno@clisp.org>
53978
53979         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53980         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53981         (gl_ICONV_H): Not here.
53982         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53983         instead of assigning ICONV_H directly.
53984
53985         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53986         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53987         WCHAR_H directly.
53988
53989 2008-09-27  Bruno Haible  <bruno@clisp.org>
53990
53991         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53992         * modules/arpa_inet (Depends-on): Add link-warning.
53993         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53994         * modules/unistd (Makefile.am): Likewise.
53995
53996 2008-09-26  Bruno Haible  <bruno@clisp.org>
53997
53998         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53999         variables.
54000         (func_version): Essentially copied from gnulib-tool.
54001         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
54002         func_readlink): Copied from gnulib-tool.
54003
54004 2008-09-26  Bruno Haible  <bruno@clisp.org>
54005
54006         * gnulib-tool (func_version): Change directory to $gnulib_dir before
54007         invoking git-version-gen.
54008
54009 2008-09-26  Bruno Haible  <bruno@clisp.org>
54010
54011         * posix-modules: Update to directory names changed on 2008-01-19.
54012         Remove commas in output before splitting into words. No more need to
54013         avoid 'ftruncate' since 2007-02-19.
54014
54015 2008-09-26  Bruno Haible  <bruno@clisp.org>
54016
54017         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
54018
54019 2008-09-26  Bruno Haible  <bruno@clisp.org>
54020
54021         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
54022         * modules/fwriteerror (Depends-on): Add errno.
54023
54024 2008-09-26  Bruno Haible  <bruno@clisp.org>
54025
54026         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
54027         * tests/test-vc-list-files-cvs.sh: Likewise.
54028
54029 2008-09-26  Bruno Haible  <bruno@clisp.org>
54030
54031         * doc/posix-headers/sys_resource.texi: Reorder items.
54032
54033 2008-09-26  Jim Meyering  <meyering@redhat.com>
54034
54035         fts: tweak inode comparison function
54036         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
54037         inode numbers, as documented.
54038
54039         fts: sort dirent entries on inode number before traversing
54040         This avoids a quadratic, seek-related performance penalty when
54041         operating on a directory containing many entries (measurable at 10k;
54042         3.5 hours at 2 million entries with a cold cache) on certain types
54043         of file systems, including ext3 and ext4, but not tmpfs.
54044         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
54045         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
54046         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
54047         (fs_handles_readdir_ordered_dirents_efficiently): New function.
54048         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
54049         (fts_build): Set the stat.st_ino member from D_INO.
54050         If it is likely to be useful, sort dirent entries on inode number.
54051
54052         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
54053         and the struct statfs.f_type member.
54054         * modules/fts (Depends-on): Add d-ino.
54055
54056 2008-09-26  Bruno Haible  <bruno@clisp.org>
54057
54058         * modules/sigpipe-die (Depends-on): Add sigpipe.
54059
54060         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
54061         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
54062         and GNULIB_STDIO_H_SIGPIPE are set.
54063         * lib/stdio-write.c: New file.
54064         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
54065         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54066         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54067         REPLACE_STDIO_WRITE_FUNCS.
54068         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
54069         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54070         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54071         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54072         * modules/stdio (Files): Add lib/stdio-write.c.
54073         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
54074         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54075         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54076         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54077         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
54078         REPLACE_FPRINTF_POSIX.
54079         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
54080         REPLACE_PRINTF_POSIX.
54081         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
54082         REPLACE_VFPRINTF_POSIX.
54083         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
54084         REPLACE_VPRINTF_POSIX.
54085         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
54086         SIGPIPE issue.
54087         * doc/posix-functions/fputc.texi: Likewise.
54088         * doc/posix-functions/fputs.texi: Likewise.
54089         * doc/posix-functions/fwrite.texi: Likewise.
54090         * doc/posix-functions/printf.texi: Likewise.
54091         * doc/posix-functions/putc.texi: Likewise.
54092         * doc/posix-functions/putchar.texi: Likewise.
54093         * doc/posix-functions/puts.texi: Likewise.
54094         * doc/posix-functions/vfprintf.texi: Likewise.
54095         * doc/posix-functions/vprintf.texi: Likewise.
54096
54097         * modules/safe-write (Depends-on): Add write.
54098
54099         * modules/sigpipe-tests: New file.
54100         * tests/test-sigpipe.c: New file.
54101         * tests/test-sigpipe.sh: New file.
54102
54103         * modules/write: New file.
54104         * lib/unistd.in.h: Include <sys/types.h>.
54105         (write): New declaration.
54106         * lib/write.c: New file.
54107         * m4/write.m4: New file.
54108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54109         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
54110         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
54111         GNULIB_WRITE, REPLACE_WRITE.
54112         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
54113         and the SIGPIPE issue.
54114
54115         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
54116         (raise): New declaration.
54117         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
54118         (ext_signal): New function.
54119         (rpl_raise): New function.
54120         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
54121         GNULIB_SIGNAL_H_SIGPIPE.
54122         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
54123         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
54124
54125         * modules/sigpipe: New file.
54126         * m4/sigpipe.m4: New file.
54127
54128 2008-09-25  Derek Price  <derek@ximbiot.com>
54129             Bruno Haible  <bruno@clisp.org>
54130
54131         * gnulib-tool (func_import): Report all license incompatibilities, not
54132         just the first one.
54133
54134 2008-09-25  Bruno Haible  <bruno@clisp.org>
54135
54136         * gnulib-tool (func_import): When computing the edits, consider not
54137         only the Makefile.ams that exist but also those that will be generated.
54138
54139 2008-09-25  Simon Josefsson  <simon@josefsson.org>
54140
54141         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
54142         fixes gnulib-tool --test warning about duplicate dependency.
54143
54144 2008-09-25  Bruno Haible  <bruno@clisp.org>
54145
54146         * gnulib-tool: Don't ask the user to perform edits in the generated
54147         Makefile.ams.
54148         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
54149         apply to the Makefile.am being generated.
54150         (func_emit_tests_Makefile_am): Execute edits that apply to the
54151         Makefile.am being generated.
54152         (func_import): Setup list of Makefile.am edits before emitting the
54153         Makefile.ams, not at the end.
54154         (func_create_testdir): Update.
54155         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54156
54157 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54158
54159         * gnulib-tool (func_import): Store the --tests-base option in the
54160         comment in gnulib-cache.m4.
54161
54162 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
54163
54164         * NEWS: Document increased portability that sys_select now provides.
54165
54166         * lib/sys_select.in.h: Install select wrapper.
54167         * lib/sys_socket.in.h: Use more descriptive name when there is no
54168         select wrapper.
54169         * lib/winsock-select.c: New.
54170         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
54171         Require gl_HEADER_SYS_SOCKET.
54172         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
54173         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
54174         * tests/test-sys_select.c: Add functional tests.
54175
54176 2008-09-24  Eric Blake  <ebb9@byu.net>
54177
54178         open, fopen: close fd leak in last patch
54179         * lib/open.c (rpl_open): Close fd before returning error.
54180         * lib/fopen.c (rpl_fopen): Close fd before returning error.
54181         * doc/posix-functions/open.texi (open): Document that Irix also
54182         has the bug.
54183         * doc/posix-functions/fopen.texi (fopen): Likewise.
54184         Reported by Paolo Bonzini.
54185
54186 2008-09-24  Bruno Haible  <bruno@clisp.org>
54187
54188         Ensure that a filename ending in a slash cannot be used to access a
54189         non-directory.
54190         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
54191         to check whether it's really a directory.
54192         * lib/fopen.c: Include fcntl.h, unistd.h.
54193         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
54194         and fdopen().
54195         * modules/fopen (Depends-on): Add unistd.
54196         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
54197         * tests/test-fopen.c (main): Likewise.
54198         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
54199         * doc/posix-functions/fopen.texi: Likewise.
54200         Reported by Eric Blake.
54201
54202 2008-09-23  Eric Blake  <ebb9@byu.net>
54203
54204         c-stack: avoid compiler optimizations when provoking overflow
54205         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
54206         recursion harder to optimize, to ensure a stack overflow occurs.
54207         * tests/test-c-stack.c (recurse): Likewise.
54208         Borrowed from libsigsegv.
54209
54210         c-stack: work around Irix sigaltstack bug
54211         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
54212         whether sigaltstack uses wrong end of stack_t (copied in part from
54213         libsigsegv).
54214         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
54215         Irix bug, without requiring an over-allocation.
54216         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
54217         bug.
54218
54219         fopen: document mingw bug on directories
54220         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
54221         not allowing a stream visiting a directory, even though reading
54222         from such a stream is not portable.
54223
54224 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54225
54226         * lib/poll.c: Rewrite.
54227         * modules/poll: Depend on alloca.
54228
54229 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54230
54231         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
54232         instead define prototypes for a full set of wrappers.  Ensure
54233         that Cygwin does not use the compatibility code, which is only
54234         for MinGW.
54235         * lib/winsock.c: New.
54236         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
54237         * modules/sys_socket: Add lib/winsock.c.
54238
54239         * modules/poll-tests: Add errno and perror.
54240         * tests/test-poll.c: Use ioctl, not ioctlsocket.
54241
54242 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54243
54244         * tests/test-poll.c: Downgrade minimum needed Winsock version.
54245
54246 2008-09-23  Bruno Haible  <bruno@clisp.org>
54247
54248         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
54249         * doc/glibc-functions/*: Likewise.
54250
54251 2008-09-23  Simon Josefsson  <simon@josefsson.org>
54252
54253         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
54254         success.
54255
54256 2008-09-22  Eric Blake  <ebb9@byu.net>
54257             Bruno Haible  <bruno@clisp.org>
54258
54259         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
54260         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
54261         supply %A but mishandle pseudo-NaN.
54262         Reported by Simon Josefsson.
54263
54264 2008-09-21  Bruno Haible  <bruno@clisp.org>
54265
54266         * tests/test-lock.c (main): Tweak skip message.
54267         * tests/test-tls.c (main): Likewise.
54268
54269 2008-09-21  Bruno Haible  <bruno@clisp.org>
54270
54271         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
54272         whether 'struct sigaction' has sa_sigaction here...
54273         (gl_PREREQ_SIG_HANDLER_H): ... not here.
54274         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
54275
54276 2008-09-21  Bruno Haible  <bruno@clisp.org>
54277
54278         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
54279         section.
54280         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
54281         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
54282         the new section.
54283         (Support for obsolete systems lacking POSIX:2001): New section.
54284         (String handling <string.h>): Move strdup to the new section.
54285         Suggested by Simon Josefsson and Paolo Bonzini.
54286
54287 2008-09-21  Bruno Haible  <bruno@clisp.org>
54288
54289         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
54290         exponents in %e and %g results on 'long double'. Needed for mingw's
54291         improved *printf functions.
54292         * tests/test-vasprintf-posix.c (test_function): Likewise.
54293         * tests/test-snprintf-posix.h (test_function): Likewise.
54294         * tests/test-sprintf-posix.h (test_function): Likewise.
54295         Reported by Eric Blake.
54296
54297 2008-09-21  Bruno Haible  <bruno@clisp.org>
54298
54299         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
54300         * tests/test-sprintf-posix.h (test_function): Likewise.
54301
54302 2008-09-21  Bruno Haible  <bruno@clisp.org>
54303
54304         * modules/getpass (Depends-on): Add strdup-posix.
54305
54306         New module 'strdup-posix'.
54307         * modules/strdup-posix: New file.
54308         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
54309         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
54310         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54311         REPLACE_STRDUP.
54312         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
54313         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
54314         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54315         strdup-posix.
54316
54317         * modules/strdup (Depends-on): Remove malloc-posix.
54318
54319 2008-09-20  Bruno Haible  <bruno@clisp.org>
54320
54321         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
54322         Wildenhues.
54323
54324 2008-09-20  Bruno Haible  <bruno@clisp.org>
54325
54326         Ensure that wint_t gets defined on IRIX 5.3.
54327         * lib/wchar.in.h (wint_t): Define if not defined by the system.
54328         * lib/wctype.in.h (wint_t): Likewise.
54329         (__wctype_wint_t): Remove type.
54330         (isw*): Use wint_t instead of __wctype_wint_t.
54331         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
54332         * modules/wchar (Files): Add m4/wint_t.m4.
54333         (Makefile.am): Substitute HAVE_WINT_T.
54334         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
54335         * tests/test-wctype.c: Check that wint_t is defined.
54336         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
54337         * doc/posix-headers/wctype.texi: Likewise.
54338         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54339
54340 2008-09-18  Bruno Haible  <bruno@clisp.org>
54341
54342         * gnulib-tool (func_exit): Update comment.
54343
54344 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54345
54346         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54347         assumes strdup exists and does not depend on strdup to return
54348         ENOMEM on out of memory conditions.
54349
54350 2008-09-18  Bruno Haible  <bruno@clisp.org>
54351
54352         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54353         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54354         digits for the exponent.
54355
54356 2008-09-18  Jim Meyering  <meyering@redhat.com>
54357             Bruno Haible  <bruno@clisp.org>
54358
54359         * lib/vasnprintf.c (decimal_point_char): Define also if
54360         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54361
54362 2008-09-16  Bruno Haible  <bruno@clisp.org>
54363         and Eric Blake  <ebb9@byu.net>
54364
54365         vasnprintf: support Irix 5.3
54366         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54367         that mishandle long double infinity.
54368         Reported by Tom G. Christensen.
54369
54370 2008-09-16  Bruno Haible  <bruno@clisp.org>
54371
54372         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54373         Solaris 9.
54374         * doc/glibc-functions/alphasort.texi: Likewise.
54375         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54376
54377 2008-09-16  Jim Meyering  <meyering@redhat.com>
54378
54379         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54380         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54381         a umask modification leak out of a subshell.  Otherwise, the
54382         opensolaris /bin/sh would be accepted and thus cause unwarranted
54383         failures in the coreutils test suite.
54384
54385 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54386
54387         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54388         to succeed.
54389
54390 2008-09-16  Jim Meyering  <meyering@redhat.com>
54391
54392         avoid spurious test failure when library is built without ACL support
54393         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54394         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54395         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54396         * tests/test-copy-acl.sh: Likewise.
54397
54398 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54399
54400         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
54401         based on character occurrence counts.
54402
54403 2008-09-15  Eric Blake  <ebb9@byu.net>
54404
54405         tests: avoid some compiler warnings
54406         * tests/test-memchr.c (main): Pass NULL indirectly.
54407         * tests/test-closein.c (main): Avoid unused variable.
54408
54409 2008-09-15  Bruno Haible  <bruno@clisp.org>
54410
54411         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
54412         are missing on OpenBSD 4.0 individually.
54413         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54414
54415 2008-09-15  Bruno Haible  <bruno@clisp.org>
54416
54417         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
54418         * doc/posix-functions/strerror.texi: Mention also Cygwin.
54419         * doc/posix-functions/perror.texi: Likewise.
54420         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
54421         is missing.
54422         Reported by Eric Blake.
54423
54424         * lib/errno.in.h: Use replacement values >= 2000.
54425         Reported by Eric Blake.
54426
54427 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54428
54429         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
54430         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
54431         limit.
54432         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
54433         compareseq was aborted.
54434
54435 2008-09-14  Bruno Haible  <bruno@clisp.org>
54436
54437         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
54438         yvec_edit_count.
54439         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
54440         (fstrcmp_bounded): Simplify result computation accordingly.
54441
54442 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54443
54444         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
54445         (fstrcmp): Define in terms of fstrcmp_bounded.
54446         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
54447         lower_bound argument.
54448         Return quickly if the result is certainly < lower_bound.
54449         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
54450
54451 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54452
54453         * lib/diffseq.h (EARLY_ABORT): New macro.
54454         (compareseq): Change return type to bool. Return true when EARLY_ABORT
54455         evaluates to true.
54456
54457 2008-09-14  Bruno Haible  <bruno@clisp.org>
54458
54459         * modules/perror-tests: New file.
54460         * tests/test-perror.sh: New file.
54461         * tests/test-perror.c: New file.
54462
54463         New module 'perror'.
54464         * lib/stdio.in.h (perror): New declaration.
54465         * lib/perror.c: New file.
54466         * m4/perror.m4: New file.
54467         * modules/perror: New file.
54468         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
54469         * doc/posix-functions/perror.texi: Mention the perror module.
54470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
54471         REPLACE_PERROR.
54472         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
54473         REPLACE_PERROR.
54474
54475 2008-09-14  Bruno Haible  <bruno@clisp.org>
54476
54477         * modules/stdio (Makefile.am): Reorder to match the order in
54478         lib/stdio.in.h.
54479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54480
54481 2008-09-13  Bruno Haible  <bruno@clisp.org>
54482
54483         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
54484
54485 2008-09-13  Bruno Haible  <bruno@clisp.org>
54486
54487         Extend strerror to cover the added errno values.
54488         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
54489         (rpl_strerror): Provide error messages for the added errno values and
54490         for the WSA* values.
54491         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
54492         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
54493         strerror.
54494         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
54495         * modules/strerror (Depends-on): Add errno.
54496         * doc/posix-functions/strerror.texi: Document the change.
54497         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
54498         and EOVERFLOW.
54499
54500 2008-09-13  Bruno Haible  <bruno@clisp.org>
54501
54502         * modules/EOVERFLOW: Remove file.
54503         * m4/eoverflow.m4: Remove file.
54504         * modules/EOVERFLOW-tests: Remove file.
54505         * tests/test-EOVERFLOW.c: Remove file.
54506         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
54507         * modules/ftell (Depends-on): Likewise.
54508         * modules/getdelim (Depends-on): Likewise.
54509         * modules/getugroups (Depends-on): Likewise.
54510         * modules/poll (Depends-on): Likewise.
54511         * modules/snprintf (Depends-on): Likewise.
54512         * modules/sprintf-posix (Depends-on): Likewise.
54513         * modules/vasnprintf (Depends-on): Likewise.
54514         * modules/vasprintf (Depends-on): Likewise.
54515         * modules/vfprintf-posix (Depends-on): Likewise.
54516         * modules/vsnprintf (Depends-on): Likewise.
54517         * modules/vsprintf-posix (Depends-on): Likewise.
54518         * modules/xvasprintf (Depends-on): Likewise.
54519         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54520         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
54521         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
54522         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
54523         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54524         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
54525         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
54526         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
54527         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54528         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
54529         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
54530         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
54531         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54532         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
54533         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
54534         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
54535         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54536         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
54537         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
54538         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
54539         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54540         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
54541         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
54542         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
54543         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
54544         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54545         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
54546         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
54547         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
54548         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
54549         * MODULES.html.sh: Remove EOVERFLOW.
54550         * NEWS: Mention the change.
54551
54552 2008-09-13  Bruno Haible  <bruno@clisp.org>
54553
54554         * modules/errno-tests: New file.
54555         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
54556
54557         * lib/errno.in.h: New file.
54558         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
54559         * modules/errno: New file.
54560         * doc/posix-headers/errno.texi: Update documentation.
54561         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
54562
54563 2008-09-13  Bruno Haible  <bruno@clisp.org>
54564
54565         * tests/test-poll.c: Use #if for native Windows, rather than testing
54566         __MSVCRT__.
54567
54568 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54569             Bruno Haible  <bruno@clisp.org>
54570
54571         * lib/glob.c: Don't include <pwd.h> on native Windows.
54572         (WINDOWS32): New macro.
54573         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
54574
54575 2008-09-13  Bruno Haible  <bruno@clisp.org>
54576
54577         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
54578         (ETIMEDOUT): Remove macro.
54579         (glthread_cond_timedwait_multithreaded): New declaration.
54580         (glthread_cond_timedwait): Use it.
54581         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
54582         (glthread_cond_timedwait_multithreaded): New function.
54583
54584 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54585
54586         * modules/poll-tests: Do not check for io.h.
54587         * tests/test-poll.c: Check for __MSVCRT__ instead.
54588
54589 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54590
54591         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
54592         * modules/poll-tests: Add inet_pton, stdbool, sockets.
54593         * tests/test-poll.c: Use them.  Use _pipe on Windows.
54594
54595 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54596
54597         * modules/poll-tests: New.
54598         * tests/test-poll.c: New.
54599
54600 2008-09-12  Eric Blake  <ebb9@byu.net>
54601
54602         frexp: test for NetBSD failure on -0.0
54603         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
54604         not all, bugs from NetBSD 3.0 have been fixed.
54605         * doc/posix-functions/frexp.texi (frexp): Document bug.
54606         Reported by Thomas Klausner.
54607
54608         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
54609         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
54610         literal -0.0.
54611         Reported by Jonathan C. Patschke <jp@centtech.com>.
54612
54613 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54614
54615         * lib/glthread/cond.h: Use dummy implementation also if
54616         USE_WIN32_THREADS.
54617
54618 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54619
54620         * modules/fnmatch-posix (License): Change to LGPLv2+.
54621         * modules/fnmatch-gnu (License): Likewise.
54622
54623 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54624
54625         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
54626
54627 2008-09-11  Jim Meyering  <meyering@redhat.com>
54628
54629         * users.txt: Add gtk-vnc.
54630
54631 2008-09-08  Simon Josefsson  <simon@josefsson.org>
54632
54633         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
54634         rotate amounts.
54635
54636         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
54637         required for 16-bit and 8-bit rotates.
54638         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
54639         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
54640         UINT8_MAX instead of hard-coded constants.
54641         Suggested by Paul Eggert.
54642
54643 2008-09-07  Bruno Haible  <bruno@clisp.org>
54644
54645         * tests/test-striconveh.c (main): Check behaviour when converting from
54646         UTF-7.
54647
54648         Make striconveh work better with stateful encodings.
54649         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
54650         that iconv does not increment the inptr when returning -1/EINVAL.
54651
54652 2008-09-07  Bruno Haible  <bruno@clisp.org>
54653
54654         * build-aux/config.rpath: Update according to libtool-2.2.6.
54655         * build-aux/config.libpath: Likewise.
54656
54657 2008-09-06  Bruno Haible  <bruno@clisp.org>
54658
54659         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
54660         * lib/freadptr.c (freadptr): Likewise.
54661         * lib/freadseek.c (freadptrinc): Likewise.
54662         Reported by Simon Josefsson.
54663
54664 2008-09-06  Bruno Haible  <bruno@clisp.org>
54665
54666         * modules/freadptr (License): Change to LGPLv2+.
54667         * modules/freadseek (License): Likewise.
54668         Suggested by Eric Blake.
54669
54670         * modules/memchr2 (License): Change to LGPLv2+.
54671         Approved by Eric Blake.
54672
54673 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54674             Bruno Haible  <bruno@clisp.org>
54675
54676         Make gnulib-tool work with native 'sed' on AIX.
54677         * gnulib-tool (sed_noop): New variable.
54678         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
54679         func_add_or_update, func_create_testdir): Use it to initialize sed
54680         script variables.
54681         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54682
54683 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
54684             Bruno Haible  <bruno@clisp.org>
54685
54686         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
54687         also works after #include directives.
54688
54689 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
54690
54691         getdate.y: reject an out-of-range timezone value
54692         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
54693         the range [-24...+24].  When specified with only one or two digits,
54694         * tests/test-getdate.c: Tests for the fix.
54695         * doc/getdate.texi: Document this change.
54696
54697 2008-09-03  Bruno Haible  <bruno@clisp.org>
54698
54699         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
54700
54701 2008-09-02  Simon Josefsson  <simon@josefsson.org>
54702
54703         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
54704         <bruce.korb@gmail.com> with ideas from Ben Pfaff
54705         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
54706         Blake <ebb9@byu.net>.
54707
54708         * tests/test-bitrotate.c: Add more test vectors.
54709
54710 2008-09-02  Eric Blake  <ebb9@byu.net>
54711
54712         vasnprintf-posix: handle large precision via %.*d
54713         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
54714         when handling it ourselves.
54715         * tests/test-vasnprintf-posix.c (test_function): Add test.
54716         * tests/test-snprintf-posix.h (test_function): Likewise.
54717         * tests/test-sprintf-posix.h (test_function): Likewise.
54718         * tests/test-vasprintf-posix.c (test_function): Likewise.
54719         Reported by Alain Guibert.
54720
54721 2008-09-01  Eric Blake  <ebb9@byu.net>
54722
54723         c-stack: make configure-time check more robust
54724         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
54725         successful sigaction call.
54726         Reported by Tom G. Christensen.
54727
54728 2008-09-01  Bruno Haible  <bruno@clisp.org>
54729
54730         New module 'findprog-lgpl'.
54731         * modules/findprog-lgpl: New file.
54732         * lib/findprog-lgpl.c: New file.
54733         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
54734         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
54735         to decide whether to use strdup or xstrdup, concatenated_filename or
54736         xconcatenated_filename.
54737
54738 2008-09-01  Bruno Haible  <bruno@clisp.org>
54739
54740         Split module 'concat-filename' into 'concat-filename' (LGPL) and
54741         'xconcat-filename' (GPL).
54742         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
54743         (License): Change to LGPLv2+.
54744         * modules/xconcat-filename: New file.
54745         * lib/concat-filename.h (concatenated_filename): Change specification.
54746         (xconcatenated_filename): New declaration.
54747         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
54748         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
54749         memory situations.
54750         * lib/xconcat-filename.c: New file.
54751         * NEWS: Mention the change.
54752         * lib/findprog.c: Include concat-filename.h, not filename.h.
54753         (find_in_path): Use xconcatenated_filename instead of
54754         concatenated_filename.
54755         * lib/javacomp.c: Include concat-filename.h, not filename.h.
54756         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54757         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54758         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54759         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
54760         instead of concatenated_filename.
54761         * lib/javaexec.c: Include concat-filename.h, not filename.h.
54762         (execute_java_class): Use xconcatenated_filename instead of
54763         concatenated_filename.
54764         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
54765         * modules/javacomp (Depends-on): Likewise.
54766         * modules/javaexec (Depends-on): Likewise.
54767
54768 2008-09-01  Bruno Haible  <bruno@clisp.org>
54769
54770         Split module 'filename' into 'filename' and 'concat-filename'.
54771         * modules/filename: Keep only lib/filename.h.
54772         (License): Change to LGPLv2+.
54773         * modules/concat-filename: New file, extracted from modules/filename.
54774         * lib/filename.h (concatenated_filename): Remove declaration.
54775         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54776         * lib/concat-filename.c: Include concat-filename.h.
54777         * NEWS: Mention the change.
54778
54779 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54780
54781         * lib/bitrotate.h (rotl8, rotr8): Add.
54782
54783         * modules/bitrotate (configure.ac): Need
54784         AC_REQUIRE([AC_C_INLINE]).
54785         (Description): Mention stdint.h.  Reported by Bruno Haible
54786         <bruno@clisp.org>.
54787
54788         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54789         Paolo Bonzini <bonzini@gnu.org>.
54790
54791 2008-08-31  Bruno Haible  <bruno@clisp.org>
54792
54793         Assume Solaris specific bi-arch conventions on Solaris systems.
54794         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54795         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54796         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54797         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54798         like acl_libdirstem.
54799         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54800         acl_libdirstem.
54801         * NEWS: Mention the change.
54802         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54803
54804 2008-08-31  Jim Meyering  <meyering@redhat.com>
54805
54806         * lib/strftime.h: Add comments describing the two added arguments.
54807
54808         remove duplicate #include directives
54809         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54810         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54811
54812 2008-08-31  Bruno Haible  <bruno@clisp.org>
54813
54814         New module 'sigpipe-die'.
54815         * modules/sigpipe-die: New file.
54816         * lib/sigpipe-die.h: New file.
54817         * lib/sigpipe-die.c: New file.
54818         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54819
54820 2008-08-31  Bruno Haible  <bruno@clisp.org>
54821
54822         Don't override previously installed signal handlers.
54823         * lib/fatal-signal.c (saved_sigactions): New variable.
54824         (uninstall_handlers): Reset the signal to the saved handler, not
54825         to SIG_DFL (except when ignored).
54826         (install_handlers): Save the previous handlers.
54827
54828 2008-08-30  Bruno Haible  <bruno@clisp.org>
54829
54830         * gnulib-tool (func_reset_sigpipe): New function.
54831         (func_get_automake_snippet, func_modules_transitive_closure,
54832         func_import): Invoke it before a join command that reads from stdin,
54833         to avoid "echo: write error: Broken pipe" error messages on stderr.
54834         Reported by Sam Steingold <sds@gnu.org>.
54835
54836 2008-08-30  Bruno Haible  <bruno@clisp.org>
54837
54838         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54839         Code copied from m4/open.m4.
54840         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54841         access and the filename ends in a slash. Code copied from lib/open.c.
54842         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54843         * tests/test-fopen.c (main): Check against bug with trailing slash.
54844
54845 2008-08-29  Bruno Haible  <bruno@clisp.org>
54846
54847         Avoid some "gcc -pedantic" warnings.
54848         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54849         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54850         * lib/dirent.in.h: Likewise.
54851         * lib/fcntl.in.h: Likewise.
54852         * lib/float.in.h: Likewise.
54853         * lib/iconv.in.h: Likewise.
54854         * lib/inttypes.in.h: Likewise.
54855         * lib/locale.in.h: Likewise.
54856         * lib/math.in.h: Likewise.
54857         * lib/netinet_in.in.h: Likewise.
54858         * lib/search.in.h: Likewise.
54859         * lib/signal.in.h: Likewise.
54860         * lib/stdarg.in.h: Likewise.
54861         * lib/stdint.in.h: Likewise.
54862         * lib/stdio.in.h: Likewise.
54863         * lib/stdlib.in.h: Likewise.
54864         * lib/string.in.h: Likewise.
54865         * lib/strings.in.h: Likewise.
54866         * lib/sys_select.in.h: Likewise.
54867         * lib/sys_socket.in.h: Likewise.
54868         * lib/sys_stat.in.h: Likewise.
54869         * lib/sys_time.in.h: Likewise.
54870         * lib/sysexits.in.h: Likewise.
54871         * lib/time.in.h: Likewise.
54872         * lib/unistd.in.h: Likewise.
54873         * lib/wchar.in.h: Likewise.
54874         * lib/wctype.in.h: Likewise.
54875         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54876         * modules/fchdir (Makefile.am): Likewise.
54877         * modules/fcntl (Makefile.am): Likewise.
54878         * modules/float (Makefile.am): Likewise.
54879         * modules/iconv_open (Makefile.am): Likewise.
54880         * modules/inttypes (Makefile.am): Likewise.
54881         * modules/locale (Makefile.am): Likewise.
54882         * modules/math (Makefile.am): Likewise.
54883         * modules/netinet_in (Makefile.am): Likewise.
54884         * modules/search (Makefile.am): Likewise.
54885         * modules/signal (Makefile.am): Likewise.
54886         * modules/stdarg (Makefile.am): Likewise.
54887         * modules/stdint (Makefile.am): Likewise.
54888         * modules/stdio (Makefile.am): Likewise.
54889         * modules/stdlib (Makefile.am): Likewise.
54890         * modules/string (Makefile.am): Likewise.
54891         * modules/strings (Makefile.am): Likewise.
54892         * modules/sys_select (Makefile.am): Likewise.
54893         * modules/sys_socket (Makefile.am): Likewise.
54894         * modules/sys_stat (Makefile.am): Likewise.
54895         * modules/sys_time (Makefile.am): Likewise.
54896         * modules/sysexits (Makefile.am): Likewise.
54897         * modules/time (Makefile.am): Likewise.
54898         * modules/unistd (Makefile.am): Likewise.
54899         * modules/wchar (Makefile.am): Likewise.
54900         * modules/wctype (Makefile.am): Likewise.
54901         Reported by Reuben Thomas <rrt@sc3d.org>.
54902
54903 2008-08-29  Bruno Haible  <bruno@clisp.org>
54904
54905         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54906         any more.
54907
54908 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54909
54910         * MODULES.html.sh (Misc): Add bitrotate.
54911
54912         * modules/bitrotate: New file.
54913
54914         * lib/bitrotate.h: New file.
54915
54916         * modules/bitrotate-tests: New file.
54917
54918         * tests/test-bitrotate.c: New file.
54919
54920         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54921         on the bitrotate module.
54922
54923         * lib/arctwo.c: Use new bitrotate module.
54924
54925 2008-08-29  Jim Meyering  <meyering@redhat.com>
54926
54927         bootstrap: merge changes from coreutils
54928         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54929         of copied files.  Remove a kludge, now that this is fixed.
54930         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54931         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54932         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54933
54934 2008-08-29  Bruno Haible  <bruno@clisp.org>
54935
54936         * MODULES.html.sh: Remove --cvs-urls option.
54937
54938 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
54939
54940         maint.mk: adjust to file name change
54941         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
54942
54943 2008-08-28  Jim Meyering  <meyering@redhat.com>
54944
54945         * modules/getndelim2 (License): Relicense to LGPLv2+.
54946         Approved by Richard Stallman for the version of 1995, and by
54947         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
54948
54949 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
54950
54951         * lib/getdelim.c (flockfile, funlockfile): Make all of them
54952         dummy if one is not available.  Do not touch them if
54953         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
54954         (getc_maybe_unlocked): New.
54955         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
54956
54957 2008-08-26  Eric Blake  <ebb9@byu.net>
54958
54959         doc/INSTALL: resync from autoconf
54960         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
54961         (INSTALL_PRELUDE): Delete; this is done more efficiently by
54962         moving...
54963         * install.texi [!autoconf]: ...here.  Resync from autoconf.
54964         * INSTALL: Regenerate.
54965         * INSTALL.ISO: New file.
54966         * INSTALL.UTF-8: Likewise.
54967
54968 2008-08-26  Jim Meyering  <meyering@redhat.com>
54969
54970         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
54971         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
54972         these definitions conditional, so that they may be overridden, too.
54973
54974 2008-08-26  Bruno Haible  <bruno@clisp.org>
54975
54976         Generate INSTALL file variants with prettier quotes.
54977         * doc/Makefile (INSTALL_PRELUDE): New macro.
54978         (INSTALL): Use it.
54979         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54980
54981 2008-08-26  Bruno Haible  <bruno@clisp.org>
54982
54983         Run makeinfo in an English locale.
54984         * doc/Makefile (MAKEINFO): New variable.
54985
54986 2008-08-26  Bruno Haible  <bruno@clisp.org>
54987
54988         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54989         Suggested by Eric Blake.
54990
54991 2008-08-25  Bruno Haible  <bruno@clisp.org>
54992
54993         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54994
54995 2008-08-25  Eric Blake  <ebb9@byu.net>
54996
54997         c-stack: test that stack overflow can be caught
54998         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54999         that platform allows handling stack overflow; at least OS/2 EMX
55000         has sigaltstack, but crashes before transferring control to
55001         handler on stack overflow.
55002         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
55003         check for HAVE_STACK_OVERFLOW_HANDLING.
55004         Reported by Elbert Pol.
55005
55006 2008-08-25  Bruno Haible  <bruno@clisp.org>
55007
55008         * doc/posix-functions/strftime.texi: Fix description of strftime
55009         module.
55010
55011 2008-08-24  Bruno Haible  <bruno@clisp.org>
55012
55013         * tests/uniwidth/test-uc_width2.c: New file.
55014         * tests/uniwidth/test-uc_width2.sh: New file.
55015         * modules/uniwidth/width-tests (Files): Add the new files.
55016         (TESTS): Add uniwidth/test-uc_width2.sh.
55017         (TESTS_ENVIRONMENT): New variable.
55018         (check_PROGRAMS): Add test-uc_width2.
55019         (test_uc_width2_SOURCES): New variable.
55020
55021         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
55022         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
55023         not 0x00AB.
55024         Reported by Alexander V. Lukyanov <lav@netis.ru>.
55025
55026 2008-08-22  Eric Blake  <ebb9@byu.net>
55027
55028         test-lock, test-tls: mention why a test is skipped
55029         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
55030         skipped.
55031         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
55032
55033         count-one-bits: relax license
55034         * modules/count-one-bits (License): Relicense to LGPLv2+.
55035         Suggested by Ludovic Courtès, approved by Ben Pfaff.
55036
55037 2008-08-22  Andreas Schwab  <schwab@suse.de>
55038
55039         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55040         Remove spurious space in assignment.
55041
55042 2008-08-21  Simon Josefsson  <simon@josefsson.org>
55043
55044         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
55045         Paul Eggert <eggert@CS.UCLA.EDU>.
55046
55047 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
55048
55049         * modules/gettext: Add m4/threadlib.m4.
55050
55051 2008-08-19  Eric Blake  <ebb9@byu.net>
55052
55053         test-c-stack: fix compilation failure on FreeBSD 5.0
55054         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
55055         headers before <sys/resource.h>.
55056         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
55057         the bug.
55058         Reported by Nelson H. F. Beebe.
55059
55060         strverscmp: migrate from "strverscmp.h" to <string.h>
55061         * modules/string (Makefile.am): Add new hooks.
55062         * modules/strverscmp (Files): Remove strverscmp.h.
55063         (Depends-on): Add string.
55064         (configure.ac): Add indicator.
55065         (Include): Mention new header.
55066         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
55067         defaults.
55068         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
55069         results.
55070         * lib/strverscmp.h: Delete.
55071         * lib/string.in.h (strverscmp): Provide declaration, when needed.
55072         * tests/test-strverscmp.c (includes): Adjust client.
55073         * lib/check-version.c (includes): Likewise.
55074         * NEWS: Document the change.
55075
55076         strverscmp: add unit test
55077         * modules/strverscmp-tests: New file.
55078         * tests/test-strverscmp.c: Likewise.
55079
55080 2008-08-19  Simon Josefsson  <simon@josefsson.org>
55081
55082         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
55083         regarding Windows crypto stuff, from Mono.
55084
55085 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
55086
55087         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
55088         if present, for intel RND.  Return error on failures.
55089
55090 2008-08-18  Ben Pfaff  <blp@gnu.org>
55091
55092         gitlog-to-changelog: give better diagnostic for failed pipe-open
55093         * build-aux/gitlog-to-changelog: Improve error message: suggest
55094         that the version of Git may be too old.
55095
55096 2008-08-18  Simon Josefsson  <simon@josefsson.org>
55097
55098         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
55099         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
55100
55101 2008-08-18  Bruno Haible  <bruno@clisp.org>
55102
55103         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
55104         pthread_in_use().
55105
55106 2008-08-18  Bruno Haible  <bruno@clisp.org>
55107
55108         * lib/glthread/threadlib.c: Include <pthread.h>.
55109
55110 2008-08-18  Bruno Haible  <bruno@clisp.org>
55111
55112         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
55113         glthread_recursive_lock_* macros.
55114         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
55115         Fix syntax error.
55116
55117 2008-08-18  Bruno Haible  <bruno@clisp.org>
55118
55119         * lib/glthread/thread.c: Avoid forcing a context switch right after
55120         thread creation.
55121
55122 2008-08-17  Bruno Haible  <bruno@clisp.org>
55123
55124         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
55125         * lib/glthread/thread.h: Provide Win32 specific implementation.
55126         * modules/thread (Files): Add lib/glthread/thread.c.
55127         (Depends-on): Add lock.
55128         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
55129
55130 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55131
55132         New module 'yield'.
55133         * modules/yield: New file.
55134         * lib/glthread/yield.h: New file.
55135         * m4/yield.m4: New file.
55136         * MODULES.html.sh (Multithreading): Add yield.
55137
55138 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55139
55140         New module 'thread'.
55141         * modules/thread: New file.
55142         * lib/glthread/thread.h: New file.
55143         * m4/thread.m4: New file.
55144         * MODULES.html.sh (Multithreading): Add thread.
55145
55146 2008-08-17  Bruno Haible  <bruno@clisp.org>
55147
55148         * lib/glthread/lock.h: Include <stdlib.h> always.
55149         * lib/glthread/tls.h: Likewise.
55150         * lib/glthread/cond.h: Likewise.
55151
55152 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55153
55154         New module 'cond'.
55155         * modules/cond: New file.
55156         * lib/glthread/cond.h: New file.
55157         * lib/glthread/cond.c: New file.
55158         * m4/cond.m4: New file.
55159         * MODULES.html.sh (Multithreading): Add cond.
55160
55161 2008-08-16  Eric Blake  <ebb9@byu.net>
55162
55163         c-stack: fix regression on Irix 5.3 from 2008-06-21
55164         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
55165         sa_sigaction...
55166         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
55167         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
55168         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
55169         * modules/signal (Makefile.am): Use the value.
55170         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
55171         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
55172         * doc/posix-headers/signal.texi (signal.h): Document this
55173         portability issue.
55174         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
55175         Reported by Tom G. Christensen.
55176
55177 2008-08-17  Bruno Haible  <bruno@clisp.org>
55178
55179         New module 'threadlib'.
55180         * modules/threadlib: New file.
55181         * lib/glthread/threadlib.c: New file, extracted from
55182         lib/glthread/lock.c.
55183         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
55184         functions.
55185         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
55186         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
55187         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
55188         macros.
55189         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
55190         (gl_DISABLE_THREADS): Remove macro.
55191         * modules/lock (Files): Remove build-aux/config.rpath.
55192         (Depends-on): Remove havelib. Add threadlib.
55193         (configure.ac-early): Remove section.
55194         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
55195         * modules/tls (Depends-on): Remove lock. Add threadlib.
55196         (Link): New section, copied from threadlib.
55197         * MODULES.html.sh (Multithreading): Add threadlib.
55198
55199 2008-08-14  Bruno Haible  <bruno@clisp.org>
55200
55201         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
55202         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
55203         glthread_rwlock_unlock, glthread_rwlock_destroy,
55204         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
55205         glthread_recursive_lock_destroy): Define as macros always.
55206         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
55207         glthread_lock_lock.
55208         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
55209         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
55210         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
55211         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
55212         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
55213         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
55214         (glthread_recursive_lock_lock_func): Renamed from
55215         glthread_recursive_lock_lock.
55216         (glthread_recursive_lock_unlock_func): Renamed from
55217         glthread_recursive_lock_unlock.
55218         (glthread_recursive_lock_destroy_func): Renamed from
55219         glthread_recursive_lock_destroy.
55220
55221 2008-08-14  Bruno Haible  <bruno@clisp.org>
55222
55223         * lib/glthread/lock.h: Renamed from lib/lock.h.
55224         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
55225         * lib/glthread/tls.h: Renamed from lib/tls.h.
55226         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
55227         * lib/fstrcmp.c: Update includes.
55228         * lib/strsignal.c: Update includes.
55229         * modules/lock (Files, Makefile.am): Update.
55230         (Include): Change to "glthread/lock.h".
55231         * modules/tls (Files, Makefile.am): Update.
55232         (Include): Change to "glthread/tls.h".
55233         * tests/test-lock.c: Update includes.
55234         * tests/test-tls.c: Update includes.
55235         * NEWS: Mention the renamed header files.
55236
55237 2008-08-11  Jim Meyering  <meyering@redhat.com>
55238
55239         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
55240
55241 2008-08-11  Eric Blake  <ebb9@byu.net>
55242
55243         test-c-stack: avoid C99-ism
55244         * tests/test-c-stack.c (main): Fix whitespace, move declaration
55245         before statement.
55246         Reported by Alain Guibert.
55247
55248 2008-08-10  Jim Meyering  <meyering@redhat.com>
55249
55250         ensure that return value of uinttostr et al are not ignored
55251         * lib/inttostr.h (__GNUC_PREREQ): Define.
55252         (__attribute_warn_unused_result__): Define.
55253         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
55254
55255 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
55256
55257         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
55258         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
55259
55260 2008-08-07  Jim Meyering  <meyering@redhat.com>
55261
55262         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
55263
55264         * modules/mkstemp (License): Relicense under LGPLv2+.
55265         * modules/tempname (License): Likewise.
55266
55267 2008-08-06  Bruno Haible  <bruno@clisp.org>
55268
55269         * lib/poll.c (poll): Further micro-optimization.
55270
55271 2008-08-06  Jim Meyering  <meyering@redhat.com>
55272
55273         inet_pton.c: use locale-independent tolower
55274         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
55275         (inet_pton6): Use c_tolower rather than tolower.
55276         * modules/inet_pton (Depends-on): Add c-ctype.
55277
55278 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
55279
55280         * lib/poll.c (poll): Avoid division when timeout is 0, cache
55281         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
55282
55283 2008-08-06  Jim Meyering  <meyering@redhat.com>
55284
55285         * modules/inet_pton (License): Relicense under LGPLv2+.
55286
55287 2008-08-03  Bruno Haible  <bruno@clisp.org>
55288
55289         Additional non-aborting API for lock and tls.
55290         * lib/lock.h: Include <errno.h>.
55291         (glthread_lock_init): New macro/function.
55292         (gl_lock_init): Define as wrapper around glthread_lock_init.
55293         (glthread_lock_lock): New macro/function.
55294         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
55295         (glthread_lock_unlock): New macro/function.
55296         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
55297         (glthread_lock_destroy): New macro/function.
55298         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
55299         (glthread_rwlock_init): New macro/function.
55300         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
55301         (glthread_rwlock_rdlock): New macro/function.
55302         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
55303         (glthread_rwlock_wrlock): New macro/function.
55304         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
55305         (glthread_rwlock_unlock): New macro/function.
55306         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
55307         (glthread_rwlock_destroy): New macro/function.
55308         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
55309         (glthread_recursive_lock_init): New macro/function.
55310         (gl_recursive_lock_init): Define as wrapper around
55311         glthread_recursive_lock_init.
55312         (glthread_recursive_lock_lock): New macro/function.
55313         (gl_recursive_lock_lock): Define as wrapper around
55314         glthread_recursive_lock_lock.
55315         (glthread_recursive_lock_unlock): New macro/function.
55316         (gl_recursive_lock_unlock): Define as wrapper around
55317         glthread_recursive_lock_unlock.
55318         (glthread_recursive_lock_destroy): New macro/function.
55319         (gl_recursive_lock_destroy): Define as wrapper around
55320         glthread_recursive_lock_destroy.
55321         (glthread_once): New macro/function.
55322         (gl_once): Define as wrapper around glthread_once.
55323         Update function declarations.
55324         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
55325         glthread_rwlock_init. Return error code.
55326         (glthread_rwlock_rdlock_multithreaded): Renamed from
55327         glthread_rwlock_rdlock. Return error code.
55328         (glthread_rwlock_wrlock_multithreaded): Renamed from
55329         glthread_rwlock_wrlock. Return error code.
55330         (glthread_rwlock_unlock_multithreaded): Renamed from
55331         glthread_rwlock_unlock. Return error code.
55332         (glthread_rwlock_destroy_multithreaded): Renamed from
55333         glthread_rwlock_destroy. Return error code.
55334         (glthread_recursive_lock_init_multithreaded): Renamed from
55335         glthread_recursive_lock_init. Return error code.
55336         (glthread_recursive_lock_lock_multithreaded): Renamed from
55337         glthread_recursive_lock_lock. Return error code.
55338         (glthread_recursive_lock_unlock_multithreaded): Renamed from
55339         glthread_recursive_lock_unlock. Return error code.
55340         (glthread_recursive_lock_destroy_multithreaded): Renamed from
55341         glthread_recursive_lock_destroy. Return error code.
55342         (glthread_once_call): Make static.
55343         (glthread_once_multithreaded): Renamed from glthread_once.
55344         * lib/tls.h: Include <errno.h>.
55345         (glthread_tls_key_init): New macro/function.
55346         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55347         (glthread_tls_set): New macro/function.
55348         (gl_tls_set): Define as wrapper around glthread_tls_set.
55349         (glthread_tls_key_destroy): New macro/function.
55350         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55351         Update function declarations.
55352         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55353         glthread_tls_get.
55354         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55355
55356 2008-08-04  Eric Blake  <ebb9@byu.net>
55357
55358         gnumakefile: use space, not TAB, outside of targets
55359         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55360
55361 2008-08-02  Jim Meyering  <meyering@redhat.com>
55362
55363         getdate.y: avoid locale-dependent date parsing failure
55364         In Turkish locales, getdate would fail to recognize keywords
55365         containing a lowercase "i".  The solution is not to rely on
55366         locale-sensitive case-conversion.
55367         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55368         (lookup_word): Use c_toupper in place of toupper.
55369         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55370         Reported by Vefa Bicakci <bicave@superonline.com> in
55371         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55372         * modules/getdate (Depends-on): Add c-ctype.
55373
55374 2008-08-02  Bruno Haible  <bruno@clisp.org>
55375
55376         * gnulib-tool (func_import): When updating or creating a .gitignore
55377         file, prepend each added line with a slash, and ignore leading slashes
55378         from the existing lines.
55379         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55380
55381 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55382
55383         Portability fix for GNU make 3.79.1.
55384         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55385         versions do not understand.
55386
55387 2008-08-01  Bruno Haible  <bruno@clisp.org>
55388
55389         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55390         * tests/test-isnanf.h (zero): New variable.
55391         (main): Avoid literal -0.0f.
55392         * tests/test-isnand.h (zero): New variable.
55393         (main): Avoid literal -0.0.
55394         * tests/test-isnanl.h (zero): New variable.
55395         (main): Avoid literal -0.0L.
55396         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55397         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55398         -0.0, -0.0L.
55399         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55400         (test_signbitd): Avoid literal -0.0.
55401         (test_signbitl): Avoid literal -0.0L.
55402         * tests/test-ceilf1.c (zero): New variable.
55403         (main): Avoid literal -0.0f.
55404         * tests/test-ceill.c (zero): New variable.
55405         (main): Avoid literal -0.0L.
55406         * tests/test-floorf1.c (zero): New variable.
55407         (main): Avoid literal -0.0f.
55408         * tests/test-floorl.c (zero): New variable.
55409         (main): Avoid literal -0.0L.
55410         * tests/test-roundf1.c (zero): New variable.
55411         (main): Avoid literal -0.0f.
55412         * tests/test-round1.c (zero): New variable.
55413         (main): Avoid literal -0.0.
55414         * tests/test-roundl.c (zero): New variable.
55415         (main): Avoid literal -0.0L.
55416         * tests/test-truncf1.c (zero): New variable.
55417         (main): Avoid literal -0.0f.
55418         * tests/test-trunc1.c (zero): New variable.
55419         (main): Avoid literal -0.0.
55420         * tests/test-truncl.c (zero): New variable.
55421         (main): Avoid literal -0.0L.
55422         * tests/test-frexp.c (zero): New variable.
55423         (main): Avoid literal -0.0.
55424         * tests/test-frexpl.c (zero): New variable.
55425         (main): Avoid literal -0.0L.
55426         * tests/test-ldexpl.c (zero): New variable.
55427         (main): Avoid literal -0.0L.
55428         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55429         (zerod, zerol): New variables.
55430         (test_function): Avoid literals -0.0, -0.0L.
55431         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55432         (zerod, zerol): New variables.
55433         (test_function): Avoid literals -0.0, -0.0L.
55434         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55435         (zerod, zerol): New variables.
55436         (test_function): Avoid literals -0.0, -0.0L.
55437         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55438         (zerod, zerol): New variables.
55439         (test_function): Avoid literals -0.0, -0.0L.
55440         * tests/test-strtod.c (zero): New variable.
55441         (main): Avoid literal -0.0.
55442         Reported by Jonathan C. Patschke <jp@centtech.com>.
55443
55444 2008-07-31  Jim Meyering  <meyering@redhat.com>
55445
55446         sha256.h: correct definition of SHA224_DIGEST_SIZE
55447         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
55448         Reported by Paulie Pena IV <paulie4@gmail.com>.
55449         Define as 224 / 8, rather than as a literal.
55450         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
55451         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
55452         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
55453
55454 2008-07-31  Bruno Haible  <bruno@clisp.org>
55455
55456         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
55457         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
55458         Reported by Jonathan Patschke <jp@centtech.com>.
55459
55460 2008-07-31  Bruno Haible  <bruno@clisp.org>
55461
55462         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
55463         Reported by Paolo Bonzini <bonzini@gnu.org>.
55464
55465 2008-07-30  Eric Blake  <ebb9@byu.net>
55466
55467         test-strtod: allow compilation without -lm
55468         * tests/test-strtod.c (main): Avoid link dependence on fabs.
55469         Reported by Dennis Clarke <blastwave@gmail.com>.
55470
55471 2008-07-28  Jim Meyering  <meyering@redhat.com>
55472
55473         bootstrap: work also when there are no .po files in po/
55474         * build-aux/bootstrap (update_po_files): Complete the change
55475         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
55476
55477 2008-07-27  Jim Meyering  <meyering@redhat.com>
55478
55479         * users.txt: Add zile.
55480
55481 2008-07-26  Ben Pfaff  <blp@gnu.org>
55482
55483         Add missing dependencies on new m4/exponent[fdl].m4 files.
55484         * modules/isnanf-nolibm: Add m4/exponentf.m4.
55485         * modules/isnand-nolibm: Add m4/exponentd.m4.
55486         * modules/isnanl-nolibm: Add m4/exponentl.m4.
55487         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
55488         m4/isnan[fdl].m4, because the macros actually used moved.
55489         Reported by Jim Meyering.
55490
55491 2008-07-14  Ben Pfaff  <blp@gnu.org>
55492
55493         Add isinf module.
55494         * lib/isinf.c: New file.
55495         * lib/math.in.h: Define isinf macro if we have decided to replace
55496         it.
55497         * m4/isinf.m4: New file.
55498         * m4/math_h.m4: Initialize and substitute variables for isinf
55499         module.
55500         * modules/isinf: New file.
55501         * modules/isinf-tests: New file.
55502         * modules/math: Add substitutions for new module.
55503         * tests/test-isinf.c: New file.
55504         * doc/posix-functions/isinf.texi: Mention new module.
55505         * MODULES.html.sh: Mention new module.
55506
55507 2008-07-14  Ben Pfaff  <blp@gnu.org>
55508
55509         Factor out some macros for use by additional modules.
55510         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
55511         exponentf.m4.
55512         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
55513         exponentd.m4.
55514         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
55515         file exponentl.m4.
55516         * m4/exponentf.m4: New file.
55517         * m4/exponentd.m4: New file.
55518         * m4/exponentl.m4: New file.
55519         * modules/isnanf: Use new file m4/exponentf.m4.
55520         * modules/isnand: Use new file m4/exponentd.m4.
55521         * modules/isnanl: Use new file m4/exponentl.m4.
55522
55523 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
55524
55525         mktime.c: normalize tp->tm_isdst value to -1/0/1.
55526         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
55527         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
55528         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
55529
55530         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
55531         readlink on platforms without PATH_MAX.
55532
55533 2008-07-21  Eric Blake  <ebb9@byu.net>
55534
55535         Warn, not fail, on stale version.
55536         * top/GNUmakefile (_curr-ver): Tone down previous patch.
55537
55538         Don't allow installation with stale devel version number.
55539         * top/GNUmakefile (_is-install-target): New macro.
55540         (_curr-ver): Forbid installation with stale version number.
55541
55542 2008-07-20  Bruno Haible  <bruno@clisp.org>
55543
55544         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
55545         TESTS_ENVIRONMENT.
55546         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
55547
55548 2008-07-20  Bruno Haible  <bruno@clisp.org>
55549
55550         * lib/c-stack.h (c_stack_action): Add documentation.
55551         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
55552
55553 2008-07-20  Bruno Haible  <bruno@clisp.org>
55554
55555         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
55556         * modules/readlink (License): Likewise.
55557
55558 2008-07-17  Eric Blake  <ebb9@byu.net>
55559
55560         * modules/c-stack (Link): Fix typo.
55561
55562         Make c-stack use libsigsegv, when available.
55563         * modules/c-stack (Depends-on): Add libsigsegv.
55564         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
55565         needed.
55566         * lib/c-stack.c (SIGSTKSZ): Define fallback.
55567         (segv_handler, overflow_handler, c_stack_action)
55568         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
55569         implementation when libsigsegv is available, but only when using
55570         the library is necessary.
55571         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
55572         comment, explaining why XSI check fails on Linux.
55573         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
55574         * tests/test-c-stack2.sh: Tweak skip message.
55575         * NEWS: Document new link-time requirements.
55576
55577 2008-07-16  Eric Blake  <ebb9@byu.net>
55578
55579         c-stack: Expose false positives when not using libsigsegv.
55580         * modules/c-stack-tests (Files): Expand test.
55581         * tests/test-c-stack.c (main): Add means to conditionally trigger
55582         non-overflow SIGSEGV.
55583         * tests/test-c-stack2.sh: New file.
55584
55585 2008-07-14  Bruno Haible  <bruno@clisp.org>
55586
55587         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
55588         Reported by Eric Blake.
55589
55590 2008-07-14  Sam Steingold  <sds@gnu.org>
55591             Bruno Haible  <bruno@clisp.org>
55592
55593         New module libsigsegv.
55594         * modules/libsigsegv: New file.
55595         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
55596         modifications.
55597         * MODULES.html.sh (Signal handling): New section.
55598
55599 2008-07-14  Bruno Haible  <bruno@clisp.org>
55600
55601         * modules/unictype/ctype-* (Description): Add the word "function".
55602         Improves the resulting doc in MODULES.html.
55603
55604 2008-07-12  Ben Pfaff  <blp@gnu.org>
55605
55606         Add longlong module.
55607         * modules/longlong: New file.
55608
55609 2008-07-12  Bruno Haible  <bruno@clisp.org>
55610
55611         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
55612         to empty.
55613
55614 2008-07-10  Ben Pfaff  <blp@gnu.org>
55615
55616         Add isnan module.
55617         * doc/posix-functions/isnan.texi: Mention new module.
55618         * lib/math.in.h: Define isnan macro if we have decided to replace
55619         it.
55620         * m4/isnan.m4: New file.
55621         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
55622         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
55623         also.
55624         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
55625         redundancy.
55626         * m4/math_h.m4: Initialize and substitute variables for isnan
55627         module.
55628         * modules/isnan: New file.
55629         * modules/isnan-tests: New file.
55630         * modules/math: Add substitutions for new module.
55631         * tests/test-isnan.c: New file.
55632         * MODULES.html.sh: Mention new module.
55633
55634 2008-07-10  Ben Pfaff  <blp@gnu.org>
55635
55636         Add isnanf module.
55637         * lib/isnanf.m4: New file.
55638         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
55639         (gl_HAVE_ISNANF_IN_LIBM): New macro.
55640         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
55641         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
55642         * modules/isnanf: New file.
55643         * modules/isnanf-tests: New file.
55644         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
55645         files.
55646         * tests/test-isnanf-nolibm.c: factored most of its contents into
55647         new file tests/test-isnanf.h.
55648         * tests/test-isnanf.h: New file.
55649         * tests/test-isnanf.c: New file.
55650         * MODULES.html.sh: Mention new module.
55651         * doc/glibc-functions/isnanf.texi: Mention new module.
55652
55653 2008-07-10  Ben Pfaff  <blp@gnu.org>
55654
55655         Add isnand module.
55656         * lib/isnand.h: New file.
55657         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
55658         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
55659         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
55660         functionality also.
55661         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
55662         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
55663         (gl_HAVE_ISNAND_IN_LIBM): New macro.
55664         * modules/isnand: New file.
55665         * modules/isnand-tests: New file.
55666         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
55667         files.
55668         * tests/test-isnand-nolibm.c: factored most of its contents into
55669         new file tests/test-isnand.h.
55670         * tests/test-isnand.h: New file.
55671         * tests/test-isnand.c: New file.
55672         * MODULES.html.sh: Mention new module.
55673
55674 2008-07-10  Ben Pfaff  <blp@gnu.org>
55675
55676         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
55677         * lib/isnand.h: Rename lib/isnand-nolibm.h.
55678         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
55679         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
55680         * modules/isnanf-nolibm: Update references to renamed files.
55681         * modules/isnand-nolibm: Likewise.
55682         * modules/isnanf-nolibm-tests: Likewise.
55683         * modules/isnand-nolibm-tests: Likewise.
55684         * lib/frexp.c: Likewise.
55685         * lib/isfinite.c: Likewise.
55686         * lib/signbitd.c: Likewise.
55687         * lib/signbitf.c: Likewise.
55688         * lib/vasnprintf.c: Likewise.
55689         * tests/test-ceilf1.c: Likewise.
55690         * tests/test-ceilf2.c: Likewise.
55691         * tests/test-floorf1.c: Likewise.
55692         * tests/test-floorf2.c: Likewise.
55693         * tests/test-frexp.c: Likewise.
55694         * tests/test-round1.c: Likewise.
55695         * tests/test-round2.c: Likewise.
55696         * tests/test-roundf1.c: Likewise.
55697         * tests/test-strtod.c: Likewise.
55698         * tests/test-trunc1.c: Likewise.
55699         * tests/test-trunc2.c: Likewise.
55700         * tests/test-truncf1.c: Likewise.
55701         * tests/test-truncf2.c: Likewise.
55702         * NEWS: Mention the renamed header files.
55703
55704 2008-07-11  Jim Meyering  <meyering@redhat.com>
55705
55706         vc-list-files: make the last-resort awk code more portable
55707         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
55708         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
55709         does not support it.
55710
55711 2008-07-10  Eric Blake  <ebb9@byu.net>
55712
55713         Work with tar's bootstrap.
55714         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
55715         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
55716         an m4 comment.
55717
55718 2008-07-09  Jim Meyering  <meyering@redhat.com>
55719
55720         posix-shell.m4: fix typo that made this test malfunction
55721         * m4/posix-shell.m4: Remove capitalization in variable name.
55722
55723 2008-07-08  Bruno Haible  <bruno@clisp.org>
55724
55725         * m4/onceonly.m4: Update comments.
55726         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55727
55728 2008-07-04  Jim Meyering  <meyering@redhat.com>
55729
55730         * users.txt: Add vc-dwim.
55731         (bison, coreutils): Use the gitweb URL.
55732
55733 2008-07-03  Jim Meyering  <meyering@redhat.com>
55734
55735         * users.txt: Add libffcall.  From Sam Steingold.
55736
55737 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
55738
55739         getdate.y: do not ignore TZ with relative day, month or year offset
55740         * lib/getdate.y (get_date): Move the tz-handling block to follow the
55741         relative-date-handling, since otherwise, the latter would clobber the
55742         sole output (an updated Start value) of the tz-handling block.
55743         * tests/test-getdate.c: Tests for the fix
55744
55745 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55746
55747         Recognize 'foo_LIBRARIES += libgnu.a'.
55748         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
55749         makefile snippet has already specified an installation location,
55750         also using '+='.
55751
55752 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
55753
55754         getdate.y: factor out common actions
55755         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
55756         Use them in place of open-coded actions.
55757
55758 2008-07-01  Simon Josefsson  <simon@josefsson.org>
55759
55760         Add self-test for getdate module.
55761         * modules/getdate-tests: New file.
55762         * tests/test-getdate.c: New file.
55763
55764 2008-06-29  Bruno Haible  <bruno@clisp.org>
55765
55766         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55767         .gitignore.
55768         Reported by Sylvain Beucler <beuc@beuc.net>.
55769
55770 2008-06-29  Bruno Haible  <bruno@clisp.org>
55771
55772         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55773         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55774
55775 2008-06-29  Bruno Haible  <bruno@clisp.org>
55776
55777         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55778         EXTRA_DIST.
55779         Reported by Sylvain Beucler <beuc@beuc.net>.
55780
55781 2008-06-26  Jim Meyering  <meyering@redhat.com>
55782
55783         make several modules depend on the "open" module
55784         This provides slightly increased consistency when opening-for-write
55785         the name of a non-directory spelled with a trailing slash.
55786         * modules/chdir-safer: Likewise.
55787         * modules/chown: Likewise.
55788         * modules/clean-temp: Likewise.
55789         * modules/copy-file: Likewise.
55790         * modules/fchdir: Likewise.
55791         * modules/fcntl-safer: Likewise.
55792         * modules/pipe: Likewise.
55793         * modules/utime: Likewise.
55794         Prompted by Eric Blake and Bruno Haible.
55795
55796 2008-06-24  Andreas Schwab  <schwab@suse.de>
55797
55798         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55799         literals can be used as initializers for global variables.
55800
55801 2008-06-23  Eric Blake  <ebb9@byu.net>
55802
55803         Make gnulib-cache.m4 easier to diff.
55804         * gnulib-tool (func_import): Allow newlines when reading cached
55805         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55806
55807 2008-06-23  Bruno Haible  <bruno@clisp.org>
55808
55809         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55810         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55811         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55812         m4/signalblocking.m4.
55813         (gl_PREREQ_SIGACTION): Don't invoke it.
55814         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55815         gl_PREREQ_SIG_HANDLER_H.
55816         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55817         Don't check for sigaction here.
55818
55819 2008-06-23  Bruno Haible  <bruno@clisp.org>
55820
55821         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55822         (install_handlers): Don't set the SA_RESETHAND flag.
55823
55824 2008-06-23  Bruno Haible  <bruno@clisp.org>
55825
55826         * m4/sigaction.m4: Comment fixes.
55827         * lib/signal.in.h: Likewise.
55828
55829 2008-06-23  Eric Blake  <ebb9@byu.net>
55830
55831         Fix typo.
55832         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55833
55834         Avoid SA_ namespace.
55835         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55836         Reported by Ralf Wildenhues.
55837
55838         Avoid test failure due to SA_RESTORER.
55839         * tests/test-sigaction.c (SA_MASK): New macro.
55840         (main): Avoid failing due to extension flags being set.
55841         Reported by Jim Meyering.
55842
55843         Revert use of sig-handler.h in sigprocmask.c.
55844         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55845         it requires the existence of struct sigaction.
55846         * lib/sigprocmask.c (handler_t): Restore typedef.
55847         (rpl_signal, old_handlers): Use local type.
55848
55849 2008-06-22  Bruno Haible  <bruno@clisp.org>
55850
55851         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55852         conditionally.
55853         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55854
55855 2008-06-22  Bruno Haible  <bruno@clisp.org>
55856
55857         * doc/posix-functions/siginterrupt.texi: Move note.
55858
55859         * lib/signal.in.h (SA_RESTART): New macro.
55860         * lib/sigaction.c: Update comment.
55861
55862         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55863
55864         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55865         (gl_PREREQ_SIGPROCMASK): Invoke it.
55866         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55867
55868         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55869
55870         * lib/sigprocmask.c: Update a comment.
55871
55872 2008-06-21  Eric Blake  <ebb9@byu.net>
55873
55874         Use sigaction module rather than signal().
55875         * modules/c-stack (Depends-on): Add sigaction.
55876         * modules/fatal-signal (Depends-on): Likewise.
55877         * modules/nanosleep (Depends-on): Likewise.
55878         * modules/sigprocmask (Files): Add sig-handler.h.
55879         * modules/sigaction (Files): Likewise.
55880         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55881         Eggert.
55882         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55883         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55884         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55885         (init_fatal_signals): Likewise.
55886         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55887         (siginterrupt): Delete fallback.
55888         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55889         instead.
55890         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55891         siginterrupt.
55892
55893         New module sigaction, for mingw.
55894         * modules/sigaction: New module...
55895         * modules/sigaction-tests: ...and its test.
55896         * m4/sigaction.m4: New file.
55897         * lib/sigaction.c: Likewise.
55898         * tests/test-sigaction.c: Likewise.
55899         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55900         * modules/signal (Makefile.am): Likewise.
55901         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55902         needed.
55903         * doc/posix-headers/signal.texi (signal.h): Mention provided
55904         types.
55905         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55906         that sigaction is preferable.
55907         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55908         module.
55909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55910         sigaction.
55911
55912         Improve robustness of sigprocmask by overriding signal.
55913         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55914         is in use.
55915         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55916         (SIGKILL, SIGSTOP): Provide fallbacks.
55917         (rpl_signal): Implement.
55918         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55919         signal can be called inside handlers.
55920
55921         Fix nanosleep module on mingw.
55922         * modules/nanosleep (Depends-on): Add sys_select.
55923         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55924
55925         Fix licensing of sigprocmask.
55926         * modules/raise (License): Relicense as LGPL.
55927
55928 2008-06-21  Bruno Haible  <bruno@clisp.org>
55929
55930         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55931         result if it contains question marks.
55932         Reported by Michael Geng <linux@michaelgeng.de>.
55933
55934 2008-06-19  Bruno Haible  <bruno@clisp.org>
55935
55936         Fix CVS-ism.
55937         * doc/gnulib.texi: Include updated-stamp.texi.
55938         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
55939         (updated-stamp.texi): New rule.
55940         (gnulib.info): Depend on it.
55941         * doc/.gitignore: Add updated-stamp.texi.
55942         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
55943
55944 2008-06-19  Bruno Haible  <bruno@clisp.org>
55945
55946         * doc/Makefile (gnulib.info): Update and simplify dependencies.
55947         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55948
55949 2008-06-19  Eric Blake  <ebb9@byu.net>
55950
55951         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
55952         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
55953         Reported by Stepan Kasal.
55954
55955 2008-06-18  Bruno Haible  <bruno@clisp.org>
55956
55957         * lib/fatal-signal.c (init_fatal_signals): Add comment.
55958         Reported by Eric Blake.
55959
55960 2008-06-18  Eric Blake  <ebb9@byu.net>
55961
55962         Work around cygwin 1.5.25 strsignal bug.
55963         * tests/test-strsignal.c: Allow for const char *.
55964         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
55965
55966 2008-06-18  Simon Josefsson  <simon@josefsson.org>
55967
55968         * users.txt: Update URL to article and add author/date
55969         information.
55970
55971 2008-06-17  Bruno Haible  <bruno@clisp.org>
55972
55973         New macro gl_DISABLE_THREADS.
55974         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
55975         if the user did not pass --enable-threads or --disable-threads option.
55976         (gl_DISABLE_THREADS): New macro.
55977         Reported by Eric Blake <ebb9@byu.net>.
55978
55979 2008-06-17  Bruno Haible  <bruno@clisp.org>
55980
55981         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55982         when the macro ignores it.
55983         Based on a patch by Eric Blake <ebb9@byu.net>.
55984
55985 2008-06-17  Bruno Haible  <bruno@clisp.org>
55986
55987         * modules/tls (License): Change to LGPLv2+.
55988         Reported by Eric Blake.
55989
55990 2008-06-17  Eric Blake  <ebb9@byu.net>
55991
55992         Simplify c-stack prerequisites.
55993         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55994         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55995         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55996         check.
55997         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55998         <sys/resource.h>.
55999
56000         Move c-stack test into testsuite.
56001         * modules/c-stack-tests: New file.
56002         * lib/c-stack.c [DEBUG]: Move test program...
56003         * tests/test-c-stack.c: ...into this new file.  Skip rather than
56004         fail test if sigaltstack is lacking.
56005         * tests/test-c-stack.sh: New driver file.
56006
56007 2008-06-16  Eric Blake  <ebb9@byu.net>
56008
56009         Use raise module consistently.
56010         * modules/fatal-signal (Depends-on): Add raise.
56011         * modules/sigprocmask (Depends-on): Likewise.
56012         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
56013         * lib/sigprocmask.c (sigprocmask): Likewise.
56014         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56015         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
56016
56017         Fix compliance bug in sigpending.
56018         * lib/sigprocmask.c (sigpending): Return pending array via
56019         parameter, not return value.
56020
56021 2008-06-14  Eric Blake  <ebb9@byu.net>
56022
56023         Improve obstack-printf test code.
56024         * tests/test-obstack-printf.c (test_function): Fix comment, and
56025         simplify usage of obstack_* in macros.  Add a test for coverage.
56026         Reported by Bruno Haible.
56027
56028 2008-06-14  Bruno Haible  <bruno@clisp.org>
56029
56030         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
56031         array size as a constant, not as a const variable.
56032         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
56033         AC_USE_SYSTEM_EXTENSIONS.
56034         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
56035         Test whether the obstack_printf function actually exists.
56036         * modules/obstack-printf (Depends-on): Add extensions.
56037         (Include): Remove obstack.h.
56038         * modules/obstack-printf-posix (Depends-on): Add extensions.
56039         (Include): Remove obstack.h.
56040
56041 2008-06-13  Eric Blake  <ebb9@byu.net>
56042
56043         Add obstack-printf and obstack-printf-posix modules.
56044         * modules/obstack-printf: New file.
56045         * modules/obstack-printf-posix: Likewise.
56046         * MODULES.html.sh (Misc): Mention them.
56047         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
56048         Likewise.
56049         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
56050         Likewise.
56051         * modules/stdio (Makefile.am): Accomodate new modules.
56052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56053         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
56054         Declare.
56055         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
56056         functions.
56057         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
56058         (gl_REPLACE_OBSTACK_PRINTF): New macros
56059         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
56060         * tests/test-obstack-printf.c: New file.
56061         * modules/obstack-printf-tests: Likewise.
56062         * modules/obstack-printf-posix-tests: Likewise.
56063
56064 2008-06-11  Bruno Haible  <bruno@clisp.org>
56065
56066         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
56067         * lib/open.c: Include errno.h.
56068         (open): Fail when attempting to write to a file that has a trailing
56069         slash.
56070         * tests/test-open.c (main): Test against trailing slash bug.
56071         * doc/posix-functions/open.texi: Mention the trailing slash bug.
56072
56073 2008-06-10  Bruno Haible  <bruno@clisp.org>
56074
56075         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
56076         for $? to work inside the trap command, with various /bin/sh-s.
56077         * tests/test-vc-list-files-cvs.sh: Likewise.
56078
56079 2008-06-10  Bruno Haible  <bruno@clisp.org>
56080
56081         * lib/acl-internal.h: Don't include gettext.h here.
56082         * lib/set-mode-acl.c: Include gettext.h here.
56083         * lib/copy-acl.c: Likewise.
56084
56085 2008-06-10  Bruno Haible  <bruno@clisp.org>
56086
56087         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
56088         * lib/wait-process.c (wait_subprocess): Likewise.
56089         * lib/execute.h (execute): Add termsigp argument.
56090         * lib/execute.c (execute): Likewise.
56091         * lib/csharpcomp.c (compile_csharp_using_pnet,
56092         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
56093         * lib/csharpexec.c (execute_csharp_using_pnet,
56094         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
56095         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
56096         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
56097         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
56098         is_jikes_present): Update.
56099         * lib/javaexec.c (execute_java_class): Update.
56100         * lib/javaversion.c (execute_and_read_line): Update.
56101         * NEWS: Document the changes.
56102         Reported by Eric Blake.
56103
56104 2008-06-10  Eric Blake  <ebb9@byu.net>
56105
56106         Add missing include.
56107         * tests/test-strstr.c (includes): Add <signal.h>.
56108         * tests/test-strcasestr.c (includes): Likewise.
56109         * tests/test-memmem.c (includes): Likewise.
56110
56111 2008-06-10  Bruno Haible  <bruno@clisp.org>
56112
56113         * lib/wait-process.c (wait_subprocess): Add an assertion.
56114
56115 2008-06-10  Bruno Haible  <bruno@clisp.org>
56116
56117         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
56118
56119 2008-06-10  Bruno Haible  <bruno@clisp.org>
56120
56121         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
56122         using alarm().
56123         * tests/test-strcasestr.c (main): Likewise.
56124         * tests/test-strstr.c (main): Likewise.
56125
56126 2008-06-09  Bruno Haible  <bruno@clisp.org>
56127
56128         Work around the Solaris 10 ACE ACLs ABI change.
56129         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
56130         declare if ACL_NO_TRIVIAL is present.
56131         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
56132         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
56133         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
56134         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
56135         define if ACL_NO_TRIVIAL is present.
56136         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
56137         and use the current ABI.
56138         (file_has_acl): Use same #if condition as elsewhere.
56139         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
56140         in use, and use the current ABI.
56141         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
56142         Reported by Jim Meyering.
56143
56144 2008-06-09  Eric Blake  <ebb9@byu.net>
56145
56146         Work around environments that (stupidly) ignore SIGALRM.
56147         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
56148         before using alarm().
56149         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56150         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56151         Reported by Ian Beckwith <ianb@erislabs.net>.
56152
56153         Produce autobuild blurb earlier in log.
56154         * modules/autobuild (configure.ac-early): Move AB_INIT here.
56155
56156 2008-06-09  Jim Meyering  <meyering@redhat.com>
56157         and Ondřej Vašík  <ovasik@redhat.com>
56158
56159         utimens.c: correct kernel bug work-around
56160         Ondřej Vašík found that the invalid return value of 280 indicates
56161         failure, not success, and the kernel bug we're trying to work
56162         around affects not just the utimensat call, but also the fallback
56163         futimens call.
56164         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
56165         not success.
56166         [HAVE_FUTIMENS]: Use the same work-around, here.
56167
56168 2008-06-09  Jim Meyering  <meyering@redhat.com>
56169
56170         add more guards around definition of ACE_-related code
56171         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
56172         ALLOW and ACE_OWNER are also defined.
56173
56174 2008-06-08  Bruno Haible  <bruno@clisp.org>
56175
56176         * lib/acl-internal.h: Add me as co-author.
56177         * lib/file-has-acl.c: Likewise.
56178         * lib/set-mode-acl.c: Likewise.
56179         * lib/copy-acl.c: Likewise.
56180
56181 2008-06-08  Bruno Haible  <bruno@clisp.org>
56182
56183         Add support for AIX ACLs.
56184         * lib/acl-internal.h (acl_nontrivial): New declaration.
56185         * lib/file-has-acl.c (acl_nontrivial): New function.
56186         (file_has_acl): Add implementation using AIX 4 ACL API.
56187         * lib/set-mode-acl.c (qset_acl): Likewise.
56188         * lib/copy-acl.c (qcopy_acl): Likewise.
56189
56190 2008-06-08  Bruno Haible  <bruno@clisp.org>
56191
56192         Add support for HP-UX ACLs.
56193         * lib/acl-internal.h (acl_nontrivial): New declaration.
56194         * lib/file-has-acl.c (acl_nontrivial): New function.
56195         (file_has_acl): Add implementation using HP-UX 11 ACL API.
56196         * lib/set-mode-acl.c (qset_acl): Likewise.
56197         * lib/copy-acl.c (qcopy_acl): Likewise.
56198
56199 2008-06-08  Bruno Haible  <bruno@clisp.org>
56200
56201         Add support for Cygwin ACLs.
56202         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
56203         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
56204         the chmod_or_fchmod call.
56205         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
56206
56207 2008-06-08  Bruno Haible  <bruno@clisp.org>
56208
56209         Fix bug with setuid modes in Solaris 10+ code.
56210         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
56211         succeeded, when the mode contains some special bits.
56212
56213 2008-06-08  Bruno Haible  <bruno@clisp.org>
56214
56215         Add support for Solaris 7..10 ACLs.
56216         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
56217         declarations.
56218         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
56219         functions.
56220         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
56221         * lib/set-mode-acl.c (qset_acl): Likewise.
56222         * lib/copy-acl.c (qcopy_acl): Likewise.
56223
56224 2008-06-08  Bruno Haible  <bruno@clisp.org>
56225
56226         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
56227         declaration.
56228         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
56229         (acl_access_nontrivial): Remove MacOS X case.
56230         (file_has_acl): Use acl_extended_nontrivial.
56231         * lib/copy-acl.c (qcopy_acl): Likewise.
56232
56233 2008-06-08  Bruno Haible  <bruno@clisp.org>
56234
56235         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
56236
56237 2008-06-08  Jim Meyering  <meyering@redhat.com>
56238
56239         * modules/acl (Maintainer): Add Bruno Haible.
56240
56241 2008-06-07  Bruno Haible  <bruno@clisp.org>
56242
56243         Improve support for Tru64 ACLs.
56244         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
56245         ACL on OSF/1.
56246
56247 2008-06-07  Bruno Haible  <bruno@clisp.org>
56248
56249         Add support for MacOS X ACLs.
56250         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
56251         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
56252         * lib/set-mode-acl.c (qset_acl): Likewise.
56253         * lib/copy-acl.c (qcopy_acl): Likewise.
56254
56255 2008-06-07  Bruno Haible  <bruno@clisp.org>
56256
56257         Fix memory leak introduced on 2008-05-22.
56258         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
56259         use.
56260
56261 2008-06-07  Bruno Haible  <bruno@clisp.org>
56262
56263         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
56264         to construct an empty ACL.
56265
56266 2008-06-07  Bruno Haible  <bruno@clisp.org>
56267
56268         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
56269         precisely.
56270         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
56271
56272 2008-06-07  Bruno Haible  <bruno@clisp.org>
56273
56274         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
56275         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
56276
56277 2008-06-07  Bruno Haible  <bruno@clisp.org>
56278
56279         * doc/posix-functions/_setjmp.texi: Explain the use of this function
56280         regardless of POSIX.
56281         * doc/posix-functions/_longjmp.texi: Likewise.
56282         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
56283         SystemV platform in this case.
56284
56285 2008-06-06  Eric Blake  <ebb9@byu.net>
56286
56287         Document abort() bugs.
56288         * doc/posix-functions/abort.texi (abort): Mention anomalies.
56289
56290         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
56291         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
56292         sigsetjmp.
56293         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
56294         siglongjmp, but only as a macro.
56295         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
56296         is obsolete.
56297         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
56298
56299         Tweak documentation to cover cygwin argz bugs.
56300         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
56301         argz bug fix; no code change needed since no cygwin releases
56302         occurred between the last fix and the bug being tested.
56303         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
56304         module and recently fixed cygwin bugs.
56305         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
56306         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
56307         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
56308         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
56309         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
56310         Likewise.
56311         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
56312         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
56313         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
56314         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
56315         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
56316         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
56317         Likewise.
56318
56319         Avoid gcc warning on cygwin.
56320         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
56321         !ACL_NO_TRIVIAL]: Avoid unused variable.
56322
56323 2008-06-05  Eric Blake  <ebb9@byu.net>
56324
56325         Be tolerant of UNKNOWN version in gnulib-tool test dir.
56326         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
56327         git-version-gen fails to come up with a version.
56328         Reported by Simon Josefsson.
56329
56330 2008-06-05  Jim Meyering  <meyering@redhat.com>
56331             Paul Eggert  <eggert@cs.ucla.edu>
56332
56333         utimens.c: work around a probable Linux kernel bug
56334         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
56335         appears to be a kernel bug that causes utimensat to return 280
56336         instead of 0, indicating success.
56337
56338 2008-06-04  Bruno Haible  <bruno@clisp.org>
56339
56340         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
56341         2008-06-01 commit.
56342
56343 2008-06-04  Bruno Haible  <bruno@clisp.org>
56344
56345         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56346         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56347         (file_has_acl): Use it. Save errno afterwards.
56348         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56349
56350 2008-06-03  Bruno Haible  <bruno@clisp.org>
56351
56352         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56353         draft code. Simplify #ifs.
56354         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56355         Put Solaris code after POSIX-draft code. Fix comments regarding
56356         Solaris 10, HP-UX. Mention Cygwin.
56357         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56358
56359 2008-06-03  Eric Blake  <ebb9@byu.net>
56360
56361         Provide fallback for older kernels.
56362         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56363         Provide runtime fallback if kernel lacks support.
56364         Reported by Mike Frysinger.
56365
56366 2008-06-02  Bruno Haible  <bruno@clisp.org>
56367
56368         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56369         it exists.
56370
56371 2008-06-02  Bruno Haible  <bruno@clisp.org>
56372
56373         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56374         * lib/copy-acl.c (qcopy_acl): Update comment.
56375
56376 2008-06-02  Bruno Haible  <bruno@clisp.org>
56377
56378         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56379         like ACL APIs.
56380
56381 2008-06-02  Bruno Haible  <bruno@clisp.org>
56382
56383         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56384         * tests/test-set-mode-acl.sh: Likewise.
56385         * tests/test-copy-acl.sh: Likewise.
56386         * tests/test-copy-file.sh: Likewise.
56387
56388 2008-06-02  Bruno Haible  <bruno@clisp.org>
56389
56390         * tests/test-file-has-acl.sh: Remove unused code.
56391
56392 2008-06-01  Bruno Haible  <bruno@clisp.org>
56393
56394         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56395         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56396         messages.
56397         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56398
56399 2008-06-01  Bruno Haible  <bruno@clisp.org>
56400
56401         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
56402         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
56403         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
56404         APIs.
56405         * modules/acl-tests (configure.ac): Remove tests now contained in
56406         m4/acl.m4.
56407
56408 2008-06-02  Jim Meyering  <meyering@redhat.com>
56409
56410         announce-gen: use a better key-server host name
56411         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
56412         it may be more consistently reliable.  Suggested by Werner Koch
56413         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
56414
56415 2008-06-01  Bruno Haible  <bruno@clisp.org>
56416
56417         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
56418         Reported by Voroskoi Andras <voroskoi@gmail.com>.
56419
56420 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
56421
56422         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
56423
56424 2008-06-01  Bruno Haible  <bruno@clisp.org>
56425
56426         New ACL tests.
56427         * tests/test-file-has-acl.sh: New file.
56428         * tests/test-file-has-acl.c: New file.
56429         * tests/test-set-mode-acl.sh: New file.
56430         * tests/test-set-mode-acl.c: New file.
56431         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
56432         * tests/test-copy-acl.c: New file.
56433         * modules/acl-tests: New file, based on modules/copy-file-tests.
56434         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
56435         (Depends-on): Add acl-tests.
56436         (configure.ac): Remove checks.
56437         (Makefile.am): Don't create test-sameacls program here any more.
56438
56439 2008-06-01  Bruno Haible  <bruno@clisp.org>
56440
56441         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
56442         * tests/test-sameacls.c: Include progname.h.
56443         (main): Invoke set_program_name. Portability fixes for MacOS X,
56444         Solaris, HP-UX.
56445
56446 2008-06-01  Bruno Haible  <bruno@clisp.org>
56447
56448         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
56449         function.
56450         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
56451
56452 2008-06-01  Bruno Haible  <bruno@clisp.org>
56453
56454         * modules/rpmatch (Depends-on): Add strdup.
56455
56456 2008-06-01  Bruno Haible  <bruno@clisp.org>
56457
56458         * lib/pipe.c: Include unistd-safer.h.
56459         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
56460         * modules/pipe (Depends-on): Add unistd-safer.
56461
56462 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56463
56464         * modules/autobuild (configure.ac): Call AB_INIT.
56465
56466 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56467
56468         * tests/test-getaddrinfo.c: Don't print debug messages by default.
56469         Suggested by Bruno Haible <bruno@clisp.org>.
56470
56471 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56472
56473         * tests/test-base64.c: Cast size_t to unsigned long when invoking
56474         printf.  Use %lu instead of %d.  Reported by Bruno Haible
56475         <bruno@clisp.org>.
56476
56477 2008-05-29  Eric Blake  <ebb9@byu.net>
56478
56479         Prefer new POSIX 200x interfaces over futimesat.
56480         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
56481         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
56482         when available.
56483         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
56484
56485 2008-05-28  Bruno Haible  <bruno@clisp.org>
56486
56487         * modules/stpcpy (License): Change to LGPLv2+.
56488         Requested by David Lutterkort <dlutter@redhat.com>.
56489
56490 2008-05-27  Bruno Haible  <bruno@clisp.org>
56491
56492         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
56493         current mingw.
56494         Reported by Jose E. Marchesi <jemarch@gnu.org>.
56495
56496 2008-05-27  Bruno Haible  <bruno@clisp.org>
56497
56498         * modules/iconv_open (Link): New section, from module 'iconv'.
56499         * modules/striconv (Link): Likewise.
56500         * modules/striconveh (Link): Likewise.
56501         * modules/xstriconv (Link): Likewise.
56502         * modules/unicodeio (Link): Likewise.
56503         * modules/propername (Link): Likewise.
56504         Reported by Jim Meyering.
56505
56506 2008-05-26  Jim Meyering  <meyering@redhat.com>
56507
56508         sha256: do not artificially restrict buffer length to be < 2^32
56509         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
56510         uint32_t to size_t.
56511         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
56512         to match.
56513
56514         avoid unaligned access errors, e.g., on sparc
56515         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
56516         direct access through a possibly-unaligned uint64* pointer.
56517         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
56518         direct access through a possibly-unaligned uint32* pointer.
56519         Prompted by this patch from Tom "spot" Callaway:
56520         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
56521
56522         sha512.c: fix typo in comment
56523         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
56524
56525 2008-05-25  Bruno Haible  <bruno@clisp.org>
56526
56527         * lib/set-mode-acl.c: Renamed from lib/acl.c.
56528         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
56529         (Makefile.am): Update lib_SOURCES.
56530
56531 2008-05-25  Bruno Haible  <bruno@clisp.org>
56532
56533         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
56534
56535 2008-05-25  Jim Meyering  <meyering@redhat.com>
56536
56537         useless-if-before-free: freed expr may have white-space differences
56538         * build-aux/useless-if-before-free: Recognize cases in which the
56539         freed expression differs from the tested one in embedded white
56540         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
56541         $1 was used, so we can't make any regexp shy.  Improved tests now
56542         detect this.
56543
56544         useless-if-before-free: accept white space in the expression.
56545         * build-aux/useless-if-before-free: For now, any white space
56546         in the expression must be identical in the free argument.
56547
56548         useless-if-before-free: efficiency tweak
56549         * build-aux/useless-if-before-free: Make the expression-matching
56550         regexp "shy".
56551         Make the *outer* regexp shy, not the expr-matching one.
56552
56553         update code-in-comment to accept cast of free arg
56554         * build-aux/useless-if-before-free: Update regexp.
56555
56556 2008-05-25  Bruno Haible  <bruno@clisp.org>
56557
56558         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
56559         * modules/copy-file-tests (Files, Makefile.am): Update.
56560         * tests/test-copy-file.c (func_test_copy): Update.
56561
56562 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
56563
56564         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
56565
56566 2008-05-23  Bruno Haible  <bruno@clisp.org>
56567
56568         Improve support for ACLs on OSF/1.
56569         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
56570         Remove fallback for unknown flavors of ACLs.
56571
56572 2008-05-22  Bruno Haible  <bruno@clisp.org>
56573
56574         Add support for ACLs on OSF/1.
56575         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
56576         replacements.
56577         (acl_free_text): New macro fallback.
56578         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
56579         acl_free.
56580         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
56581         acl_free_text function. Require AC_C_INLINE.
56582
56583 2008-05-22  Bruno Haible  <bruno@clisp.org>
56584
56585         Make copy_acl work on MacOS X 10.5.
56586         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
56587         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
56588         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
56589         If MODE_INSIDE_ACL, don't assume that every system has the same text
56590         representation for ACLs as FreeBSD.
56591         * lib/copy-acl.c (copy_acl): Add support for platforms with
56592         !MODE_INSIDE_ACL.
56593         * lib/file-has-acl.c (file_has_acl): Likewise.
56594         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
56595         FreeBSD, MacOS X, or IRIX, respectively.
56596
56597 2008-05-22  Bruno Haible  <bruno@clisp.org>
56598
56599         * lib/acl.h: Don't include <sys/acl.h>.
56600         (GETACLCNT): Move fallback to lib/acl-internal.h.
56601         * lib/acl-internal.h: Include <sys/acl.h> here.
56602         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
56603
56604 2008-05-22  Bruno Haible  <bruno@clisp.org>
56605
56606         Split off copy_acl function to separate file.
56607         * lib/copy-acl.c: New file, extracted from lib/acl.c.
56608         * lib/acl.c (copy_acl): Moved function to separate file.
56609         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
56610         * modules/acl (Files): Add lib/copy-acl.c.
56611         (Makefiles.am): Augment lib_SOURCES.
56612
56613 2008-05-22  Bruno Haible  <bruno@clisp.org>
56614
56615         * modules/copy-file-tests: New file.
56616         * tests/test-copy-file.sh: New file.
56617         * tests/test-copy-file.c: New file.
56618         * tests/test-copy-file-sameacls.c: New file.
56619
56620 2008-05-22  Eric Blake  <ebb9@byu.net>
56621
56622         Avoid gcc warning.
56623         * tests/test-memcmp.c (main): Pass NULL indirectly.
56624
56625 2008-05-21  Bruno Haible  <bruno@clisp.org>
56626
56627         Add reference doc about ACLs.
56628         * doc/acl-resources.txt: New file.
56629         * doc/acl-cygwin.txt: New file.
56630
56631 2008-05-21  Bruno Haible  <bruno@clisp.org>
56632
56633         Avoid one more warning from gcc.
56634         * lib/vasnprintf.c (IF_LINT): Update comments.
56635         (VASNPRINTF): Use it also for the 'prefix' array initializer.
56636
56637 2008-05-21  Jim Meyering  <meyering@redhat.com>
56638
56639         avoid a warning from gcc
56640         * lib/vasnprintf.c (IF_LINT): Define.
56641         (scale10_round_decimal_long_double):
56642         Use it to avoid a "may be used uninitialized" warning.
56643         (scale10_round_decimal_double): Likewise.
56644
56645 2008-05-21  Simon Josefsson  <simon@josefsson.org>
56646
56647         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
56648         declared.
56649
56650 2008-05-20  Bruno Haible  <bruno@clisp.org>
56651
56652         * tests/test-memcmp.c (main): Test also the sign of the result. Test
56653         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
56654
56655 2008-05-20  Simon Josefsson  <simon@josefsson.org>
56656
56657         * modules/memcmp-tests: New file.
56658         * tests/test-memcmp.c: New file.
56659
56660 2008-05-19  Bruno Haible  <bruno@clisp.org>
56661
56662         * modules/propername (Notice, configure.ac): Put quoted "..." into
56663         --keyword option.
56664         * lib/propername.h: Update comments accordingly.
56665         Reported by Eric Blake.
56666
56667 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
56668
56669         * modules/getpass-gnu (Depends-on): Add fseeko.
56670
56671 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56672
56673         * modules/base64-tests: New file.
56674
56675 2008-05-19  Bo Borgerson <gigabo@gmail.com>
56676
56677         * lib/base64.c (base64_decode_ctx): If a decode context structure
56678         was passed in use it to ignore newlines.  If a context structure
56679         was _not_ passed in, continue to treat newlines as garbage (this
56680         is the historical behavior).  Formerly base64_decode.
56681         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56682         takes a decode context structure.
56683         * lib/base64.h (base64_decode): Macro for four-argument calls.
56684         (base64_decode_alloc): Likewise.
56685         * lib/base64.c (base64_decode_ctx): If a decode context structure
56686         was passed in use it to ignore newlines.  If a context structure
56687         was _not_ passed in, continue to treat newlines as garbage (this
56688         is the historical behavior).  Formerly base64_decode.
56689         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56690         takes a decode context structure.
56691         * lib/base64.h (base64_decode): Macro for four-argument calls.
56692         (base64_decode_alloc): Likewise.
56693
56694 2008-05-19  Jim Meyering  <meyering@redhat.com>
56695
56696         avoid a warning from gcc
56697         * lib/trim.c (IF_LINT): Define.
56698         (trim2): Use it to avoid a "may be used uninitialized" warning.
56699
56700         Fix doc typo.
56701         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
56702
56703 2008-05-19  Bruno Haible  <bruno@clisp.org>
56704
56705         * doc/glibc-functions/getpass.texi: Document limits of other
56706         implementations.
56707
56708 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56709             Bruno Haible <bruno@clisp.org>
56710
56711         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
56712
56713 2008-05-18  Bruno Haible  <bruno@clisp.org>
56714
56715         * modules/propername: New file, from GNU gettext.
56716         * lib/propername.h: New file, from GNU gettext.
56717         * lib/propername.c: New file, from GNU gettext.
56718         * MODULES.html.sh (Internationalization functions): Add propername.
56719
56720 2008-05-16  Jim Meyering  <meyering@redhat.com>
56721             Bruno Haible  <bruno@clisp.org>
56722
56723         Avoid some warnings from "gcc -Wshadow".
56724         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
56725
56726 2008-05-15  Eric Blake  <ebb9@byu.net>
56727
56728         Extend previous patch to cygwin 1.7.0.
56729         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
56730         fast implementation in cygwin >= 1.7.0.
56731         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56732         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56733
56734 2008-05-15  Bruno Haible  <bruno@clisp.org>
56735
56736         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
56737         implementation in glibc >= 2.9.
56738         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56739         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56740
56741 2008-05-15  Bruno Haible  <bruno@clisp.org>
56742
56743         * MODULES.html.sh (Internationalization functions): Remove linebreak.
56744         (Unicode string functions): Add unilbrk/*.
56745         Reported by Karl Berry.
56746
56747 2008-05-15  Eric Blake  <ebb9@byu.net>
56748
56749         Fix violation of <stdbool.h> replacement in regex.
56750         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
56751         * lib/regexec.c (re_search_internal): Likewise.
56752         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
56753
56754 2008-05-15  Jim Meyering  <meyering@redhat.com>
56755
56756         avoid distracting test output when git or cvs is not found
56757         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
56758         * tests/test-vc-list-files-git.sh: Likewise.
56759
56760 2008-05-15  Eric Blake  <ebb9@byu.net>
56761
56762         Glibc finally accepted the memmem speedup code, bugzilla #5514.
56763         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
56764         glibc version.
56765         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
56766         * doc/posix-functions/strstr.texi (strstr): Likewise.
56767         * lib/str-two-way.h (MAX): Sychronize with glibc.
56768
56769 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56770
56771         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56772         opr.ctx_type.
56773         (calc_first): Initialize constraint field.
56774         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56775         Fix grammar.
56776         (duplicate_node): Merge constraint field for all node types.
56777         (calc_eclosure_iter): Look at constraint field for all node types.
56778         * lib/regex_internal.c (create_cd_newstate): Don't look at
56779         opr.ctx_type.
56780
56781 2008-05-14  Bruno Haible  <bruno@clisp.org>
56782
56783         Help GCC to do better code generation.
56784         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56785         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56786         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56787         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56788         Declare with attribute 'malloc' if supported.
56789
56790 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56791
56792         use "echo STR|wc -c" rather than unportable "expr length STR"
56793         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56794         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56795
56796 2008-05-14  Jim Meyering  <meyering@redhat.com>
56797
56798         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56799         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56800         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56801         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56802         via Collin Lasse.
56803
56804 2008-05-14  Eric Blake  <ebb9@byu.net>
56805
56806         Avoid quadratic growth in gl_LIBSOURCES.
56807         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56808         Suggested by Bruno Haible.
56809
56810         Test xmemdup0.
56811         * modules/xmemdup0-tests: New file.
56812         * tests/test-xmemdup0.c: Likewise.
56813
56814 2008-05-13  Eric Blake  <ebb9@byu.net>
56815
56816         Split xmemdup0 into its own module.
56817         * modules/xmemdup0: New file.
56818         * lib/xmemdup0.h: Likewise.
56819         * lib/xmemdup0.c: Likewise.
56820         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56821         * lib/xalloc.h (xmemdup0): Remove.
56822         * lib/xmalloc.c (xmemdup0): Likewise.
56823
56824 2008-05-13  Eric Blake  <ebb9@byu.net>
56825             Bruno Haible  <bruno@clisp.org>
56826
56827         Reduce number of forks required during autoconf.
56828         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56829         and gl_LIBSOURCES_DIR.
56830         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56831         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56832         m4_syscmd per file.
56833         <m4_foreach_w>: Move...
56834         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56835
56836 2008-05-13  Eric Blake  <ebb9@byu.net>
56837
56838         * gnulib-tool: Fix various comment typos.
56839
56840 2008-05-12  Bruno Haible  <bruno@clisp.org>
56841
56842         Tailor the linebreaking algorithm.
56843         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56844
56845 2008-05-12  Bruno Haible  <bruno@clisp.org>
56846
56847         Update to Unicode 5.0.0.
56848         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56849         LBP_JV, LBP_JT. Redistribute values.
56850         (unilbrk_table): Change size.
56851         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56852         Unicode TR#14 rev. 22.
56853         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56854         LBP_JV, LBP_JT. Redistribute values.
56855         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56856         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56857         Update.
56858         * lib/unilbrk/lbrkprop1.h: Regenerated.
56859         * lib/unilbrk/lbrkprop2.h: Regenerated.
56860         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56861         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56862         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56863         Likewise.
56864         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56865         Likewise.
56866         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56867         result.
56868         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56869         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56870         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56871         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56872         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56873         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56874
56875 2008-05-11  Bruno Haible  <bruno@clisp.org>
56876
56877         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56878
56879 2008-05-11  Bruno Haible  <bruno@clisp.org>
56880
56881         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56882         * modules/unilbrk/gen-lbrk: New file.
56883
56884 2008-05-11  Bruno Haible  <bruno@clisp.org>
56885
56886         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56887         * m4/sha512.m4 (gl_SHA512): Likewise.
56888
56889 2008-05-11  Jim Meyering  <meyering@redhat.com>
56890
56891         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56892         * modules/crypto/sha256: New file.
56893         * modules/crypto/sha512: Likewise.
56894         * lib/sha256.c: Likewise.
56895         * lib/sha256.h: Likewise.
56896         * lib/sha512.c: Likewise.
56897         * lib/sha512.h: Likewise.
56898         * lib/u64.h: Likewise.
56899         * m4/sha256.m4: Likewise.
56900         * m4/sha512.m4: Likewise.
56901         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56902
56903 2008-05-10  Bruno Haible  <bruno@clisp.org>
56904
56905         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56906         (Input/Output <stdio.h>): Add xprintf.
56907         (Signal handling <signal.h>): Add strsignal.
56908         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56909         (Core language properties): Add func.
56910         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56911         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56912         strings.
56913         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56914         (Input/output): New section.
56915         (File system functions): Add openat-die, stat-macros.
56916         (Networking functions): Add sockets.
56917         (Unicode string functions): Add unictype/*.
56918         (Support for building libraries and executables): Add gperf.
56919         (Support for building documentation): Add agpl-3.0.
56920         (Misc): Add nocrash.
56921
56922 2008-05-10  Bruno Haible  <bruno@clisp.org>
56923
56924         * modules/unictype/gen-ctype: New file.
56925
56926 2008-05-10  Jim Meyering  <meyering@redhat.com>
56927
56928         Make chdir-safer.c more efficient on a system with no symlinks.
56929         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56930         also if ELOOP is zero.  Suggested by Bruno Haible.
56931
56932         Make chdir-safer.c slightly safer.
56933         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56934         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56935
56936         Avoid compile failure on systems without ELOOP (like mingw).
56937         * lib/chdir-safer.c (ELOOP): Define if not already defined.
56938         Reported by Bruno Haible.
56939
56940 2008-05-10  Bruno Haible  <bruno@clisp.org>
56941
56942         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
56943         (is_utf8_encoding): Use a case-insensitive comparison.
56944         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
56945         streq.
56946
56947 2008-05-10  Bruno Haible  <bruno@clisp.org>
56948
56949         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
56950         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
56951         * lib/unilbrk/ulc-common.h (iconv_string_length,
56952         iconv_string_keeping_offsets): Remove declarations.
56953         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
56954         Don't include <iconv.h>, streq.h, xsize.h.
56955         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
56956         conversion.
56957         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
56958         <iconv.h>, streq.h, xsize.h.
56959         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
56960         conversion.
56961         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
56962         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
56963         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
56964         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
56965
56966 2008-05-10  Bruno Haible  <bruno@clisp.org>
56967
56968         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
56969         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
56970
56971         * modules/unilbrk/u32-width-linebreaks-tests: New file.
56972         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
56973
56974         * modules/unilbrk/u16-width-linebreaks-tests: New file.
56975         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
56976
56977         * modules/unilbrk/u8-width-linebreaks-tests: New file.
56978         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56979
56980         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56981         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56982
56983         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56984         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56985
56986         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56987         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56988
56989         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56990         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56991
56992 2008-05-10  Bruno Haible  <bruno@clisp.org>
56993
56994         Split up 'linebreak' module.
56995         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56996         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56997         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56998         modifications.
56999         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
57000         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
57001         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
57002         lib/linebreak.c.
57003         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
57004         lib/linebreak.c.
57005         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
57006         lib/linebreak.c.
57007         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
57008         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
57009         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
57010         lib/linebreak.c.
57011         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
57012         lib/linebreak.c.
57013         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
57014         lib/linebreak.c.
57015         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
57016         lib/linebreak.c.
57017         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
57018         lib/linebreak.c.
57019         * modules/unilbrk/base: New file.
57020         * modules/unilbrk/tables: New file.
57021         * modules/unilbrk/u8-possible-linebreaks: New file.
57022         * modules/unilbrk/u16-possible-linebreaks: New file.
57023         * modules/unilbrk/u32-possible-linebreaks: New file.
57024         * modules/unilbrk/ulc-common: New file.
57025         * modules/unilbrk/ulc-possible-linebreaks: New file.
57026         * modules/unilbrk/u8-width-linebreaks: New file.
57027         * modules/unilbrk/u16-width-linebreaks: New file.
57028         * modules/unilbrk/u32-width-linebreaks: New file.
57029         * modules/unilbrk/ulc-width-linebreaks: New file.
57030         * lib/linebreak.h: Remove file.
57031         * lib/linebreak.c: Remove file.
57032         * m4/linebreak.m4: Remove file.
57033         * modules/linebreak: Remove file.
57034         * NEWS: Mention the changes.
57035
57036 2008-05-09  Eric Blake  <ebb9@byu.net>
57037
57038         Add xmemdup0.
57039         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
57040         implementation.
57041         * lib/xmalloc.c (xmemdup0): New C implementation.
57042
57043 2008-05-08  Bruno Haible  <bruno@clisp.org>
57044
57045         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
57046
57047 2008-05-07  Eric Blake  <ebb9@byu.net>
57048
57049         Support cross-compilation of <wctype.h>.
57050         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
57051         AC_CACHE_CHECK.
57052
57053 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
57054
57055         * build-aux/vc-list-files: Add support for bzr.
57056
57057 2008-05-03  Jim Meyering  <meyering@redhat.com>
57058
57059         avoid failed assertion with tight malloc
57060         * tests/test-getndelim2.c: Correct an off-by-one assertion.
57061
57062 2008-05-03  Simon Josefsson  <simon@josefsson.org>
57063
57064         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
57065         are needed from arpa/inet.h.
57066         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
57067         Reported by Bruno Haible.
57068
57069 2008-05-02  Jim Meyering  <meyering@redhat.com>
57070
57071         avoid compilation error on FreeBSD 6
57072         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
57073
57074 2008-05-01  Jim Meyering  <meyering@redhat.com>
57075
57076         useless-if-before-free: correct --help's exit status description
57077         * build-aux/useless-if-before-free (usage): Like grep, exit 0
57078         for one or more matches, etc.  Reported by Bruno Haible.
57079
57080         vc-list-files: make the stand-alone gnulib test work
57081         * modules/vc-list-files-tests (configure.ac):
57082         Define and AC_SUBST abs_aux_dir.
57083         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
57084         $(abs_top_srcdir) to each script and having each of them
57085         duplicate the work of setting PATH, set PATH here, using
57086         the new variable, abs_aux_dir instead.
57087         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
57088         * tests/test-vc-list-files-git.sh: Likewise.
57089         Reported by Bruno Haible.
57090
57091 2008-05-01  Bruno Haible  <bruno@clisp.org>
57092
57093         * lib/getndelim2.c (getndelim2): Fix newsize computation during
57094         reallocation. Rename 'done' to 'found_delimiter'.
57095
57096 2008-05-01  Jim Meyering  <meyering@redhat.com>
57097
57098         vc-list-files: accommodate /bin/sh like the one from Solaris 10
57099         * build-aux/vc-list-files: Use `...`, not $(...).
57100
57101 2008-04-30  Jim Meyering  <meyering@redhat.com>
57102
57103         add tests for vc-list-files
57104         * modules/vc-list-files-tests: New module.
57105         * tests/test-vc-list-files-cvs.sh: New file.
57106         * tests/test-vc-list-files-git.sh: New file.
57107
57108         avoid a warning from gcc
57109         * lib/getndelim2.c (IF_LINT): Define.
57110         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
57111
57112         vc-list-files: work properly with build-aux/cvsu, too
57113         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
57114         to all cvs-based clauses.
57115
57116         vc-list-files: work properly in the CVS+awk case, too
57117         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
57118
57119         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
57120         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
57121         take more than one file argument, so .  Add quotes, just in case $dir
57122         ever contains a shell meta-character.  Prompted by Soren Hansen in
57123         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
57124
57125 2008-04-29  Eric Blake  <ebb9@byu.net>
57126
57127         Optimize getndelim2 to use block operations when possible.
57128         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
57129         freadseek, and memchr2.
57130         * lib/getndelim2.c (getndelim2): Use them for block reads.
57131
57132 2008-04-29  Bruno Haible  <bruno@clisp.org>
57133
57134         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
57135         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57136         * modules/inet_ntop (Depends-on): Add extensions.
57137         * modules/inet_pton (Depends-on): Likewise.
57138         Reported by Simon Josefsson.
57139
57140 2008-04-29  Jim Meyering  <meyering@redhat.com>
57141
57142         When the is more than one match in a block, match all of them.
57143         * build-aux/useless-if-before-free: Iterate through each block
57144         until there are no more matches.
57145
57146         Fix broken useless-if-before-free script.
57147         * build-aux/useless-if-before-free: Fix typo: missing "?" after
57148         the expression to match cast of argument to free-like function.
57149
57150 2008-04-29  Eric Blake  <ebb9@byu.net>
57151
57152         Use new header.
57153         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
57154
57155 2008-04-29  Jim Meyering  <meyering@redhat.com>
57156
57157         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
57158         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
57159         by gnulib to exist and to declare e.g., inet_ntop.
57160         Don't include "inet_ntop.h", now removed.
57161
57162         * m4/arpa_inet_h.m4: Remove trailing blanks.
57163
57164 2008-04-29  Eric Blake  <ebb9@byu.net>
57165
57166         Silence valgrind on safe reads beyond potential array bounds.
57167         * lib/rawmemchr.valgrind: New file.
57168         * lib/strchrnul.valgrind: Likewise.
57169         * modules/rawmemchr (Files): Distribute new file.
57170         * modules/strchrnul (Files): Likewise.
57171         Suggested by Bruno Haible.
57172
57173 2008-04-29  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
57176         (inet_ntop, inet_pton): Change portability warning's wording.
57177         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
57178         Invoke gl_CHECK_NEXT_HEADERS.
57179         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
57180         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
57181         set ARPA_INET_H.
57182         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57183         * modules/arpa_inet (Description): No longer only for systems that
57184         lack it.
57185         (Depends-on): Add include_next.
57186         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
57187         HAVE_ARPA_INET_H.
57188
57189 2008-04-29  Jim Meyering  <meyering@redhat.com>
57190
57191         * modules/mkdir (License): Re-license as LGPLv2+.
57192
57193 2008-04-29  Bruno Haible  <bruno@clisp.org>
57194
57195         * modules/rawmemchr (Maintainer): Set to Eric.
57196         * modules/strchrnul (Maintainer): Likewise.
57197
57198 2008-04-29  Simon Josefsson  <simon@josefsson.org>
57199
57200         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
57201         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
57202
57203         * modules/arpa_inet (arpa/inet.h): Use them.
57204
57205 2008-04-28  Eric Blake  <ebb9@byu.net>
57206
57207         Test getndelim2.
57208         * modules/getndelim2-tests: New file.
57209         * tests/test-getndelim2.c: Likewise.
57210         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
57211         stream.
57212         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
57213
57214         * MODULES.html.sh: Document new module.
57215
57216 2008-04-20  Bruno Haible  <bruno@clisp.org>
57217
57218         * lib/c-stack.c (die): Use raise.
57219         * modules/c-stack (Depends-on): Add raise.
57220
57221 2008-04-28  Bruno Haible  <bruno@clisp.org>
57222
57223         Expect rpmatch to be declared.
57224         * lib/yesno.c (rpmatch): Remove declaration.
57225
57226         Declare rpmatch.
57227         * lib/stdlib.in.h (rpmatch): New declaration.
57228         * lib/rpmatch.c: Include <stdlib.h> first.
57229         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
57230         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
57231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
57232         HAVE_RPMATCH.
57233         * modules/rpmatch (Depends-on): Add stdlib, extensions.
57234         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57235         (Include): Set to <stdlib.h>.
57236         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
57237         HAVE_RPMATCH.
57238         * NEWS: Document the change.
57239
57240 2008-04-28  Bruno Haible  <bruno@clisp.org>
57241
57242         Change rpmatch to use nl_langinfo when appropriate.
57243         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
57244         (N_): New macro.
57245         (localized_pattern): New function/macro.
57246         (try): Remove match, nomatch arguments. Copy the pattern into safe
57247         memory before caching it.
57248         (rpmatch): Use localized_pattern. Add translator comments.
57249         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
57250         Suggested by Eric Blake.
57251         * modules/rpmatch (Depends-on): Add stdbool.
57252
57253 2008-04-28  Eric Blake  <ebb9@byu.net>
57254
57255         Add rawmemchr module, matching glibc.
57256         * modules/string (Makefile.am): New indicator.
57257         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
57258         * lib/string.in.h (rawmemchr): Declare when appropriate.
57259         * modules/rawmemchr: New file.
57260         * m4/rawmemchr.m4: Likewise.
57261         * lib/rawmemchr.c: Likewise.
57262         * modules/rawmemchr-tests: Likewise.
57263         * tests/test-rawmemchr.c: Likewise.
57264         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
57265         module.
57266         * modules/strchrnul (Depends-on): Add rawmemchr.
57267         * lib/strchrnul.c (strchrnul): Optimize a corner case.
57268
57269         Whitespace cleanup.
57270         * tests/test-strchrnul.c: Reindent.
57271         * lib/strchrnul.c: Likewise.
57272
57273         Optimize and test strchrnul.
57274         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
57275         * modules/strchrnul-tests: New file.
57276         * tests/test-strchrnul.c: Likewise.
57277
57278         Remove intprops dependency.
57279         * modules/memchr (Depends-on): Remove intprops.
57280         * modules/memrchr (Depends-on): Likewise.
57281         * modules/memchr2 (Depends-on): Likewise.
57282         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
57283         * lib/memrchr.c (__memrchr): Likewise.
57284         * lib/memrchr2.c (memchr2): Likewise.
57285         Reported by Simon Josefsson.
57286
57287 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57288
57289         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
57290         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57291
57292 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57293
57294         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
57295
57296         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
57297
57298         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
57299
57300         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
57301         declarations.
57302         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
57303
57304         * m4/inet_pton.m4: Don't check for header files.
57305
57306         * m4/inet_ntop.m4: Don't check for header files.
57307
57308 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57309
57310         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
57311         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
57312         trigger for cygwin).
57313         Reported by Bruno Haible  <bruno@clisp.org>.
57314
57315 2008-04-28  Bruno Haible  <bruno@clisp.org>
57316
57317         * doc/posix-functions/strdup.texi: Mention mingw problem.
57318
57319 2008-04-27  Bruno Haible  <bruno@clisp.org>
57320
57321         * modules/stat-time-tests (Depends-on): Add sleep.
57322         * tests/test-stat-time.c (force_unlink): New function.
57323         (cleanup): Use it.
57324         (test_mtime): Remove the ctime related tests.
57325         (test_ctime): New function, containing the ctime related tests.
57326         (main): Call test_ctime, except on native Windows platforms.
57327
57328 2008-04-27  Bruno Haible  <bruno@clisp.org>
57329
57330         * lib/rpmatch.c (rpmatch): Add some comments.
57331         Reported by James Youngman <jay@gnu.org>.
57332
57333 2008-04-27  Bruno Haible  <bruno@clisp.org>
57334
57335         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
57336         quiet NaNs.
57337
57338 2008-04-27  Bruno Haible  <bruno@clisp.org>
57339
57340         Make test-yesno.sh work on mingw.
57341         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
57342         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
57343         (main): Set stdin to binary mode.
57344         * modules/yesno-tests (Depends-on): Add binary-io.
57345
57346 2008-04-27  Bruno Haible  <bruno@clisp.org>
57347
57348         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57349         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57350         argument that lie outside the IEEE 854 domain.
57351         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57352         (gl_ISFINITE): Use it.
57353         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57354
57355 2008-04-27  Bruno Haible  <bruno@clisp.org>
57356
57357         Allow local renaming in config.h.
57358         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57359
57360 2008-04-27  Bruno Haible  <bruno@clisp.org>
57361
57362         * lib/memchr.c (__memchr): Change type of 'i'.
57363         * lib/memchr2.c (memchr2): Likewise.
57364
57365 2008-04-26  Eric Blake  <ebb9@byu.net>
57366         and Bruno Haible  <bruno@clisp.org>
57367
57368         Optimize and test memrchr.
57369         * modules/memrchr (Depends-on): Add intprops.
57370         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57371         * modules/memrchr-tests: New file.
57372         * tests/test-memrchr.c: New file.
57373
57374 2008-04-26  Bruno Haible  <bruno@clisp.org>
57375
57376         Add tentative support for DragonFly BSD.
57377         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57378         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57379         fp.
57380         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57381         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57382         * lib/fpurge.c (fpurge): Likewise.
57383         * lib/freadable.c (freaadable): Likewise.
57384         * lib/freadahead.c (freadahead): Likewise.
57385         * lib/freading.c (freading): Likewise.
57386         * lib/freadptr.c (freadptr): Likewise.
57387         * lib/freadseek.c (freadptrinc): Likewise.
57388         * lib/fseeko.c (fseeko): Likewise.
57389         * lib/fseterr.c (fseterr): Likewise.
57390         * lib/fwritable.c (fwritable): Likewise.
57391         * lib/fwriting.c (fwriting): Likewise.
57392
57393 2008-04-26  Bruno Haible  <bruno@clisp.org>
57394
57395         * lib/stdio-impl.h: New file.
57396         * lib/fbufmode.c: Include stdio-impl.h.
57397         (fbufmode): Use fp_, remove redundant #defines.
57398         * lib/fflush.c: Include stdio-impl.h.
57399         (clear_ungetc_buffer): Remove redundant #defines.
57400         * lib/fpurge.c: Include stdio-impl.h.
57401         (fpurge): Remove redundant #defines.
57402         * lib/freadable.c: Include stdio-impl.h.
57403         (freadable): Remove redundant #defines.
57404         * lib/freadahead.c: Include stdio-impl.h.
57405         (freadahead): Remove redundant #defines.
57406         * lib/freading.c: Include stdio-impl.h.
57407         (freading): Remove redundant #defines.
57408         * lib/freadptr.c: Include stdio-impl.h.
57409         (freadptr): Remove redundant #defines.
57410         * lib/freadseek.c: Include stdio-impl.h.
57411         (freadptrinc): Remove redundant #defines.
57412         * lib/fseeko.c: Include stdio-impl.h.
57413         (rpl_fseeko): Remove redundant #defines.
57414         * lib/fseterr.c: Include stdio-impl.h.
57415         (fseterr): Remove redundant #defines.
57416         * lib/fwritable.c: Include stdio-impl.h.
57417         (fwritable: Remove redundant #defines.
57418         * lib/fwriting.c: Include stdio-impl.h.
57419         (fwriting): Remove redundant #defines.
57420         * modules/fbufmode (Files): Add lib/stdio-impl.h.
57421         * modules/fflush (Files): Likewise.
57422         * modules/fpurge (Files): Likewise.
57423         * modules/freadable (Files): Likewise.
57424         * modules/freadahead (Files): Likewise.
57425         * modules/freading (Files): Likewise.
57426         * modules/freadptr (Files): Likewise.
57427         * modules/freadseek (Files): Likewise.
57428         * modules/fseeko (Files): Likewise.
57429         * modules/fseterr (Files): Likewise.
57430         * modules/fwritable (Files): Likewise.
57431         * modules/fwriting (Files): Likewise.
57432
57433 2008-04-26  Bruno Haible  <bruno@clisp.org>
57434
57435         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57436         restore_seek_optimization, update_fpos_cache): New functions, extracted
57437         from rpl_fflush.
57438         (rpl_fflush): Use them.
57439         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
57440         (gl_REPLACE_FFLUSH): Use it.
57441
57442 2008-04-26  Bruno Haible  <bruno@clisp.org>
57443
57444         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
57445         on Solaris.
57446         * tests/test-xstrtoimax.sh: Likewise.
57447         * tests/test-xstrtoumax.sh: Likewise.
57448         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57449
57450 2008-04-26  Bruno Haible  <bruno@clisp.org>
57451
57452         * modules/memchr-tests: New file.
57453         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
57454
57455 2008-04-26  Eric Blake  <ebb9@byu.net>
57456             Bruno Haible  <bruno@clisp.org>
57457
57458         * lib/memchr.c: Include intprops.h.
57459         (__memchr): Optimize parallel detection of matching bytes. Rename local
57460         variables. Add explanatory comments.
57461
57462 2008-04-26  Bruno Haible  <bruno@clisp.org>
57463
57464         Fix module 'memchr', broken since 2000-10-28.
57465         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
57466
57467 2008-04-26  Bruno Haible  <bruno@clisp.org>
57468
57469         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
57470         comments.
57471
57472 2008-04-25  Eric Blake  <ebb9@byu.net>
57473
57474         Use native fstatat on cygwin 1.7.0.
57475         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
57476         first.
57477
57478 2008-04-23  Eric Blake  <ebb9@byu.net>
57479
57480         Improve memchr2 performance.
57481         * lib/memchr2.c (memchr2): Further optimize parallel detection of
57482         NUL bytes.
57483         * modules/memchr2 (Depends-on): Use intprops.h.
57484
57485 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57486
57487         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
57488         an inline function instead of a CPP macro.  Patch by Ben Pfaff
57489         <blp@cs.stanford.edu>.
57490
57491 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57492
57493         * lib/arpa_inet.in.h: New file.
57494
57495         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
57496         (Makefile.am): Sed in substitute header file.
57497
57498         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
57499         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
57500
57501         * modules/inet_ntop (configure.ac): Use
57502         gl_ARPA_INET_MODULE_INDICATOR.
57503
57504         * modules/inet_pton (configure.ac): Use
57505         gl_ARPA_INET_MODULE_INDICATOR.
57506
57507 2008-04-22  Jim Meyering  <meyering@redhat.com>
57508
57509         * modules/verify (License): Re-license as LGPLv2+.
57510
57511 2008-04-22  Simon Josefsson  <simon@josefsson.org>
57512
57513         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
57514         parameter to void* as per POSIX standard (MinGW uses char*).
57515
57516 2008-04-21  Bruno Haible  <bruno@clisp.org>
57517
57518         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57519         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57520         Define to replacements if REPLACE_ISWCNTRL is 1.
57521         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
57522         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
57523         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
57524         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
57525         what it fixes.
57526         * doc/posix-functions/iswalpha.texi: Likewise.
57527         * doc/posix-functions/iswblank.texi: Likewise.
57528         * doc/posix-functions/iswcntrl.texi: Likewise.
57529         * doc/posix-functions/iswdigit.texi: Likewise.
57530         * doc/posix-functions/iswgraph.texi: Likewise.
57531         * doc/posix-functions/iswlower.texi: Likewise.
57532         * doc/posix-functions/iswprint.texi: Likewise.
57533         * doc/posix-functions/iswpunct.texi: Likewise.
57534         * doc/posix-functions/iswspace.texi: Likewise.
57535         * doc/posix-functions/iswupper.texi: Likewise.
57536         * doc/posix-functions/iswxdigit.texi: Likewise.
57537         Reported by Alain Guibert.
57538
57539 2008-04-21  Bruno Haible  <bruno@clisp.org>
57540
57541         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
57542         Patch by Alain Guibert.
57543
57544 2008-04-21  Bruno Haible  <bruno@clisp.org>
57545
57546         Fix test failures on mingw.
57547         * tests/test-xstrtol.c (print_no_progname): New function.
57548         (main): Install it in error_print_progname hook.
57549         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
57550         * tests/test-xstrtoimax.sh: Likewise.
57551         * tests/test-xstrtoumax.sh: Likewise.
57552
57553 2008-04-21  Bruno Haible  <bruno@clisp.org>
57554
57555         Fix test failure on mingw.
57556         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
57557
57558 2008-04-21  Bruno Haible  <bruno@clisp.org>
57559
57560         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
57561         Actually assign a value.
57562
57563 2008-04-20  Bruno Haible  <bruno@clisp.org>
57564
57565         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
57566         take 2.
57567         * lib/canonicalize.c (canonicalize_file_name): Elide if the
57568         'canonicalize-lgpl' module is also used.
57569         * lib/canonicalize-lgpl.c: Undo last change.
57570         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
57571
57572 2008-04-20  Bruno Haible  <bruno@clisp.org>
57573
57574         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
57575         config.h. Provide _mkdir based fallback for mingw.
57576         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
57577         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
57578         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
57579         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
57580         rather than defining mkdir in config.h.
57581         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
57582         (gl_SYS_STAT_H_DEFAULTS): New macro.
57583         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
57584         HAVE_IO_H any more.
57585         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
57586         HAVE_DECL_MKDIR and HAVE_IO_H.
57587
57588 2008-04-20  Bruno Haible  <bruno@clisp.org>
57589
57590         * lib/isapipe.c: Port to native Windows platforms.
57591
57592 2008-04-20  Bruno Haible  <bruno@clisp.org>
57593
57594         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
57595
57596 2008-04-21  Eric Blake  <ebb9@byu.net>
57597
57598         Work around preprocessors that don't handle UINTMAX_MAX.
57599         * lib/memchr2.c (memchr2): Avoid embedded #if.
57600         Reported by Alain Guibert, fix suggested by Bruno Haible.
57601
57602 2008-04-21  Simon Josefsson  <simon@josefsson.org>
57603
57604         * doc/posix-functions/strftime.texi (strftime): Explain better
57605         Windows incompatibility.  Suggested by Micah Cowan
57606         <micah@cowan.name>.
57607
57608 2008-04-20  Bruno Haible  <bruno@clisp.org>
57609
57610         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
57611         unistr/u8-mblen.
57612
57613 2008-04-20  Bruno Haible  <bruno@clisp.org>
57614
57615         Fix test failure on platforms with non-GNU iconv.
57616         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
57617         (U_TO_U8): Use it, rather than u16_to_u8.
57618         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
57619         units at the end of the input string.
57620         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
57621
57622 2008-04-20  Bruno Haible  <bruno@clisp.org>
57623
57624         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
57625         when the resulting length is 0.
57626         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
57627
57628 2008-04-20  Bruno Haible  <bruno@clisp.org>
57629
57630         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
57631         works.
57632         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
57633
57634 2008-04-20  Bruno Haible  <bruno@clisp.org>
57635
57636         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
57637         * modules/tsearch-tests (configure.ac): Test for initstate function.
57638
57639 2008-04-20  Bruno Haible  <bruno@clisp.org>
57640
57641         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
57642         for nlink_t if missing.
57643         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
57644
57645 2008-04-19  Bruno Haible  <bruno@clisp.org>
57646
57647         Work around snprintf bug on Linux libc5.
57648         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
57649         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57650         gl_SNPRINTF_SIZE1.
57651         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57652         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
57653         that test failed.
57654         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
57655         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
57656         * modules/snprintf (Files): Add m4/printf.m4.
57657         * modules/vsnprintf (Files): Likewise.
57658         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
57659         * doc/posix-functions/vsnprintf.texi: Likewise.
57660
57661 2008-04-19  Bruno Haible  <bruno@clisp.org>
57662
57663         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
57664         from 0.0058 to less than 10^-7.
57665
57666 2008-04-19  Bruno Haible  <bruno@clisp.org>
57667
57668         Fix rounding when a precision is given.
57669         * lib/vasnprintf.c (is_borderline): New function.
57670         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
57671         9...9x.
57672         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
57673         %e, %g.
57674         * tests/test-vasprintf-posix.c (test_function): Likewise.
57675         * tests/test-snprintf-posix.h (test_function): Likewise.
57676         * tests/test-sprintf-posix.h (test_function): Likewise.
57677         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
57678         * tests/test-printf-posix.h (test_function): Likewise.
57679         * tests/test-printf-posix.output: Update.
57680         Reported by John Darrington <john@darrington.wattle.id.au> via
57681         Ben Pfaff <blp@cs.stanford.edu>.
57682
57683 2008-04-18  Simon Josefsson  <simon@josefsson.org>
57684
57685         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
57686         Suggested by Bruno Haible <bruno@clisp.org>.
57687
57688 2008-04-17  Bruno Haible  <bruno@clisp.org>
57689
57690         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
57691         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
57692         implementation.
57693         Patch by Bruce Merry <bmerry@gmail.com>.
57694
57695 2008-04-17  Simon Josefsson  <simon@josefsson.org>
57696
57697         * doc/posix-functions/strftime.texi (strftime): Mention that %e
57698         doesn't work under Windows.
57699
57700 2008-04-16  Bruno Haible  <bruno@clisp.org>
57701
57702         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
57703         New macros.
57704         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
57705         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
57706         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
57707         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
57708         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
57709         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
57710         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
57711         macros.
57712         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
57713         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
57714         Northern Sotho, Uighur.
57715
57716 2008-04-16  Bruno Haible  <bruno@clisp.org>
57717
57718         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
57719         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
57720         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
57721         Reported by Daniel Bergström <daniel@octocode.com>.
57722
57723 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
57724             Bruno Haible  <bruno@clisp.org>
57725
57726         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
57727         function.
57728         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
57729         New functions, mostly extracted from gl_locale_name_default.
57730         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
57731
57732 2008-04-16  Eric Blake  <ebb9@byu.net>
57733
57734         Adjust strtod detection to catch glibc 2.7 bug.
57735         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
57736         Reported by John Gatewood Ham.
57737
57738 2008-04-16  Bruno Haible  <bruno@clisp.org>
57739
57740         Add tentative support for Linux libc5.
57741         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
57742         * lib/fpurge.c (fpurge): Likewise.
57743         * lib/freadable.c (freadable): Likewise.
57744         * lib/freadahead.c (freadahead): Likewise.
57745         * lib/freading.c (freading): Likewise.
57746         * lib/freadptr.c (freadptr): Likewise.
57747         * lib/freadseek.c (freadptrinc): Likewise.
57748         * lib/fseeko.c (rpl_fseeko): Likewise.
57749         * lib/fseterr.c (fseterr): Likewise.
57750         * lib/fwritable.c (fwritable): Likewise.
57751         * lib/fwriting.c (fwriting): Likewise.
57752         Reported by Alain Guibert <alguibert+bts@free.fr>.
57753
57754 2008-04-15  Bruno Haible  <bruno@clisp.org>
57755
57756         * modules/mathl (configure.ac): Define module indicator.
57757
57758 2008-04-15  Bruno Haible  <bruno@clisp.org>
57759
57760         * lib/logl.c (logl): Remove unused variables.
57761
57762 2008-04-15  Bruno Haible  <bruno@clisp.org>
57763
57764         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
57765         fails.
57766
57767 2008-04-15  Bruno Haible  <bruno@clisp.org>
57768
57769         * lib/trim.c (trim2): Fix argument of isspace() macro.
57770
57771 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57772
57773         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57774         to 0.
57775         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57776
57777 2008-04-14  Bruno Haible  <bruno@clisp.org>
57778
57779         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57780         AC_LANG_PROGRAM argument.
57781         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57782         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57783         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57784         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57785         * m4/math_h.m4 (gl_MATH_H): Likewise.
57786         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57787         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57788         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57789         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57790         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57791         * m4/regex.m4 (gl_REGEX): Likewise.
57792         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57793         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57794         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57795         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57796         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57797         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57798         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57799         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57800
57801 2008-04-14  Jim Meyering  <meyering@redhat.com>
57802
57803         test-strtod: fix typos: s/abs/fabs/
57804         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57805
57806 2008-04-13  Bruno Haible  <bruno@clisp.org>
57807
57808         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57809         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57810         module is also used and while not building the reloc-wrapper.
57811
57812 2008-04-13  Bruno Haible  <bruno@clisp.org>
57813
57814         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57815
57816 2008-04-13  Bruno Haible  <bruno@clisp.org>
57817
57818         Fix AIX compilation failure introduced on 2008-04-02.
57819         * tests/test-frexp.c (exp): Undefine before redefining.
57820         * tests/test-frexpl.c (exp): Likewise.
57821
57822 2008-04-13  Bruno Haible  <bruno@clisp.org>
57823
57824         Work around a HP-UX stdio bug.
57825         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57826         * tests/test-ftello.c (main): Likewise.
57827         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57828         * doc/posix-functions/ftello.texi: Likewise.
57829
57830 2008-04-13  Bruno Haible  <bruno@clisp.org>
57831
57832         Make test-signbit pass on HP-UX/hppa.
57833         * tests/test-signbit.c (minus_zerol): New variable.
57834         (test_signbitl): Use it.
57835
57836 2008-04-13  Bruno Haible  <bruno@clisp.org>
57837
57838         Make truncl work on OSF/1 4.0.
57839         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57840         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57841         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57843         HAVE_DECL_TRUNCL.
57844         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57845         HAVE_DECL_TRUNCL.
57846         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57847
57848 2008-04-13  Bruno Haible  <bruno@clisp.org>
57849
57850         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57851
57852 2008-04-13  Bruno Haible  <bruno@clisp.org>
57853
57854         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57855         expression, so as to avoid HP-UX 11 cc compiler bug.
57856
57857 2008-04-13  Bruno Haible  <bruno@clisp.org>
57858
57859         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57860
57861 2008-04-13  Bruno Haible  <bruno@clisp.org>
57862
57863         * lib/git-merge-changelog.c: Remove empty declaration outside of
57864         functions.
57865
57866 2008-04-13  Bruno Haible  <bruno@clisp.org>
57867
57868         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57869
57870 2008-04-13  Bruno Haible  <bruno@clisp.org>
57871
57872         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57873         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57874         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57875         also if it exists but lacks definitions of the SHUT_* macros.
57876         * modules/sys_socket (Description): Update.
57877         Reported by Elbert Pol <e.pol@chello.nl>.
57878
57879 2008-04-13  Bruno Haible  <bruno@clisp.org>
57880
57881         * lib/localcharset.c (OS2): Don't redefine if already defined.
57882         Reported by Elbert Pol <e.pol@chello.nl>.
57883
57884 2008-04-13  Bruno Haible  <bruno@clisp.org>
57885
57886         * lib/binary-io.h [__EMX__]: Include <io.h>.
57887         Reported by Elbert Pol <e.pol@chello.nl>.
57888
57889 2008-04-12  Bruno Haible  <bruno@clisp.org>
57890
57891         * lib/fpucw.h: Enable the definitions also for x86_64.
57892         Needed for NetBSD/x86_64.
57893         Reported by Thomas Klausner <tk@giga.or.at>.
57894
57895 2008-04-12  Bruno Haible  <bruno@clisp.org>
57896
57897         * tests/test-strtod.c: Include isnand.h.
57898         (main): Use isnand instead of isnan.
57899         Reported by Jim Meyering.
57900
57901 2008-04-12  Bruno Haible  <bruno@clisp.org>
57902
57903         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57904         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57905
57906 2008-04-12  Jim Meyering  <meyering@redhat.com>
57907
57908         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57909
57910 2008-04-12  Bruno Haible  <bruno@clisp.org>
57911
57912         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57913         Reported by Elbert Pol <e.pol@chello.nl>.
57914
57915 2008-04-12  Eric Blake  <ebb9@byu.net>
57916
57917         Work around Solaris 10 math.h bug.
57918         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57919         (gl_MATH_H_DEFAULTS): Set up default.
57920         * modules/math (Makefile.am): Replace new indicators.
57921         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57922         * tests/test-math.c (main): Test this.
57923         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57924         * doc/posix-headers/math.texi (math.h): Mention bug.
57925         Reported by Nelson H. F. Beebe and Jim Meyering.
57926
57927 2008-04-11  Bruno Haible  <bruno@clisp.org>
57928
57929         Adapt to future versions of Apple GCC.
57930         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57931         Reported by Peter O'Gorman <peter@pogma.com>.
57932
57933 2008-04-11  Bruno Haible  <bruno@clisp.org>
57934
57935         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57936
57937 2008-04-11  Bruno Haible  <bruno@clisp.org>
57938
57939         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
57940
57941         * modules/getaddrinfo-tests (Makefile.am): Define
57942         test_getaddrinfo_LDADD.
57943
57944 2008-04-11  Bruno Haible  <bruno@clisp.org>
57945
57946         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
57947         (init): Fix syntax error.
57948         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
57949         is declared.
57950
57951 2008-04-11  Bruno Haible  <bruno@clisp.org>
57952
57953         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
57954         * modules/glob (Depends-on): Add stdbool.
57955
57956 2008-04-11  Bruno Haible  <bruno@clisp.org>
57957
57958         * lib/trim.c: Include <string.h>.
57959
57960 2008-04-11  Eric Blake  <ebb9@byu.net>
57961
57962         Avoid compile failure on OS/2.
57963         * lib/regex_internal.h (internal_function): Disable optimization
57964         on OS/2 (__EMX__), where it caused compiler error.
57965         Reported by Elbert Pol.
57966
57967 2008-04-11  Bruno Haible  <bruno@clisp.org>
57968
57969         Flush the standard error stream before aborting. Needed on mingw.
57970         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
57971         * tests/test-array_list.c (ASSERT): Likewise.
57972         * tests/test-array_oset.c (ASSERT): Likewise.
57973         * tests/test-avltree_list.c (ASSERT): Likewise.
57974         * tests/test-avltree_oset.c (ASSERT): Likewise.
57975         * tests/test-avltreehash_list.c (ASSERT): Likewise.
57976         * tests/test-binary-io.c (ASSERT): Likewise.
57977         * tests/test-byteswap.c (ASSERT): Likewise.
57978         * tests/test-c-ctype.c (ASSERT): Likewise.
57979         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57980         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57981         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57982         * tests/test-c-strstr.c (ASSERT): Likewise.
57983         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57984         * tests/test-canonicalize.c (ASSERT): Likewise.
57985         * tests/test-carray_list.c (ASSERT): Likewise.
57986         * tests/test-ceilf1.c (ASSERT): Likewise.
57987         * tests/test-ceilf2.c (ASSERT): Likewise.
57988         * tests/test-ceill.c (ASSERT): Likewise.
57989         * tests/test-count-one-bits.c (ASSERT): Likewise.
57990         * tests/test-fbufmode.c (ASSERT): Likewise.
57991         * tests/test-fflush2.c (ASSERT): Likewise.
57992         * tests/test-floorf1.c (ASSERT): Likewise.
57993         * tests/test-floorf2.c (ASSERT): Likewise.
57994         * tests/test-floorl.c (ASSERT): Likewise.
57995         * tests/test-fopen.c (ASSERT): Likewise.
57996         * tests/test-fpending.c (ASSERT): Likewise.
57997         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57998         * tests/test-fpurge.c (ASSERT): Likewise.
57999         * tests/test-freadable.c (ASSERT): Likewise.
58000         * tests/test-freadahead.c (ASSERT): Likewise.
58001         * tests/test-freading.c (ASSERT): Likewise.
58002         * tests/test-freadptr.c (ASSERT): Likewise.
58003         * tests/test-freadptr2.c (ASSERT): Likewise.
58004         * tests/test-freadseek.c (ASSERT): Likewise.
58005         * tests/test-freopen.c (ASSERT): Likewise.
58006         * tests/test-frexp.c (ASSERT): Likewise.
58007         * tests/test-frexpl.c (ASSERT): Likewise.
58008         * tests/test-fseek.c (ASSERT): Likewise.
58009         * tests/test-fseeko.c (ASSERT): Likewise.
58010         * tests/test-fstrcmp.c (ASSERT): Likewise.
58011         * tests/test-ftell.c (ASSERT): Likewise.
58012         * tests/test-ftello.c (ASSERT): Likewise.
58013         * tests/test-func.c (ASSERT): Likewise.
58014         * tests/test-fwritable.c (ASSERT): Likewise.
58015         * tests/test-fwriting.c (ASSERT): Likewise.
58016         * tests/test-getdelim.c (ASSERT): Likewise.
58017         * tests/test-getline.c (ASSERT): Likewise.
58018         * tests/test-i-ring.c (ASSERT): Likewise.
58019         * tests/test-iconv-utf.c (ASSERT): Likewise.
58020         * tests/test-iconv.c (ASSERT): Likewise.
58021         * tests/test-isfinite.c (ASSERT): Likewise.
58022         * tests/test-isnand.c (ASSERT): Likewise.
58023         * tests/test-isnanf.c (ASSERT): Likewise.
58024         * tests/test-isnanl.h (ASSERT): Likewise.
58025         * tests/test-ldexpl.c (ASSERT): Likewise.
58026         * tests/test-linked_list.c (ASSERT): Likewise.
58027         * tests/test-linkedhash_list.c (ASSERT): Likewise.
58028         * tests/test-localename.c (ASSERT): Likewise.
58029         * tests/test-lseek.c (ASSERT): Likewise.
58030         * tests/test-mbscasecmp.c (ASSERT): Likewise.
58031         * tests/test-mbscasestr1.c (ASSERT): Likewise.
58032         * tests/test-mbscasestr2.c (ASSERT): Likewise.
58033         * tests/test-mbscasestr3.c (ASSERT): Likewise.
58034         * tests/test-mbscasestr4.c (ASSERT): Likewise.
58035         * tests/test-mbschr.c (ASSERT): Likewise.
58036         * tests/test-mbscspn.c (ASSERT): Likewise.
58037         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
58038         * tests/test-mbspbrk.c (ASSERT): Likewise.
58039         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
58040         * tests/test-mbsrchr.c (ASSERT): Likewise.
58041         * tests/test-mbsspn.c (ASSERT): Likewise.
58042         * tests/test-mbsstr1.c (ASSERT): Likewise.
58043         * tests/test-mbsstr2.c (ASSERT): Likewise.
58044         * tests/test-mbsstr3.c (ASSERT): Likewise.
58045         * tests/test-memchr2.c (ASSERT): Likewise.
58046         * tests/test-memmem.c (ASSERT): Likewise.
58047         * tests/test-open.c (ASSERT): Likewise.
58048         * tests/test-printf-frexp.c (ASSERT): Likewise.
58049         * tests/test-printf-frexpl.c (ASSERT): Likewise.
58050         * tests/test-printf-posix.c (ASSERT): Likewise.
58051         * tests/test-quotearg.c (ASSERT): Likewise.
58052         * tests/test-rbtree_list.c (ASSERT): Likewise.
58053         * tests/test-rbtree_oset.c (ASSERT): Likewise.
58054         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
58055         * tests/test-round1.c (ASSERT): Likewise.
58056         * tests/test-roundf1.c (ASSERT): Likewise.
58057         * tests/test-roundl.c (ASSERT): Likewise.
58058         * tests/test-signbit.c (ASSERT): Likewise.
58059         * tests/test-sleep.c (ASSERT): Likewise.
58060         * tests/test-snprintf-posix.c (ASSERT): Likewise.
58061         * tests/test-snprintf.c (ASSERT): Likewise.
58062         * tests/test-sprintf-posix.c (ASSERT): Likewise.
58063         * tests/test-stat-time.c (ASSERT): Likewise.
58064         * tests/test-strcasestr.c (ASSERT): Likewise.
58065         * tests/test-strerror.c (ASSERT): Likewise.
58066         * tests/test-striconv.c (ASSERT): Likewise.
58067         * tests/test-striconveh.c (ASSERT): Likewise.
58068         * tests/test-striconveha.c (ASSERT): Likewise.
58069         * tests/test-strsignal.c (ASSERT): Likewise.
58070         * tests/test-strstr.c (ASSERT): Likewise.
58071         * tests/test-strtod.c (ASSERT): Likewise.
58072         * tests/test-trunc1.c (ASSERT): Likewise.
58073         * tests/test-trunc2.c (ASSERT): Likewise.
58074         * tests/test-truncf1.c (ASSERT): Likewise.
58075         * tests/test-truncf2.c (ASSERT): Likewise.
58076         * tests/test-truncl.c (ASSERT): Likewise.
58077         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
58078         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
58079         * tests/test-vasnprintf.c (ASSERT): Likewise.
58080         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
58081         * tests/test-vasprintf.c (ASSERT): Likewise.
58082         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
58083         * tests/test-vprintf-posix.c (ASSERT): Likewise.
58084         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
58085         * tests/test-vsnprintf.c (ASSERT): Likewise.
58086         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
58087         * tests/test-wcwidth.c (ASSERT): Likewise.
58088         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
58089         * tests/test-xprintf-posix.c (ASSERT): Likewise.
58090         * tests/test-xvasprintf.c (ASSERT): Likewise.
58091         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
58092         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
58093         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
58094         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
58095         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
58096         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
58097         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
58098         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
58099         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
58100         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
58101         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
58102         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
58103         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
58104         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
58105         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
58106         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
58107         * tests/unictype/test-block_list.c (ASSERT): Likewise.
58108         * tests/unictype/test-block_of.c (ASSERT): Likewise.
58109         * tests/unictype/test-block_test.c (ASSERT): Likewise.
58110         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
58111         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
58112         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
58113         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
58114         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
58115         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
58116         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
58117         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
58118         * tests/unictype/test-combining.c (ASSERT): Likewise.
58119         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
58120         * tests/unictype/test-digit.c (ASSERT): Likewise.
58121         * tests/unictype/test-mirror.c (ASSERT): Likewise.
58122         * tests/unictype/test-numeric.c (ASSERT): Likewise.
58123         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
58124         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
58125         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
58126         * tests/unictype/test-scripts.c (ASSERT): Likewise.
58127         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
58128         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
58129         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
58130         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
58131         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
58132         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
58133         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
58134         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
58135         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
58136         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
58137         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
58138         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
58139         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
58140         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
58141         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
58142         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
58143         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
58144         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
58145         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
58146         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
58147         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
58148         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
58149         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
58150         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
58151         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
58152         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
58153         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
58154         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
58155         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
58156         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
58157         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
58158         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
58159         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
58160         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
58161         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
58162         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
58163         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
58164         Reported by Eric Blake.
58165
58166 2008-04-11  Bruno Haible  <bruno@clisp.org>
58167
58168         * lib/wchar.in.h: Tweak comment.
58169
58170 2008-04-11  Bruno Haible  <bruno@clisp.org>
58171
58172         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
58173         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
58174         gl_COMMON.
58175         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
58176
58177 2008-04-11  Bruno Haible  <bruno@clisp.org>
58178
58179         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
58180
58181 2008-04-11  Simon Josefsson  <simon@josefsson.org>
58182
58183         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
58184         of attempting to use non-existing /dev/*random.  Based on patch
58185         from Adam Strzelecki <ono@java.pl> in
58186         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
58187
58188 2008-04-08  Bruno Haible  <bruno@clisp.org>
58189
58190         Add tentative support for emx+gcc.
58191         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
58192         * lib/fpurge.c (fpurge): Likewise.
58193         * lib/freadable.c (freadable): Likewise.
58194         * lib/freadahead.c (freadahead): Likewise.
58195         * lib/freading.c (freading): Likewise.
58196         * lib/freadptr.c (freadptr): Likewise.
58197         * lib/freadseek.c (freadptrinc): Likewise.
58198         * lib/fseeko.c (rpl_fseeko): Likewise.
58199         * lib/fseterr.c (fseterr): Likewise.
58200         * lib/fwritable.c (fwritable): Likewise.
58201         * lib/fwriting.c (fwriting): Likewise.
58202         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
58203
58204 2008-04-09  Eric Blake  <ebb9@byu.net>
58205
58206         Avoid some autoconf warnings.
58207         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
58208         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
58209         * m4/afs.m4 (gl_AFS): Likewise.
58210         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
58211         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
58212         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58213         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
58214         (gl_INTEGER_TYPE_SUFFIX): Likewise.
58215         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
58216         (AC_CHECK_DECLS_ONCE): Likewise.
58217         Rename file...
58218         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
58219         gnulib-tool requires autoconf 2.59 or better.
58220         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
58221
58222 2008-04-08  Eric Blake  <ebb9@byu.net>
58223
58224         Use 'git describe --match' if present (added in git 1.5.5).
58225         * build-aux/git-version-gen: Limit result to tags that match 'v*'
58226         if possible.
58227
58228 2008-04-08  Bruno Haible  <bruno@clisp.org>
58229
58230         Add tentative support for OpenServer.
58231         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
58232         _ptr, _cnt.
58233         * lib/fpurge.c (fpurge): Likewise.
58234         * lib/freadable.c (freadable): Likewise.
58235         * lib/freadahead.c (freadahead): Likewise.
58236         * lib/freading.c (freading): Likewise.
58237         * lib/freadptr.c (freadptr): Likewise.
58238         * lib/freadseek.c (freadptrinc): Likewise.
58239         * lib/fseeko.c (rpl_fseeko): Likewise.
58240         * lib/fseterr.c (fseterr): Likewise.
58241         * lib/fwritable.c (fwritable): Likewise.
58242         * lib/fwriting.c (fwriting): Likewise.
58243         Reported by Roger Cornelius <rac@tenzing.org> and
58244         Brian K. White <brian@aljex.com>.
58245
58246 2008-04-06  Jim Meyering  <meyering@redhat.com>
58247
58248         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
58249
58250 2008-04-06  Bruno Haible  <bruno@clisp.org>
58251
58252         Avoid possible error with non-ASCII bytes in UTF-8 locales.
58253         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
58254         * tests/test-printf-posix.sh: Likewise.
58255         * tests/test-vfprintf-posix.sh: Likewise.
58256         * tests/test-vprintf-posix.sh: Likewise.
58257         * tests/test-xprintf-posix.sh: Likewise.
58258
58259 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58260
58261         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
58262         hide error from 'ls', needed on OS/2.
58263         Report by Elbert Pol <elbert.pol@gmail.com>.
58264
58265 2008-04-04  Eric Blake  <ebb9@byu.net>
58266
58267         Make test-fseeko.c failures meaningful.
58268         * tests/test-fseeko.c: Print line number on failure.
58269         * tests/test-fseek.c: Likewise.
58270         Reported by Nelson H. F. Beebe.
58271
58272         Improve strtod bug detection check.
58273         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
58274         required for Solaris 10.
58275         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
58276
58277 2008-04-04  Bruno Haible  <bruno@clisp.org>
58278
58279         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
58280         by m4/setenv.m4.
58281
58282 2008-04-03  Eric Blake  <ebb9@byu.net>
58283
58284         Ensure sane .version contents.
58285         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
58286         version string.
58287         * build-aux/git-version-gen: Improve documentation.
58288
58289         Make GNU make output nicer.
58290         * top/GNUmakefile [!_have-Makefile]: Add dependency on
58291         MAKECMDGOALS to enforce message for all command line targets.  Set
58292         srcdir for use in maint.mk.
58293
58294         Another maintainer tweak.
58295         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
58296         a target that regenerates version.
58297
58298 2008-04-03  Jim Meyering  <meyering@redhat.com>
58299
58300         vc-list-files: don't cause coreutils "make po-check" failure
58301         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
58302
58303 2008-04-03  Eric Blake  <ebb9@byu.net>
58304
58305         Allow VPATH usage of vc-list-files.
58306         * build-aux/vc-list-files (scriptversion): Add timestamp.
58307         (options): Add --help, --version, -C.
58308         (CVS): Support installed cvsu.
58309
58310 2008-04-02  Bruno Haible  <bruno@clisp.org>
58311
58312         Avoid some "statement with no effect" warnings from gcc.
58313         * tests/test-wctype.c (main): Explicitly ignore unused values.
58314         Reported by Jim Meyering.
58315
58316 2008-04-02  Jim Meyering  <meyering@redhat.com>
58317
58318         Avoid some warnings from "gcc -Wshadow".
58319         * tests/test-frexp.c (exp): Define to a different identifier.
58320         * tests/test-frexpl.c (exp): Likewise.
58321
58322 2008-04-03  Jim Meyering  <meyering@redhat.com>
58323
58324         bootstrap: remove dangling *.[ch] symlinks from lib
58325         * build-aux/bootstrap [dangling symlink removal]: Move find's
58326         -depth option to precede all others, to avoid a warning.
58327         Remove *.[ch] files too, and from "$source_base" (usually lib/).
58328
58329 2008-04-02  Bruno Haible  <bruno@clisp.org>
58330
58331         Avoid some warnings from "gcc -Wshadow".
58332         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
58333         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
58334         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
58335         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
58336         Reported by Jim Meyering.
58337
58338 2008-04-01  Bruno Haible  <bruno@clisp.org>
58339
58340         Fix test to work on IRIX 6.5 with cc.
58341         * tests/test-math.c (numeric_equal): New function.
58342         (main): Use it.
58343
58344 2008-04-01  Bruno Haible  <bruno@clisp.org>
58345
58346         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58347
58348 2008-04-01  Bruno Haible  <bruno@clisp.org>
58349
58350         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58351         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58352         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58353         (Depends-on): Remove math.
58354
58355         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58356         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58357         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58358         (Depends-on): Remove math.
58359
58360         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58361         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58362         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58363         (Depends-on): Remove math.
58364         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58365         (Depends-on): Remove math.
58366
58367         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
58368         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58369         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
58370         (Depends-on): Remove math.
58371         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58372         (Depends-on): Remove math.
58373
58374         * tests/test-round1.c: Include nan.h.
58375         (main): Use NaNd instead of NAN.
58376         * modules/round-tests (Files): Add tests/nan.h.
58377
58378         * tests/test-trunc1.c: Include nan.h.
58379         (main): Use NaNd instead of NAN.
58380         * modules/trunc-tests (Files): Add tests/nan.h.
58381
58382         * tests/test-roundf1.c: Include nan.h.
58383         (main): Use NaNf instead of NAN.
58384         * modules/roundf-tests (Files): Add tests/nan.h.
58385
58386         * tests/test-truncf1.c: Include nan.h.
58387         (main): Use NaNf instead of NAN.
58388         * modules/truncf-tests (Files): Add tests/nan.h.
58389
58390         * tests/test-ceilf1.c: Include nan.h.
58391         (main): Use NaNf instead of NAN.
58392         * modules/ceilf-tests (Files): Add tests/nan.h.
58393
58394         * tests/test-floorf1.c: Include nan.h.
58395         (main): Use NaNf instead of NAN.
58396         * modules/floorf-tests (Files): Add tests/nan.h.
58397
58398         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58399         (main): Use NaNf instead of NAN.
58400         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
58401
58402         * tests/test-isnand.c: Include nan.h instead of <math.h>.
58403         (main): Use NaNd instead of NAN.
58404         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
58405
58406         * tests/test-frexp.c: Include nan.h.
58407         (main): Use NaNd instead of NAN.
58408         * modules/frexp-tests (Files): Add tests/nan.h.
58409
58410         * lib/isnan.c: Don't include <math.h>.
58411         (FUNC): Don't use NAN macro.
58412         * modules/isnand-nolibm (Depends-on): Remove math.
58413         * modules/isnanf-nolibm (Depends-on): Remove math.
58414         * modules/isnanl (Depends-on): Remove math.
58415         * modules/isnanl-nolibm (Depends-on): Remove math.
58416
58417         * tests/nan.h: New file.
58418
58419 2008-04-01  Eric Blake  <ebb9@byu.net>
58420
58421         Fix typos.
58422         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
58423         values to be the right type.
58424
58425         For now, cater to gnulib strtod inaccuracies.
58426         * tests/test-strtod.c (main): Allow 1-ulp error on expected
58427         fractional results.  While not as nice from a QoI perspective, it
58428         is a quicker patch than correctly implementing decimal to binary
58429         rounding.
58430
58431 2008-03-31  Eric Blake  <ebb9@byu.net>
58432
58433         Guarantee a definition of NAN.
58434         * lib/math.in.h (NAN): Define if missing.
58435         * tests/test-math.c (main): Test it.
58436         * doc/posix-headers/math.texi (math.h): Document this.
58437         * lib/isnan.c (rpl_isnand): Use it.
58438         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
58439         * tests/test-floorf1.c (NaN): Likewise.
58440         * tests/test-frexp.c (NaN): Likewise.
58441         * tests/test-isnand.c (NaN): Likewise.
58442         * tests/test-isnanf.c (NaN): Likewise.
58443         * tests/test-round1.c (NaN): Likewise.
58444         * tests/test-roundf1.c (NaN): Likewise.
58445         * tests/test-snprintf-posix.h (NaN): Likewise.
58446         * tests/test-sprintf-posix.h (NaN): Likewise.
58447         * tests/test-trunc1.c (NaN): Likewise.
58448         * tests/test-truncf1.c (NaN): Likewise.
58449         * tests/test-vasnprintf-posix.c (NaN): Likewise.
58450         * tests/test-vasprintf-posix.c (NaN): Likewise.
58451         * modules/isnand-nolibm (Depends-on): Add math.
58452         * modules/isnanf-nolibm (Depends-on): Likewise.
58453         * modules/isnanl (Depends-on): Likewise.
58454         * modules/isnanl-nolibm (Depends-on): Likewise.
58455         * modules/snprintf-posix-tests (Depends-on): Likewise.
58456         * modules/sprintf-posix-tests (Depends-on): Likewise.
58457         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
58458         * modules/vsprintf-posix-tests (Depends-on): Likewise.
58459         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
58460         * modules/vasprintf-posix-tests (Depends-on): Likewise.
58461
58462 2008-03-31  Bruno Haible  <bruno@clisp.org>
58463
58464         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
58465         * doc/posix-functions/strtod.texi: Likewise.
58466
58467 2008-03-31  Bruno Haible  <bruno@clisp.org>
58468
58469         * tests/test-strtod.c (main): Don't use C99 syntax.
58470
58471 2008-03-31  Bruno Haible  <bruno@clisp.org>
58472
58473         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
58474         Reported by Eric Blake.
58475
58476 2008-03-31  Jim Meyering  <meyering@redhat.com>
58477
58478         Don't compare actual signbit return values.
58479         * tests/test-strtod.c (main): Rather, compare only their
58480         zero/non-zero nature.
58481
58482 2008-03-31  Eric Blake  <ebb9@byu.net>
58483
58484         More strtod documentation.
58485         * doc/posix-functions/strtod.texi (strtod): Interpret more test
58486         failures as distinct bugs.
58487
58488 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58489
58490         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
58491         Problem reported by Erik Benada in
58492         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
58493
58494 2008-03-30  Bruno Haible  <bruno@clisp.org>
58495
58496         * tests/test-strtod.c: Add comments about which assertion fails on which
58497         platform.
58498         * doc/posix-functions/strtod.texi: Add info about many more platforms.
58499
58500 2008-03-30  Eric Blake  <ebb9@byu.net>
58501
58502         Test signbit behavior on zeros.
58503         * tests/test-signbit.c (test_signbitf): Add tests for zero.
58504         (test_signbitd, test_signbitl): Likewise.
58505
58506         More strtod touchups.
58507         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
58508         sign of negative underflow, for now.  Use .5, not .1.
58509         * doc/posix-functions/strtod.texi (strtod): Mention these
58510         limitations.
58511         Reported by Jim Meyering.
58512
58513 2008-03-30  Bruno Haible  <bruno@clisp.org>
58514
58515         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
58516         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
58517
58518 2008-03-30  Bruno Haible  <bruno@clisp.org>
58519
58520         Avoid failure when attempting to return empty iconv results on some
58521         platforms.
58522         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
58523         allocation, don't report ENOMEM when the resulting string is empty.
58524
58525 2008-03-30  Bruno Haible  <bruno@clisp.org>
58526
58527         Fix buffer overrun.
58528         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
58529         Don't consider the width for tmp_length. Check count against tmp_length
58530         before doing the padding. Ensure enough allocation during padding.
58531
58532 2008-03-30  Eric Blake  <ebb9@byu.net>
58533
58534         strtod touchups.
58535         * lib/strtod.c (strtod): Avoid compiler warnings.
58536         Reported by Jim Meyering.
58537
58538 2008-03-30  Bruno Haible  <bruno@clisp.org>
58539
58540         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
58541         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
58542         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
58543         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
58544         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
58545         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
58546         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
58547         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
58548
58549         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
58550         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
58551         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
58552         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
58553         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
58554         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
58555         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
58556         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
58557
58558         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
58559         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
58560         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
58561         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
58562         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
58563         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
58564         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
58565         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
58566
58567         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
58568         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
58569
58570         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
58571         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
58572
58573         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
58574         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
58575
58576         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
58577         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
58578         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
58579
58580         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
58581         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
58582         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
58583
58584         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
58585         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
58586         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
58587
58588         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
58589         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
58590         * modules/vasprintf (Depends-on): Add EOVERFLOW.
58591
58592         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
58593         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
58594         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
58595         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
58596         (Depends-on): Add EOVERFLOW.
58597         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
58598         (Depends-on): Add EOVERFLOW.
58599         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58600         (Depends-on): Add EOVERFLOW.
58601         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58602         (Depends-on): Add EOVERFLOW.
58603         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58604         (Depends-on): Add EOVERFLOW.
58605         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58606         (Depends-on): Add EOVERFLOW.
58607         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58608         (Depends-on): Add EOVERFLOW.
58609         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58610         (Depends-on): Add EOVERFLOW.
58611
58612         * lib/sprintf.c (EOVERFLOW): Remove fallback.
58613         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
58614         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
58615
58616         * lib/snprintf.c (EOVERFLOW): Remove fallback.
58617         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
58618         * modules/snprintf (Depends-on): Add EOVERFLOW.
58619
58620         * lib/poll.c (EOVERFLOW): Remove fallback.
58621         * modules/poll (Depends-on): Add EOVERFLOW.
58622
58623         * lib/getugroups.c (EOVERFLOW): Remove fallback.
58624         * modules/getugroups (Depends-on): Add EOVERFLOW.
58625
58626         * lib/getdelim.c (EOVERFLOW): Remove fallback.
58627         * modules/getdelim (Depends-on): Add EOVERFLOW.
58628
58629         * lib/ftell.c (EOVERFLOW): Remove fallback.
58630         * modules/ftell (Depends-on): Add EOVERFLOW.
58631
58632         * lib/fprintf.c (EOVERFLOW): Remove fallback.
58633         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
58634         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
58635
58636         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
58637
58638         * modules/EOVERFLOW-tests: New file.
58639         * tests/test-EOVERFLOW.c: New file.
58640
58641         * modules/EOVERFLOW: New file.
58642         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
58643
58644 2008-03-30  Bruno Haible  <bruno@clisp.org>
58645
58646         Fix bug introduced on 2007-06-10.
58647         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
58648         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
58649
58650 2008-03-30  Bruno Haible  <bruno@clisp.org>
58651
58652         Improve freadseek's efficiency after ungetc.
58653         * lib/freadseek.c: Include freadahead.h.
58654         (freadptrinc): New function, extracted from freadseek.
58655         (freadseek): Use it in a loop. Use freadahead to determine the number
58656         of loop iterations.
58657         * modules/freadseek (Depends-on): Add freadahead.
58658         (configure.ac): Require AC_C_INLINE.
58659
58660 2008-03-30  Bruno Haible  <bruno@clisp.org>
58661
58662         * lib/freadseek.c (freadseek): Don't ignore the return value of
58663         freadptr.
58664
58665 2008-03-29  Eric Blake  <ebb9@byu.net>
58666
58667         Add hex float support.
58668         * modules/strtod (Depends-on): Add c-ctype.
58669         (Link): Mention POW_LIB.
58670         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
58671         whitespace between 'e' and exponent.
58672         * tests/test-strtod.c (main): Enable hex float tests.
58673         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
58674         now provides.
58675
58676         Document various strtod bugs, with some fixes.
58677         * doc/posix-functions/strtod.texi (strtod): Document bugs with
58678         "-0x", "inf", "nan", and hex constants.
58679         * doc/posix-functions/atof.texi (atof): Likewise.
58680         * modules/stdlib (Makefile.am): Support strtod.
58681         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
58682         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
58683         detect additional strtod bugs.
58684         * lib/stdlib.in.h (rpl_strtod): Add declarations.
58685         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
58686         bool where appropriate.  Parse 'inf' and 'nan'.
58687         * tests/test-strtod.c: New file.
58688         * modules/strtod (Depends-on): Add stdbool, stdlib.
58689         (configure.ac): Turn on module indicator.
58690         * modules/strtod-tests: New module.
58691
58692 2008-03-29  Eric Blake  <ebb9@byu.net>
58693
58694         Fix ftell on mingw.
58695         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
58696         * modules/ftell-tests (Depends-on): Add binary-io.
58697         * modules/ftello-tests (Depends-on): Likewise.
58698         * tests/test-ftell.c (main): Enhance test to cover behavior after
58699         ungetc.  Enforce binary mode.
58700         * tests/test-ftello.c (main): Likewise.
58701
58702         Pass test-freadseek on cygwin.
58703         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
58704         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
58705         ungetc buffer.
58706
58707         * tests/test-fflush2.c (main): Fix typo.
58708
58709 2008-03-29  Bruno Haible  <bruno@clisp.org>
58710
58711         * tests/test-fflush2.c (main): Temporarily disable the contents of
58712         this test.
58713         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
58714         Reported by Eric Blake.
58715
58716 2008-03-28  Simon Josefsson  <simon@josefsson.org>
58717
58718         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
58719         (GC_SHA224_DIGEST_SIZE): Add.
58720
58721         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
58722         (gc_hash_digest_length): Likewise.
58723         (gc_hash_buffer): Likewise.
58724
58725 2008-03-25  Bruno Haible  <bruno@clisp.org>
58726
58727         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
58728         detail which gettext release to use.
58729         Reported by Simon Josefsson.
58730
58731 2008-03-26  Jim Meyering  <meyering@redhat.com>
58732
58733         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
58734         * modules/gnumakefile (clean-GNUmakefile): Also, use
58735         test ... && ... || : syntax rather than if-then ... fi.
58736
58737         gnumakefile: Don't double-quote-expand $(VPATH) value.
58738         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
58739
58740 2008-03-24  Eric Blake  <ebb9@byu.net>
58741
58742         Alter GNUmakefile to install into top directory.
58743         * modules/maintainer-makefile: Split, and add dependency...
58744         * modules/gnumakefile: to this new module.
58745         * build-aux/GNUmakefile: Move...
58746         * top/GNUmakefile: ...here.
58747         * build-aux/maint.mk: Move...
58748         * top/maint.mk: ...here.
58749         * MODULES.html.sh (Support for maintaining...): Document new
58750         module.
58751
58752 2008-03-23  Bruno Haible  <bruno@clisp.org>
58753
58754         * gnulib-tool: New options --vc-files, --no-vc-files.
58755         (func_usage): Document them.
58756         (vc_files): New variable.
58757         (func_import): Consider vc_files.
58758         (func_create_testdir): Set vc_files to empty.
58759         Suggested by Jim Meyering and Karl Berry.
58760
58761 2008-03-23  Bruno Haible  <bruno@clisp.org>
58762
58763         Fix regex compilation error on HP-UX 11.
58764         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
58765         * modules/regex (Files): Add m4/mbstate_t.m4.
58766         Reported by Ton Voon <ton.voon@altinity.com>.
58767
58768 2008-03-23  Bruno Haible  <bruno@clisp.org>
58769
58770         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58771
58772 2008-03-23  Eric Blake  <ebb9@byu.net>
58773             Bruno Haible  <bruno@clisp.org>
58774
58775         Install files from top/ in the destination directory.
58776         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58777         augmentation also for the files from top/.
58778         (func_import, func_create_testdir): Rewrite file names:
58779         top/filename -> filename.
58780
58781 2008-03-23  Bruno Haible  <bruno@clisp.org>
58782
58783         Tweak "gnulib --version" output.
58784         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58785
58786 2008-03-23  Bruno Haible  <bruno@clisp.org>
58787
58788         Tweak "gnulib --version" output.
58789         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58790         rather than contents of ChangeLog, when possible.
58791
58792 2008-03-21  Eric Blake  <ebb9@byu.net>
58793
58794         More --version tweaks.
58795         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58796         date of last ChangeLog entry.
58797
58798 2008-03-21  Jim Meyering  <meyering@redhat.com>
58799
58800         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58801
58802 2008-03-20  Eric Blake  <ebb9@byu.net>
58803
58804         VPATH fix.
58805         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58806
58807 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58808
58809         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58810         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58811
58812 2008-03-20  Eric Blake  <ebb9@byu.net>
58813
58814         Sync GNUmakefile with coreutils.
58815         * build-aux/GNUmakefile (have-Makefile): Rename...
58816         (_have-Makefile): ...to this, for namespace consideration.
58817         (GNUmakefile.cfg): Include, if present.
58818         (_autoreconf): Define a default.
58819         (_is-dist-target): New rule for rebuilds to pick up intra-release
58820         version.
58821         (maint-cfg.mk): Rename...
58822         (cfg.mk): ...to this.
58823
58824 2008-03-18  Jim Meyering  <meyering@redhat.com>
58825
58826         New script and module: mktempd
58827         * MODULES.html.sh (maint+release support): Add mktempd.
58828         * build-aux/mktempd: New file.
58829         * modules/mktempd: New file.
58830
58831 2008-03-15  Jim Meyering  <meyering@redhat.com>
58832
58833         Undo last change.
58834         * lib/sha1.c, lib/md5.c: 63 != ~63.
58835         Reported by Andreas Schwab.
58836
58837         sha1.c, md5.c: Hoist a redundant expression.
58838         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58839         "ctx->buflen" only once, before calling *_process_block.
58840         * lib/md5.c (md5_process_bytes): Likewise.
58841
58842 2008-03-14  Eric Blake  <ebb9@byu.net>
58843
58844         Bump copyright year in files generated by gnulib-tool.
58845         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58846         gnulib-tool, rather than hard-coding it.
58847
58848         Fix 'gnulib-tool --version' output to work with git.
58849         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58850         (startup): ...here.
58851         (func_version): Use it to invoke git-version-gen, rather than
58852         relying on CVS keyword expansion.  Modernize wording.
58853         (cvsdatestamp, last_checkin_date, version): Kill unused
58854         variables.
58855
58856 2008-03-12  Jim Meyering  <meyering@redhat.com>
58857
58858         Recognize optional cast of the argument to free.
58859         * build-aux/useless-if-before-free: Update regexps.
58860
58861         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58862
58863 2008-03-11  Bruno Haible  <bruno@clisp.org>
58864
58865         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58866         by a single package.
58867         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58868         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58869         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58870         Reported by Sam Steingold <sds@gnu.org>.
58871
58872 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58873
58874         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58875         repositories.
58876
58877 2008-03-11  Bruno Haible  <bruno@clisp.org>
58878
58879         Avoid conflicts between local macro definitions.
58880         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58881         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58882
58883 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58884             Bruno Haible  <bruno@clisp.org>
58885
58886         Make va_copy work with some version of xlc on AIX 5.1.
58887         * lib/stdarg.in.h: New file.
58888         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58889         On AIX, use a <stdarg.h> file substitute.
58890         * modules/stdarg (Files): Add lib/stdarg.in.h.
58891         (Depends-on): Add include_next.
58892         (Makefile.am): Build a stdarg.h substitute if requested.
58893         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58894
58895 2008-03-10  Bruno Haible  <bruno@clisp.org>
58896
58897         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58898         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58899         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58900
58901 2008-03-10  Bruno Haible  <bruno@clisp.org>
58902
58903         * modules/stdlib (Depends-on): Add include_next, remove
58904         absolute-header.
58905
58906 2008-03-09  Bruno Haible  <bruno@clisp.org>
58907
58908         * lib/freadahead.h (freadahead): Document more precisely.
58909         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58910         the sum of both buffer sizes.
58911         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58912         * NEWS: Document the change.
58913
58914 2008-03-09  Bruno Haible  <bruno@clisp.org>
58915
58916         Extend freadptr to return also the buffer size.
58917         * lib/freadptr.h (freadptr): Add sizep argument.
58918         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58919         (freadptr): Add sizep argument. Determine buffer size like freadahead
58920         does.
58921         * tests/test-freadptr.c: Don't include freadahead.h.
58922         (main): Adapt for new calling convention of freadptr.
58923         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58924         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58925         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58926         tests/test-freadptr2.sh.
58927         (Depends): Remove freadahead.
58928         (TESTS): Add test-freadptr2.sh.
58929         (check_PROGRAMS): Add test-freadptr2.
58930
58931 2008-03-09  Bruno Haible  <bruno@clisp.org>
58932
58933         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58934         Report and solution by Simon Josefsson.
58935
58936 2008-03-06  Bruno Haible  <bruno@clisp.org>
58937
58938         Make fflush after ungetc work on BSD platforms.
58939         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
58940         * tests/test-fflush2.c: New file.
58941         * tests/test-fflush2.sh: New file.
58942         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
58943         tests/test-fflush2.c.
58944         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
58945         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
58946
58947 2008-03-06  Eric Blake  <ebb9@byu.net>
58948
58949         Likewise for ftello.
58950         * modules/ftello (Dependencies): Add extensions.
58951         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
58952
58953 2008-03-06  Bruno Haible  <bruno@clisp.org>
58954
58955         * modules/fseeko (Dependencies): Add extensions.
58956         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
58957         Needed on glibc systems.
58958
58959 2008-03-06  Bruno Haible  <bruno@clisp.org>
58960
58961         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
58962         email address.
58963         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58964
58965 2008-03-06  Bruno Haible  <bruno@clisp.org>
58966
58967         * users.txt: Add libgnupdf.
58968
58969 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58970
58971         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
58972         (Header File Substitutes, Function Substitutes,
58973         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
58974         (Build robot for gnulib): Fix typo.
58975
58976 2008-03-06  Bruno Haible  <bruno@clisp.org>
58977
58978         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58979         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58980
58981 2008-03-06  Bruno Haible  <bruno@clisp.org>
58982
58983         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58984         * doc/gnulib.texi: Include it.
58985
58986 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58987
58988         * modules/func (License): Change license to unlimited; there was
58989         no LGPL parts in the module anyway.
58990
58991 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58992
58993         * modules/__func__: Renamed to modules/func.
58994         * modules/__func__-tests: Renamed to modules/func-tests.
58995         * tests/test-__func__.c: Renamed to tests/test-func.c.
58996         * m4/__func__.m4: Renamed to m4/func.m4.
58997         * doc/gnulib.texi (__func__): Section renamed to func.
58998         Suggested by Eric Blake <ebb9@byu.net>.
58999
59000 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59001
59002         * doc/gnulib.texi (__func__): Use C99 terminology when talking
59003         about __func__.  Make example self-contained.  Suggested by Eric
59004         Blake <ebb9@byu.net>.
59005
59006         * tests/test-__func__.c (main): Avoid extraneous () around __func.
59007         Suggested by Eric Blake <ebb9@byu.net>.
59008
59009 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59010
59011         * modules/__func__: New file.
59012         * modules/__func__-tests: New file.
59013         * tests/test-__func__.c: New file.
59014         * m4/__func__.m4: New file.
59015         * doc/gnulib.texi (__func__): Document __func__ module.
59016
59017 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59018
59019         * modules/byteswap (License): Re-license as LGPLv2+.
59020
59021 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59022
59023         * doc/Makefile: Add pdf target.
59024
59025 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59026
59027         * modules/inline (License): Use 'unlimited', since there are only
59028         *.m4 files in this module.
59029
59030 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59031             Bruno Haible  <bruno@clisp.org>
59032
59033         Add support for HP C 7.1 on OpenVMS 8.3.
59034         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
59035
59036 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59037
59038         Update VMS specifics.
59039         * lib/getopt.c [VMS]: Remove include of unixlib.h.
59040
59041 2008-03-02  Jim Meyering  <meyering@redhat.com>
59042
59043         Remove the last dependency on the "free" module.
59044         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
59045         Reported by Bob Proulx.
59046
59047         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
59048
59049         Remove useless "if" tests before free.  Deprecate "free" module.
59050         * doc/posix-functions/free.texi: Mention that this
59051         module is no longer useful.
59052         * modules/free (Notice): Say this module is obsolete.
59053         * modules/readutmp (Depends-on): Remove free.
59054         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
59055         * lib/putenv.c (putenv): Likewise.
59056         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
59057         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
59058         * tests/test-c-strcasestr.c (main): Likewise.
59059         * tests/test-c-strstr.c (main): Likewise.
59060         * tests/test-mbscasestr1.c (main): Likewise.
59061         * tests/test-mbscasestr2.c (main): Likewise.
59062         * tests/test-mbsstr1.c (main): Likewise.
59063         * tests/test-mbsstr2.c (main): Likewise.
59064         * tests/test-memmem.c (main): Likewise.
59065         * tests/test-strcasestr.c (main): Likewise.
59066         * tests/test-striconv.c (main): Likewise.
59067         * tests/test-striconveh.c (main): Likewise.
59068         * tests/test-striconveha.c (main): Likewise.
59069         * tests/test-strstr.c (main): Likewise.
59070
59071         * build-aux/git-version-gen: Adjust a comment and the Usage string.
59072
59073         bootstrap: sync from coreutils again
59074         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
59075
59076 2008-03-01  Jim Meyering  <meyering@redhat.com>
59077
59078         bootstrap: sync from coreutils
59079         * build-aux/bootstrap (update_po_files): Copy a .po file into place
59080         also when the target doesn't exist.
59081
59082 2008-03-01  Eric Blake  <ebb9@byu.net>
59083
59084         Fix bugs in last patch.
59085         * lib/memchr2.c (memchr2): Fix typo.
59086         * tests/test-memchr2.c: Test previous bug, and don't use GNU
59087         extension.
59088         Reported by Bruce Korb.
59089
59090         New module 'memchr2'.
59091         * modules/memchr2: New file.
59092         * modules/memchr2-tests: Likewise.
59093         * lib/memchr2.h: Likewise.
59094         * lib/memchr2.c: Likewise, based on memchr.c.
59095         * tests/test-memchr2.c: New test.
59096         * MODULES.html.sh (String handling): Add memchr2.
59097
59098 2008-02-29  Bruno Haible  <bruno@clisp.org>
59099
59100         * modules/freadseek-tests: New file.
59101         * tests/test-freadseek.sh: New file.
59102         * tests/test-freadseek.c: New file.
59103
59104         New module 'freadseek'.
59105         * modules/freadseek: New file.
59106         * lib/freadseek.h: New file.
59107         * lib/freadseek.c: New file.
59108         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
59109
59110 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59111
59112         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
59113         wydawca.
59114
59115         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
59116         program_invocation_name and program_invocation_short_name are
59117         present.
59118
59119 2008-02-28  Bruno Haible  <bruno@clisp.org>
59120
59121         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
59122         * tests/test-freadptr.sh: Also test non-seekable stdin.
59123
59124 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
59125
59126         * build-aux/bootstrap (source_base, m4_base)
59127         (doc_base, tests_base): New variables.
59128         (gnulib_tool_options): Do not hardcode base directories, use
59129         the above variables instead.
59130
59131 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
59132
59133         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
59134
59135 2008-02-28  Bruno Haible  <bruno@clisp.org>
59136
59137         * modules/freadptr-tests: New file.
59138         * tests/test-freadptr.sh: New file.
59139         * tests/test-freadptr.c: New file.
59140
59141         New module 'freadptr'.
59142         * modules/freadptr: New file.
59143         * lib/freadptr.h: New file.
59144         * lib/freadptr.c: New file.
59145         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
59146
59147 2008-02-26  Karl Berry  <karl@freefriends.org>
59148
59149         Sync from Libtool:
59150         * libltdl/argz.c (argz_add, argz_count): New functions.
59151         * libltdl/argz.in.h: Declare them.
59152         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
59153
59154 2008-02-22  Bruno Haible  <bruno@clisp.org>
59155
59156         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
59157         is a pointer type.  Needed for HP-UX 10.
59158         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
59159         * doc/posix-functions/gmtime_r.texi: Likewise.
59160         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59161
59162 2008-02-24  Bruno Haible  <bruno@clisp.org>
59163
59164         * modules/environ-tests: New file.
59165         * tests/test-environ.c: New file.
59166
59167         New module 'environ'.
59168         * modules/environ: New file.
59169         * lib/unistd.in.h (environ): New declaration.
59170         * m4/environ.m4: New file.
59171         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
59172         after use.
59173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
59174         HAVE_DECL_ENVIRON.
59175         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
59176         HAVE_DECL_ENVIRON.
59177         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
59178         wrong claim that 'environ' is missing on some systems.
59179         * modules/execute (Depends-on): Add environ.
59180         * lib/execute.c (environ): Remove fallback declaration.
59181         * modules/pipe (Depends-on): Add environ.
59182         * lib/pipe.c (environ): Remove fallback declaration.
59183         * modules/setenv (Depends-on): Add environ.
59184         * lib/setenv.c (environ): Remove fallback declaration.
59185         * modules/unsetenv (Depends-on): Add environ.
59186         * lib/unsetenv.c (environ): Remove fallback declaration.
59187         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
59188         m4/environ.m4.
59189         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
59190         (gl_PREREQ_UNSETENV): Likewise.
59191
59192 2008-02-24  Bruno Haible  <bruno@clisp.org>
59193
59194         * doc/posix-functions/environ.texi: Document the MacOS X problem.
59195
59196 2008-02-20  Bob Proulx  <bob@proulx.com>
59197
59198         Enable use of older two part flavor 'git describe'.
59199         * build-aux/git-version-gen: If using the older two part flavor of
59200         git version then recreate the third part now present in the
59201         newer three part flavor of git describe.
59202
59203 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
59204
59205         * lib/fts.c (fts_build): Typo correction to comment.
59206
59207 2008-02-17  Bruno Haible  <bruno@clisp.org>
59208
59209         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
59210         generating no-op conflicts.
59211
59212 2008-02-17  Bruno Haible  <bruno@clisp.org>
59213
59214         Speed up by 10%.
59215         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
59216         result_entries, rather than an index-based loop.
59217
59218 2008-02-17  Bruno Haible  <bruno@clisp.org>
59219
59220         Speed up by 25%.
59221         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
59222         'hashcode_cached'.
59223         (entry_create): New function.
59224         (entry_hashcode): Use the cached hashcode if possible.
59225         (read_changelog_file, try_split_merged_entry): Use entry_create.
59226
59227 2008-02-17  Bruno Haible  <bruno@clisp.org>
59228
59229         Speed up from O(n^2) to O(n) for long ChangeLog files.
59230         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
59231         (read_changelog_file): Change implementation of entries_reversed list
59232         to rbtreehash.
59233         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
59234
59235 2008-02-17  Bruno Haible  <bruno@clisp.org>
59236
59237         New option --split-merged-entry.
59238         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
59239         (find_paragraph_end, try_split_merged_entry): New functions.
59240         (long_options): Add option --split-merged-entry.
59241         (usage): Document option --split-merged-entry.
59242         (main): Implement option --split-merged-entry.
59243         Reported by Eric Blake.
59244
59245 2008-02-17  Bruno Haible  <bruno@clisp.org>
59246
59247         * lib/git-merge-changelog.c: Include c-strstr.h.
59248         (main): Support the "git pull --rebase" situation.
59249         * modules/git-merge-changelog (Depends-on): Add c-strstr.
59250         Reported by Eric Blake.
59251
59252 2008-02-16  Eric Blake  <ebb9@byu.net>
59253
59254         Avoid doubling \ in common case of "c-maybe" quoting style.
59255         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
59256         eliding outer quotes.
59257         * lib/quotearg.h: Document this.
59258         * tests/test-quotearg.c (result_strings, inputs, results_g)
59259         (flag_results, locale_results): Test it by adding a new string to
59260         each test group.
59261         (compare_strings): Test new string.
59262
59263 2008-02-13  Eric Blake  <ebb9@byu.net>
59264
59265         Avoid trigraph quoting in default output.
59266         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
59267         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
59268         unless explicitly requested.
59269         * tests/test-quotearg.c (flag_results, main): Add additional tests.
59270
59271 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
59272
59273         Don't rely on signed integer overflowing to negative value.
59274         * lib/getugroups.c (getugroups): Include <limits.h>.
59275         Instead, compare against INT_MAX, and increment only if the test passes.
59276
59277 2008-02-13  Jim Meyering  <meyering@redhat.com>
59278         and Eric Blake  <ebb9@byu.net>
59279
59280         Avoid shadowing warning and compile errors on Linux.
59281         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
59282         forwarding macros on Linux.
59283         (dcgettext): Define a stub, for Linux.
59284         (results_g, main): Avoid warnings.
59285
59286 2008-02-12  Eric Blake  <ebb9@byu.net>
59287
59288         Silence warning in last patch.
59289         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
59290
59291         Quotearg part 4: add tests, fix c-maybe colon quoting.
59292         * lib/quotearg.h: Improve documentation.
59293         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
59294         escapes when adding outer quotes.  When quoting trigraphs, use
59295         valid C notation.  When quoting NUL, omit extra characters if next
59296         character is not digit.  Alter prototype.
59297         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
59298         callers.
59299         * modules/quotearg-tests: New module.
59300         * tests/test-quotearg.c: New test.
59301
59302 2008-02-07  Eric Blake  <ebb9@byu.net>
59303
59304         Quotearg part 3: add flag to control outer quote elision.
59305         * lib/quotearg.h (c_maybe_quoting_style): New style.
59306         (enum quoting_flags): Better documentation of flags.
59307         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
59308         c-maybe style.
59309         (quotearg_buffer_restyled): Handle new flag to elide outer
59310         quotes.
59311
59312         Quotearg part 2: add flag that can control NUL elision.
59313         * lib/quotearg.h (set_quoting_flags): New prototype.
59314         * lib/quotearg.c (struct quoting_options): Add flag field.
59315         (set_quoting_flags): New function.
59316         (quotearg_buffer_restyled): Add flags parameter.
59317         (quotearg_alloc_mem): Set the flag if length cannot be returned.
59318         (quotearg_n_options): Set the flag, since length cannot be
59319         returned.
59320         (quoting_options_from_style): Default flags correctly.
59321
59322         Quotearg part 1: more wrappers, restore quotearg_char state.
59323         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
59324         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
59325         (quotearg_colon_mem): New wrappers.
59326         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
59327         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
59328         functions.
59329         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
59330         (quotearg_colon_mem): New functions.
59331
59332 2008-02-11  Bruno Haible  <bruno@clisp.org>
59333
59334         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
59335         library in the current directory: it does not work with parallel make.
59336         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59337
59338 2008-02-11  Bruno Haible  <bruno@clisp.org>
59339
59340         * .gitattributes: New file.
59341
59342 2008-02-11  Jim Meyering  <meyering@redhat.com>
59343
59344         useless-if-before-free: Fix reversed exit values.
59345         * build-aux/useless-if-before-free: Use correct values
59346         for EXIT_MATCH and EXIT_NO_MATCH.
59347
59348         * build-aux/useless-if-before-free: Close stdout carefully.
59349
59350 2008-02-10  Bruno Haible  <bruno@clisp.org>
59351
59352         New module 'git-merge-changelog'.
59353         * modules/git-merge-changelog: New file.
59354         * lib/git-merge-changelog.c: New file.
59355
59356 2008-02-10  Jim Meyering  <meyering@redhat.com>
59357
59358         useless-if-before-free: New option: --list (-l).
59359
59360         useless-if-before-free: Don't exit immediately upon open failure.
59361         * build-aux/useless-if-before-free: Exit 2 for errors.
59362         Upon failure to open a file, don't exit immediately.
59363         Rather, just warn and continue with any remaining files.
59364
59365 2008-02-10  Bruno Haible  <bruno@clisp.org>
59366
59367         New abstract list operation 'node_set_value'.
59368         * lib/gl_list.h (gl_list_node_set_value): New function.
59369         (struct gl_list_implementation): New field node_set_value.
59370         * lib/gl_list.c (gl_list_node_set_value): New function.
59371         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59372         (gl_array_list_implementation): Update.
59373         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59374         (gl_carray_list_implementation): Update.
59375         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59376         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59377         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59378         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59379         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59380         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59381         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59382         Update.
59383         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59384         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59385         (gl_sublist_list_implementation): Update.
59386
59387 2008-02-10  Bruno Haible  <bruno@clisp.org>
59388
59389         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59390         Needed when ELEMENT is #defined to 'some_type *'.
59391
59392 2008-02-10  Jim Meyering  <meyering@redhat.com>
59393
59394         New script and module: useless-if-before-free
59395         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59396         * build-aux/useless-if-before-free: New file.
59397         * modules/useless-if-before-free: New file.
59398
59399         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59400
59401         xstrtol_error: Fix typo.
59402         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
59403         s/exit_failure/exit_status/.
59404
59405 2008-02-09  Jim Meyering  <meyering@redhat.com>
59406
59407         New script and module: gitlog-to-changelog
59408         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
59409         * modules/gitlog-to-changelog: New file.
59410         * build-aux/gitlog-to-changelog: New file.
59411
59412 2008-02-08  Jim Meyering  <meyering@redhat.com>
59413
59414         Avoid two "parameter unused" warnings.
59415         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
59416         Mark "st" as used.
59417
59418         Use "git COMMAND", not "git-COMMAND".
59419         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
59420         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
59421         * build-aux/git-version-gen: Use "git status", not "git-status".
59422
59423 2008-02-07  Bruno Haible  <bruno@clisp.org>
59424
59425         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
59426         Avoids a crash on Windows Vista.
59427         Reported by Adam Strzelecki <ono@java.pl> via
59428         Simon Josefsson <simon@josefsson.org>.
59429
59430 2008-02-06  Bruno Haible  <bruno@clisp.org>
59431
59432         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
59433         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
59434         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
59435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
59436         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59437         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59438         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
59439         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
59440         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59441         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59442         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59443         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59444         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59445         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59446         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59447         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
59448         left-adjust flag.
59449         * tests/test-snprintf-posix.h (test_function): Likewise.
59450         * tests/test-sprintf-posix.h (test_function): Likewise.
59451         * tests/test-vasprintf-posix.c (test_function): Likewise.
59452         * doc/posix-functions/fprintf.texi: Update.
59453         * doc/posix-functions/printf.texi: Update.
59454         * doc/posix-functions/snprintf.texi: Update.
59455         * doc/posix-functions/sprintf.texi: Update.
59456         * doc/posix-functions/vfprintf.texi: Update.
59457         * doc/posix-functions/vprintf.texi: Update.
59458         * doc/posix-functions/vsnprintf.texi: Update.
59459         * doc/posix-functions/vsprintf.texi: Update.
59460         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59461
59462 2008-02-06  Bruno Haible  <bruno@clisp.org>
59463
59464         Fix bug introduced on 2008-01-26.
59465         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
59466
59467 2008-02-06  Bruno Haible  <bruno@clisp.org>
59468
59469         Fix bug introduced on 2007-06-10.
59470         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
59471         !NEED_PRINTF_FLAG_ZERO.
59472
59473 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
59474
59475         getloadavg: use libperfstat on AIX5
59476         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
59477
59478 2008-02-03  Bruno Haible  <bruno@clisp.org>
59479
59480         * lib/diffseq.h: Add comments about required #includes.
59481         Reported by Michael Biggs <gnulib@doubleplum.net>.
59482
59483 2008-02-01  Bruno Haible  <bruno@clisp.org>
59484
59485         * users.txt: Add gnuit.
59486
59487 2008-01-31  Bruno Haible  <bruno@clisp.org>
59488
59489         * lib/md4.c (set_uint32): Mark as inline.
59490         * lib/md5.c (set_uint32): Likewise.
59491         * lib/sha1.c (set_uint32): Likewise.
59492         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
59493         * m4/md5.m4 (gl_MD5): Likewise.
59494         * m4/sha1.m4 (gl_SHA1): Likewise.
59495
59496 2008-01-31  Jim Meyering  <meyering@redhat.com>
59497
59498         Use "sizeof VAR", rather than a literal "4".
59499         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
59500         * lib/md4.c (md4_read_ctx): Likewise.
59501         * lib/sha1.c (sha1_read_ctx): Likewise.
59502
59503 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59504
59505         * tests/test-sha1.c: New file, based on test-md5.c.
59506
59507         * modules/crypto/sha1-tests: New file.
59508
59509 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59510
59511         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
59512
59513 2008-01-31  Jim Meyering  <meyering@redhat.com>
59514
59515         Prefer "sizeof v" over the equivalent "4".
59516         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
59517         * lib/md5.c (set_uint32): Likewise.
59518         * lib/sha1.c (set_uint32): Likewise.
59519
59520 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59521
59522         * lib/sha1.c (set_uint32): Mark function as static.
59523
59524 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59525
59526         md2: clarify comments to say that alignment is not required.
59527         * lib/md2.h: Remove warning about alignment in comment.
59528         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
59529         never been required.
59530
59531 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59532
59533         md4: adapt alignment constraint fix from sha1.
59534         * lib/md4.c (set_uint32): New function, from sha1.c
59535         (md4_read_ctx): Use it.
59536         (md4_finish_ctx): Doc fix.
59537         * lib/md4.h: Doc fix.
59538
59539 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59540
59541         md5: adapt alignment constraint fix from sha1.
59542         * lib/md5.c (set_uint32): New function, from sha1.c
59543         (md5_read_ctx): Use it.
59544         (md5_finish_ctx): Doc fix.
59545         * lib/md5.h: Doc fix.
59546
59547 2008-01-30  Peter Palfrader  <weasel@debian.org>
59548
59549         sha1: remove the result buffer alignment constraint
59550         * lib/sha1.c (set_uint32): New function.
59551         (sha1_read_ctx): Rewrite to remove the result buffer alignment
59552         constraint.
59553         (sha1_finish_ctx): Remove comment warning about alignment constraint.
59554         * lib/sha1.h: Likewise.
59555
59556 2008-01-30  Andreas Schwab  <schwab@suse.de>
59557             Bruno Haible  <bruno@clisp.org>
59558
59559         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
59560         correct definition of LDBL_MIN_EXP.
59561
59562 2008-01-30  Karl Berry  <karl@gnu.org>
59563
59564         * config/srclist-update: try to preserve x bit on updates.
59565         * config/srclistvars.sh: update for karl.
59566
59567 2008-01-29  Jim Meyering  <meyering@redhat.com>
59568
59569         vasnprintf.c: Avoid warning about unused label
59570         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
59571         "overflow" label definition and associated code with the
59572         same cpp condition that guards the sole use of that label.
59573
59574 2008-01-26  Bruno Haible  <bruno@clisp.org>
59575
59576         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
59577         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
59578         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
59579         * lib/isnanl-nolibm.h (isnanl): Likewise.
59580         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59581
59582 2008-01-26  Bruno Haible  <bruno@clisp.org>
59583
59584         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
59585         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
59586
59587 2008-01-26  Bruno Haible  <bruno@clisp.org>
59588
59589         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
59590         GCC >= 4.0 built-in.
59591         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
59592
59593 2008-01-26  Bruno Haible  <bruno@clisp.org>
59594
59595         Rename isnan, applicable to 'double' only, to isnand.
59596         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
59597         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
59598         (configure.ac): Update.
59599         (Include): Replace "isnan.h" with "isnand.h".
59600         * m4/isnand.m4: Renamed from m4/isnan.m4.
59601         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
59602         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
59603         instead of isnan.c.
59604         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
59605         instead of HAVE_ISNAN_IN_LIBC.
59606         (isnand): Renamed from isnan.
59607         * lib/isnand.c: New file.
59608         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
59609         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
59610         (Makefile.am): Update.
59611         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
59612         Include isnand.h instead of isnan.h.
59613         (main): Test isnand instead of isnan.
59614         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
59615         isnan-nolibm.
59616         * modules/frexp (Depends-on): Likewise.
59617         * modules/frexp-tests (Depends-on): Likewise.
59618         * modules/frexp-nolibm (Depends-on): Likewise.
59619         * modules/frexp-nolibm-tests (Depends-on): Likewise.
59620         * modules/isfinite (Depends-on): Likewise.
59621         * modules/round-tests (Depends-on): Likewise.
59622         * modules/signbit (Depends-on): Likewise.
59623         * modules/signbit-tests (Depends-on): Likewise.
59624         * modules/snprintf-posix (Depends-on): Likewise.
59625         * modules/sprintf-posix (Depends-on): Likewise.
59626         * modules/trunc-tests (Depends-on): Likewise.
59627         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59628         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59629         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59630         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59631         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59632         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59633         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59634         * modules/vasnprintf-posix (Depends-on): Likewise.
59635         * modules/vasprintf-posix (Depends-on): Likewise.
59636         * modules/vfprintf-posix (Depends-on): Likewise.
59637         * modules/vsnprintf-posix (Depends-on): Likewise.
59638         * modules/vsprintf-posix (Depends-on): Likewise.
59639         * lib/frexp.c: Include isnand.h instead of isnan.h.
59640         (ISNAN): Set to isnand instead of isnan.
59641         * lib/isfinite.c: Include isnand.h instead of isnan.h.
59642         (gl_isfinited): Use isnand instead of isnan.
59643         * lib/signbitd.c: Include isnand.h instead of isnan.h.
59644         (gl_signbitd): Use isnand instead of isnan.
59645         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
59646         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
59647         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
59648         (main): Use isnand instead of isnan.
59649         * tests/test-round1.c: Include isnand.h.
59650         (main): Use isnand instead of isnan.
59651         * tests/test-round2.c: Include isnand.h instead of isnan.h.
59652         (ISNAN): Set to isnand instead of isnan.
59653         * tests/test-trunc1.c: Include isnand.h.
59654         (main): Use isnand instead of isnan.
59655         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
59656         (equal): Use isnand instead of isnan.
59657         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
59658         isnand-nolibm.
59659         * NEWS: Mention the change.
59660
59661 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59662             Bruno Haible  <bruno@clisp.org>
59663
59664         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
59665         the GCC builtins for signbits are present and set
59666         REPLACE_SIGNBIT_USING_GCC if so.
59667         * lib/math.in.h (signbit): Define using GCC builtins if
59668         REPLACE_SIGNBIT_USING_GCC is set.
59669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
59670         REPLACE_SIGNBIT_USING_GCC.
59671         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
59672
59673 2008-01-25  Jim Meyering  <meyering@redhat.com>
59674
59675         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
59676         * lib/poll.c: Include <config.h>, not "config.h".
59677         * tests/test-getaddrinfo.c: Likewise.
59678
59679 2008-01-25  Simon Josefsson  <simon@josefsson.org>
59680
59681         * modules/sockets-tests: New file.
59682
59683 2008-01-24  Simon Josefsson  <simon@josefsson.org>
59684
59685         * modules/sockets: New module, can be used to call WSA_Startup and
59686         WSA_Cleanup when needed.
59687
59688         * lib/sockets.h, lib/sockets.c: New files.
59689
59690         * m4/sockets.m4: New file.
59691
59692         * tests/test-sockets.c: New file.
59693
59694 2008-01-19  Bruno Haible  <bruno@clisp.org>
59695
59696         * doc/posix-headers: Renamed from doc/headers.
59697         * doc/posix-functions: Renamed from doc/functions.
59698         * doc/gnulib.texi: Update.
59699
59700 2008-01-19  Bruno Haible  <bruno@clisp.org>
59701
59702         * doc/glibc-functions/strcasestr.texi: Include contents of
59703         doc/functions/strcasestr.texi, fixing the list of platforms.
59704         * doc/functions/strcasestr.texi: Remove file.
59705
59706 2008-01-19  Bruno Haible  <bruno@clisp.org>
59707
59708         * doc/glibc-functions/memmem.texi: Include contents of
59709         doc/functions/memmem.texi.
59710         * doc/functions/memmem.texi: Remove file.
59711
59712 2008-01-18  Bruno Haible  <bruno@clisp.org>
59713
59714         * doc/glibc-functions/*.texi: New files.
59715         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
59716         to use the new files.
59717
59718 2008-01-17  Bruno Haible  <bruno@clisp.org>
59719
59720         * tests/test-gethostname.c (main): Fix printf statement.
59721
59722 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59723
59724         * modules/gethostname-tests: New file.
59725
59726         * tests/test-gethostname.c: New file.
59727
59728 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59729
59730         * lib/gethostname.c: Include string.h unconditionally, strncpy is
59731         used by the UNAME case.  Reported by Bruno Haible
59732         <bruno@clisp.org>.
59733
59734 2008-01-17  Eric Blake  <ebb9@byu.net>
59735
59736         Convert c-strcasestr to be more efficient.
59737         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
59738         (Depends-on): Add c-strcase, remove malloca, strnlen.
59739         * tests/test-c-strcasestr.c (main): Enhance test.
59740         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
59741
59742 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59743
59744         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
59745         Use it in creating po/Makevars.
59746
59747 2008-01-15  Simon Josefsson  <simon@josefsson.org>
59748
59749         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
59750         Applications that requires it should initialize libgcrypt
59751         manually.
59752
59753 2008-01-16  Simon Josefsson  <simon@josefsson.org>
59754
59755         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
59756
59757 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
59758
59759         Fix problem with getdate on mingw32 reported by Simon Josefsson
59760         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
59761         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
59762         tzname", when deciding whether to declare tzname.
59763         * lib/strftime.c (tzname): Likewise.
59764
59765 2008-01-15  Bruno Haible  <bruno@clisp.org>
59766
59767         Work around a MacOS X 10.5 bug in frexpl().
59768         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59769         * doc/functions/frexpl.texi: Document the bug.
59770         Reported by Elias Pipping <pipping@gentoo.org>.
59771
59772 2008-01-14  Eric Blake  <ebb9@byu.net>
59773
59774         Touch up previous patch.
59775         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59776         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59777
59778         Convert strcasestr module to use Two-Way algorithm.
59779         * modules/strcasestr-simple: New module, based on the old
59780         strcasestr, but with Two-Way rather than KMP.
59781         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59782         * lib/string.in.h (rpl_strcasestr): Declare.
59783         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59784         performance.
59785         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59786         * modules/string (Makefile.am): Support strcasestr.
59787         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59788         * modules/strcasestr-tests (Depends-on): Check for alarm.
59789         * tests/test-strcasestr.c: Augment test.
59790         * lib/str-two-way.h: Clean up stray macro.
59791         * NEWS: Document new module.
59792         * MODULES.html.sh (string handling): Likewise.
59793         * doc/functions/strcasestr.texi: New file.
59794         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59795         here, since it is not a POSIX function.
59796
59797 2008-01-14  Colin Watson  <cjwatson@debian.org>
59798             Bruno Haible  <bruno@clisp.org>
59799
59800         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59801         works fine; if not, set REPLACE_STRSIGNAL.
59802         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59803         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59804         REPLACE_STRSIGNAL.
59805         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59806         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59807         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59808
59809 2008-01-14  Bruno Haible  <bruno@clisp.org>
59810
59811         * modules/strsignal (Include): Change to <string.h>.
59812
59813 2008-01-14  Colin Watson  <cjwatson@debian.org>
59814
59815         * modules/argp (Notice): Add a notice recommending to change
59816         XGETTEXT_OPTIONS.
59817         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59818
59819 2008-01-13  Colin Watson  <cjwatson@debian.org>
59820
59821         * modules/strsignal-tests: New file.
59822         * tests/test-strsignal.c: New file.
59823
59824         * lib/strsignal.c: New file, from glibc with modifications.
59825         * lib/siglist.h: New file, from glibc with modifications.
59826         * lib/string.in.h (strsignal): New declaration.
59827         * m4/strsignal.m4: New file.
59828         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59829         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59830         * modules/strsignal: New file.
59831         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59832         HAVE_DECL_STRSIGNAL.
59833
59834 2008-01-13  Bruno Haible  <bruno@clisp.org>
59835
59836         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59837         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59838         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59839         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59840
59841 2008-01-13  Bruno Haible  <bruno@clisp.org>
59842
59843         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59844         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59845         * lib/argp.h (__attribute__): Likewise.
59846         * lib/c-stack.c (__attribute__): Likewise.
59847         * lib/error.h (__attribute__): Likewise.
59848         * lib/fts.c (__attribute__): Likewise.
59849         * lib/openat.h (__attribute__): Likewise.
59850         * lib/stdio.in.h (__attribute__): Likewise.
59851         * lib/string.in.h (__attribute__): Likewise.
59852         * lib/utimens.c (__attribute__): Likewise.
59853         * lib/vasnprintf.h (__attribute__): Likewise.
59854         * lib/xalloc.h (__attribute__): Likewise.
59855         * lib/xprintf.h (__attribute__): Likewise.
59856         * lib/xstrtol.h (__attribute__): Likewise.
59857         * lib/xvasprintf.h (__attribute__): Likewise.
59858
59859 2008-01-12  Bruno Haible  <bruno@clisp.org>
59860
59861         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59862         * doc/glibc-headers/a.out.texi: New file.
59863         * doc/glibc-headers/aliases.texi: New file.
59864         * doc/glibc-headers/alloca.texi: New file.
59865         * doc/glibc-headers/ar.texi: New file.
59866         * doc/glibc-headers/argp.texi: New file.
59867         * doc/glibc-headers/argz.texi: New file.
59868         * doc/glibc-headers/byteswap.texi: New file.
59869         * doc/glibc-headers/crypt.texi: New file.
59870         * doc/glibc-headers/endian.texi: New file.
59871         * doc/glibc-headers/envz.texi: New file.
59872         * doc/glibc-headers/err.texi: New file.
59873         * doc/glibc-headers/error.texi: New file.
59874         * doc/glibc-headers/execinfo.texi: New file.
59875         * doc/glibc-headers/fpu_control.texi: New file.
59876         * doc/glibc-headers/fstab.texi: New file.
59877         * doc/glibc-headers/fts.texi: New file.
59878         * doc/glibc-headers/getopt.texi: New file.
59879         * doc/glibc-headers/ieee754.texi: New file.
59880         * doc/glibc-headers/ifaddrs.texi: New file.
59881         * doc/glibc-headers/libintl.texi: New file.
59882         * doc/glibc-headers/mcheck.texi: New file.
59883         * doc/glibc-headers/mntent.texi: New file.
59884         * doc/glibc-headers/obstack.texi: New file.
59885         * doc/glibc-headers/paths.texi: New file.
59886         * doc/glibc-headers/printf.texi: New file.
59887         * doc/glibc-headers/pty.texi: New file.
59888         * doc/glibc-headers/resolv.texi: New file.
59889         * doc/glibc-headers/shadow.texi: New file.
59890         * doc/glibc-headers/sysexits.texi: New file.
59891         * doc/glibc-headers/ttyent.texi: New file.
59892
59893 2008-01-12  Jim Meyering  <meyering@redhat.com>
59894
59895         announce-gen: emit Gnulib's git-based version string.
59896         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59897         New option --gnulib-version=V, where V is expected to be
59898         the output of running git describe in the gnulib directory.
59899         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59900         not useful, and plan to stop publishing an xdelta file with each
59901         coreutils release.
59902
59903         * build-aux/announce-gen: Also check for lzma-compressed files.
59904
59905 2008-01-11  Bruno Haible  <bruno@clisp.org>
59906
59907         * tests/test-memmem.c (main): Increase maximum allowed time.
59908         * tests/test-strstr.c (main): Likewise.
59909
59910 2008-01-11  Bruno Haible  <bruno@clisp.org>
59911
59912         * doc/functions/memmem.texi: Add more precisions about platforms.
59913         * doc/functions/strstr.texi: Likewise.
59914
59915 2008-01-10  Eric Blake  <ebb9@byu.net>
59916
59917         * m4/strstr.m4: Delete cruft from copy-n-paste.
59918         Reported by Bruno Haible.
59919
59920 2008-01-10  Bruno Haible  <bruno@clisp.org>
59921
59922         Make c-strstr rely on strstr.
59923         * lib/c-strstr.c: Don't include str-kmp.h.
59924         (c_strstr): Define in terms of strstr.
59925         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59926         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59927
59928 2008-01-10  Bruno Haible  <bruno@clisp.org>
59929
59930         * doc/gnulib.texi (String Functions in C Locale): New section.
59931         * doc/c-ctype.texi: New file.
59932         * doc/c-strcase.texi: New file.
59933         * doc/c-strcaseeq.texi: New file.
59934         * doc/c-strcasestr.texi: New file.
59935         * doc/c-strstr.texi: New file.
59936         * doc/c-strtod.texi: New file.
59937         * doc/c-strtold.texi: New file.
59938
59939 2008-01-10  Eric Blake  <ebb9@byu.net>
59940
59941         * lib/relocatable.h: Fix a comment.
59942
59943 2008-01-10  Eric Blake  <ebb9@byu.net>
59944
59945         Share two-way algorithm.
59946         * lib/str-two-way.h: New file, merged from...
59947         * lib/memmem.c: ...here...
59948         * lib/strstr.c: ...and here.
59949         * modules/memmem (Files): Use it.
59950         * modules/strstr (Files): Likewise.
59951
59952         Avoid quadratic strstr implementations.
59953         * lib/strstr.c: New file.
59954         * m4/strstr.m4: Likewise.
59955         * modules/strstr: Likewise.
59956         * modules/strstr-tests: Likewise.
59957         * tests/test-strstr.c: Likewise.
59958         * lib/string.in.h (rpl_strstr): Declare.
59959         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
59960         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
59961         * modules/string (Makefile.am): Likewise.
59962         * MODULES.html.sh (string handling): Mention new module.
59963         * doc/functions/strstr.texi (strstr): Document the bug.
59964
59965 2008-01-10  Bruno Haible  <bruno@clisp.org>
59966
59967         * lib/relocatable.h (relocate): State whether result is freshly
59968         allocated or not.
59969         * lib/relocatable.c (relocate): Return a freshly allocated string
59970         instead of a pointer to a privately held string.
59971         Reported by Sylvain Beucler <beuc@gnu.org>.
59972
59973 2008-01-10  Colin Watson  <cjwatson@debian.org>
59974
59975         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
59976         s/S_ISNLK/S_ISLNK/.
59977
59978 2008-01-09  Bruno Haible  <bruno@clisp.org>
59979
59980         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59981         and other files.
59982         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59983         if it's only a guess.
59984         * modules/memmem: Simplify by depending on memmem-simple.
59985
59986 2008-01-09  Bruno Haible  <bruno@clisp.org>
59987
59988         Work around OpenBSD 4.0 tdelete() bug.
59989         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59990         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59991         macros and don't redefine the enum values.
59992         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59993         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59994         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59995
59996 2008-01-09  Bruno Haible  <bruno@clisp.org>
59997
59998         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59999         (main): Don't perform the tests if setlocale did not install a UTF-8
60000         locale. Needed on OpenBSD 4.0.
60001         * modules/wcwidth-tests (Depends-on): Add localcharset.
60002
60003 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60004
60005         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
60006         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
60007         * NEWS: announce this.
60008         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
60009
60010 2008-01-09  Simon Josefsson  <simon@josefsson.org>
60011         and Eric Blake  <ebb9@byu.net>
60012
60013         Add memmem-simple module.
60014         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
60015         (gl_FUNC_MEMMEM): Separate performance from presence checks.
60016         * modules/memmem-simple: New file.
60017         * modules/memmem (Description): Tweak.
60018         * MODULES.html.sh (string handling): Mention new module.
60019         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
60020         addressed by memmem-simple.
60021         * NEWS: Document the difference.
60022
60023 2008-01-09  Eric Blake  <ebb9@byu.net>
60024
60025         Give gcc some memmem optimization hints.
60026         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
60027         (strcasestr): Declare as pure.
60028         * modules/memmem (Maintainer): Claim my implementation.
60029
60030 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60031
60032         Support AIX 6.1 and higher.
60033         * build-aux/config.libpath: Likewise.
60034         * build-aux/config.rpath: Likewise.
60035
60036 2008-01-08  Jim Meyering  <meyering@redhat.com>
60037             Bruno Haible  <bruno@clisp.org>
60038
60039         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
60040         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
60041         Reported by Peter Fales in
60042         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
60043
60044 2008-01-08  Bruno Haible  <bruno@clisp.org>
60045
60046         * modules/unictype/category-of (Depends-on): Add
60047         unictype/category-none.
60048         * modules/unictype/category-and-tests (Depends-on): Add
60049         unictype/category-{L,N,Lu,Nd}.
60050         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
60051         * modules/unictype/category-or-tests (Depends-on): Add
60052         unictype/category-{L,N}.
60053         * modules/unictype/category-name-tests (Depends-on): Add
60054         unictype/category-{Z,Nl}.
60055         Reported by Simon Josefsson.
60056
60057 2008-01-08  Bruno Haible  <bruno@clisp.org>
60058
60059         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
60060         convention better.
60061         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
60062         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
60063         Reported by Peter Miller <millerp@canb.auug.org.au>.
60064
60065 2008-01-08  Eric Blake  <ebb9@byu.net>
60066
60067         Rewrite memmem to guarantee linear complexity without malloc.
60068         * lib/memmem.c (memmem): Use Two-Way rather than
60069         Knuth-Morris-Pratt, to allow O(1) space usage.
60070         (critical_factorization, two_way_short_needle)
60071         (two_way_long_needle): New functions.
60072         (knuth_morris_pratt): Delete.
60073         * modules/memmem (Depends-on): No longer need malloca or stdbool.
60074         Add stdint.
60075         * tests/test-memmem.c (main): Add tests for periodic needle and
60076         sublinear performance.
60077         * doc/functions/memmem.texi (memmem): Document other deficiencies
60078         in cygwin and older glibc.
60079
60080 2008-01-08  Bruno Haible  <bruno@clisp.org>
60081
60082         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
60083         augmentation.
60084
60085 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
60086
60087         Add a configure time option: --disable-acl.
60088         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
60089         AC_ARG_ENABLE(acl).
60090
60091 2008-01-06  Simon Josefsson  <simon@josefsson.org>
60092
60093         * tests/test-localename.c: Don't include obsolete "setenv.h".
60094
60095         * modules/localename-tests (Depends-on): Need unsetenv.
60096
60097 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60098
60099         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
60100
60101 2008-01-06  Colin Watson  <cjwatson@debian.org>
60102
60103         * users.txt: Add man-db.
60104
60105 2008-01-07  Bruno Haible  <bruno@clisp.org>
60106
60107         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
60108         previous section name.
60109
60110 2008-01-07  Bruno Haible  <bruno@clisp.org>
60111
60112         * lib/progname.c (set_program_name): Don't strip off a leading
60113         "lt-" prefix outside a .libs directory.
60114         Suggested by Paul Eggert.
60115
60116 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
60117             Bruno Haible  <bruno@clisp.org>
60118
60119         Improve memory cleanup in 'relocatable' module.
60120         * lib/relocatable.h (compute_curr_prefix): Change return type to
60121         'char *'.
60122         * lib/relocatable.c (compute_curr_prefix): Change return type to
60123         'char *'. Free curr_installdir after use.
60124         (relocate): Free curr_prefix_better after use.
60125         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
60126
60127 2008-01-01  Bruno Haible  <bruno@clisp.org>
60128
60129         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
60130         failure on older glibc systems.
60131         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60132
60133 2008-01-05  Eric Blake  <ebb9@byu.net>
60134
60135         Avoid quadratic system memmem.
60136         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
60137         Reported by Ralf Wildenhues.
60138
60139         Fix memmem test for mingw.
60140         * modules/memmem-tests (configure.ac): Check for alarm.
60141         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
60142         it.
60143         * doc/functions/memmem.texi: New file.
60144         * doc/gnulib.texi (Function Substitutes): Add memmem.
60145         Reported by Bruno Haible.
60146
60147 2008-01-04  Bruno Haible  <bruno@clisp.org>
60148
60149         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60150         Require gl_HEADER_STRINGS_H_DEFAULTS, not
60151         gl_HEADER_STRING_H_DEFAULTS.
60152
60153 2008-01-04  Eric Blake  <ebb9@byu.net>
60154
60155         Shorten duration of memmem test.
60156         * tests/test-memmem.c (main): Use alarm to declare failure if test
60157         is taking too long.
60158         Reported by Ralf Wildenhues.
60159
60160 2007-12-21  Simon Josefsson  <simon@josefsson.org>
60161
60162         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
60163         string, needed by strerror.
60164
60165 2008-01-03  Colin Watson  <cjwatson@debian.org>
60166             Bruno Haible  <bruno@clisp.org>
60167
60168         * doc/gnulib-tool.texi (Localization): New section.
60169
60170 2008-01-02  Bruno Haible  <bruno@clisp.org>
60171
60172         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
60173         variables to 'unsigned char *' type.
60174         Reported by Paul Eggert.
60175
60176 2008-01-02  Jim Meyering  <jim@meyering.net>
60177
60178         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
60179
60180 2007-12-31  Jim Meyering  <jim@meyering.net>
60181
60182         Avoid use of private FTS type name.
60183         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
60184
60185 2007-12-30  Karl Berry  <karl@gnu.org>
60186
60187         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
60188         work around defect in Texinfo and/or the standalone Info browser.
60189
60190 2007-12-30  Bruno Haible  <bruno@clisp.org>
60191
60192         Unify 5 copies of the KMP code.
60193         * lib/str-kmp.h: New file.
60194         * lib/c-strcasestr.c: Include str-kmp.h.
60195         (knuth_morris_pratt): Remove function.
60196         (c_strcasestr): Update.
60197         * lib/c-strstr.c: Include str-kmp.h.
60198         (knuth_morris_pratt): Remove function.
60199         (c_strcasestr): Update.
60200         * lib/mbscasestr.c: Include str-kmp.h.
60201         (knuth_morris_pratt_unibyte): Remove function.
60202         * lib/mbsstr.c: Include str-kmp.h.
60203         (knuth_morris_pratt_unibyte): Remove function.
60204         * lib/strcasestr.c: Include str-kmp.h.
60205         (knuth_morris_pratt): Remove function.
60206         (strcasestr): Update.
60207         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
60208         * modules/c-strstr (Files): Likewise.
60209         * modules/mbscasestr (Files): Likewise.
60210         * modules/mbsstr (Files): Likewise.
60211         * modules/strcasestr (Files): Likewise.
60212         Suggested by Paul Eggert.
60213
60214 2007-12-30  Bruno Haible  <bruno@clisp.org>
60215
60216         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
60217         defined.
60218
60219 2007-12-30  Bruno Haible  <bruno@clisp.org>
60220
60221         * lib/xmalloca.h: Include xalloc.h.
60222         (xnmalloca): New macro.
60223
60224 2007-12-30  Bruno Haible  <bruno@clisp.org>
60225
60226         * lib/malloca.h (nmalloca): New macro.
60227         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
60228         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
60229         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
60230         knuth_morris_pratt_multibyte): Likewise.
60231         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
60232         knuth_morris_pratt_multibyte): Likewise.
60233         * lib/memmem.c (knuth_morris_pratt): Likewise.
60234         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
60235
60236 2007-12-25  Bruno Haible  <bruno@clisp.org>
60237
60238         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
60239         * lib/glob.c: Don't include openat.h.
60240         (link_exists2_p): Add back the code that deals with the
60241         !GLOB_ALTDIRFUNC case.
60242         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
60243         let it do the filename concatenation.
60244         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
60245         * modules/glob (Depends-on): Remove openat.
60246
60247 2007-12-31  Bruno Haible  <bruno@clisp.org>
60248
60249         * modules/dirfd (License): Change to LGPLv2+.
60250         Approved by Jim Meyering.
60251
60252 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60253
60254         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
60255         when multiplying M by sizeof (size_t).
60256
60257 2007-12-10  Martin Lambers  <marlam@marlam.de>
60258
60259         Override getpagesize on mingw.
60260         * lib/getpagesize.c: New file.
60261         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
60262         * modules/getpagesize (Files): Add lib/getpagesize.c.
60263         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
60264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60265         REPLACE_GETPAGESIZE.
60266         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
60267
60268 2007-12-25  Bruno Haible  <bruno@clisp.org>
60269
60270         * modules/localcharset (Notice): New field.
60271         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
60272         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
60273
60274 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60275             Bruno Haible  <bruno@clisp.org>
60276
60277         Avoid using the syntax symbol() in formatted documentation.
60278         * MODULES.html.sh (func_module): When replacing symbol() with a
60279         hyperlink, remove the parentheses. Show an error if some remain.
60280         Recognize and render the '...' syntax.
60281         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
60282         Rework. Add paragraph about GCC's inlining.
60283         * doc/alloca.texi: Likewise.
60284         * doc/error.texi: Remove parentheses from symbol reference.
60285         * doc/gnulib-intro.texi: Likewise.
60286         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
60287         * modules/fnmatch (Description): Reword to say "the ... function".
60288         * modules/full-read (Description): Likewise.
60289         * modules/full-write (Description): Likewise.
60290         * modules/safe-read (Description): Likewise.
60291         * modules/safe-write (Description): Likewise.
60292         * modules/strchrnul (Description): Likewise.
60293         * modules/trim (Description): Likewise.
60294         * modules/error (Description): Remove parentheses from symbol
60295         references.
60296         * modules/verror (Description): Likewise.
60297         Reported by Karl Berry.
60298
60299 2007-12-25  Bruno Haible  <bruno@clisp.org>
60300
60301         Fixup after 2007-10-16 commit.
60302         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
60303
60304 2007-12-24  Bruno Haible  <bruno@clisp.org>
60305
60306         Make --enable-relocatable work with DESTDIR.
60307         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
60308         to compute installdir from destprog.
60309         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
60310         also set the RELOC_DESTDIR variable.
60311         Reported by Левашев Иван <octagram@bluebottle.com>.
60312
60313 2007-12-24  Bruno Haible  <bruno@clisp.org>
60314
60315         Fix link error due to xalloc_die().
60316         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
60317         of xreadlink.
60318         * lib/relocwrapper.c: Update comments.
60319         * build-aux/install-reloc: Remove xreadlink.c from file list.
60320         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
60321         xreadlink.c.
60322         Reported by Левашев Иван <octagram@bluebottle.com>.
60323
60324 2007-12-24  Bruno Haible  <bruno@clisp.org>
60325
60326         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
60327         * lib/setenv.h: Remove file.
60328         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
60329         lib/setenv.h.
60330         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
60331         (Depends-on): Add stdlib.
60332         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
60333         gl_FUNC_UNSETENV.
60334         (Include): Replace setenv.h with <stdlib.h>.
60335         * modules/unsetenv: New file.
60336         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
60337         * lib/unsetenv.c: Include <stdlib.h> first.
60338         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
60339         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
60340         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
60341         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
60342         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
60343         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60344         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60345         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60346         * doc/functions/unsetenv.texi: Update.
60347         * modules/xsetenv (Depends-on): Add unsetenv.
60348         * modules/getdate (Depends-on): Likewise.
60349         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60350         * lib/xsetenv.c: Don't include setenv.h.
60351         * lib/getdate.y: Likewise.
60352         * lib/relocwrapper.c: Likewise.
60353         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60354         (Depends-on): Add stdlib.
60355         * NEWS: Mention the changes.
60356         Reported by Левашев Иван <octagram@bluebottle.com>.
60357
60358 2007-12-23  Bruno Haible  <bruno@clisp.org>
60359
60360         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60361         indentation.
60362
60363 2007-12-23  Bruno Haible  <bruno@clisp.org>
60364
60365         * lib/c-strcasestr.c: Add more comments.
60366         * lib/c-strstr.c: Likewise.
60367         * lib/mbscasestr.c: Likewise.
60368         * lib/mbsstr.c: Likewise.
60369         * lib/strcasestr.c: Likewise.
60370         * lib/memmem.c: Likewise.
60371
60372 2007-12-23  Bruno Haible  <bruno@clisp.org>
60373
60374         * tests/test-memmem.c: Include <string.h> first.
60375
60376 2007-12-22  Bruno Haible  <bruno@clisp.org>
60377
60378         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60379         the contents of $testsbase.
60380         Reported by Ralf Wildenhues.
60381
60382 2007-12-22  Bruno Haible  <bruno@clisp.org>
60383
60384         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60385         two variables local_ldadd_before, local_ldadd_last.
60386
60387 2007-12-20  Eric Blake  <ebb9@byu.net>
60388
60389         Work around circular library issue when cross-compiling.
60390         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60391         that progname.o does not need to pull in rpl_memcmp.
60392
60393 2007-12-19  Eric Blake  <ebb9@byu.net>
60394
60395         Fix memmem to avoid O(n^2) worst-case complexity.
60396         * lib/memmem.c (knuth_morris_pratt): New function.
60397         (memmem): Use it if first few naive iterations fail.
60398         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60399         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60400         * modules/memchr (License): Likewise.
60401         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
60402         malloca.
60403         * tests/test-memmem.c: Rewrite, borrowing ideas from
60404         test-mbsstr1.c; the old version wouldn't even compile!
60405         * modules/memmem-tests: New file.
60406         * lib/string.in.h (rpl_memmem): Add declaration.
60407         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
60408         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
60409         REPLACE_MEMMEM.
60410
60411 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60412
60413         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
60414         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
60415         before any system include files, and undef after them all.  This
60416         should fix a problem on VMS reported by John E. Malmberg in
60417         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
60418
60419 2007-12-17  Eric Blake  <ebb9@byu.net>
60420
60421         Revert addition of verify, for BSD/OS.
60422         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
60423         can't handle large files, for the sake of obsolete platforms.
60424         * modules/fseeko (Depends-on): Remove verify.
60425         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
60426         * doc/functions/ftello.texi (ftello): Likewise.
60427         * doc/functions/fgetpos.texi (fgetpos): Likewise.
60428         Reported by Larry Jones.
60429
60430 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
60431
60432         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
60433         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
60434
60435 2007-12-17  Jim Meyering  <meyering@redhat.com>
60436
60437         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
60438         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
60439         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
60440         * modules/getcwd (Depends-on): Add openat.
60441         Reported by Petr Salinger.
60442
60443 2007-12-17  Bruno Haible  <bruno@clisp.org>
60444
60445         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
60446         avoid a segmentation fault of the configure test on x86_64 systems.
60447
60448 2007-12-15  Jim Meyering  <meyering@redhat.com>
60449
60450         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
60451
60452 2007-12-13  Eric Blake  <ebb9@byu.net>
60453
60454         Another fseek test.
60455         * tests/test-fseek.c (main): Also test ungetc handling.
60456         * tests/test-fseeko.c (main): Likewise.
60457         * modules/fseeko (Depends-on): Add verify.
60458         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
60459         large.
60460         Reported by Larry Jones.
60461
60462         Fix fseeko on mingw.
60463         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
60464         seek.
60465
60466         Beef up fseek tests.
60467         * tests/test-fseek.c (main): Also test eof handling.
60468         * tests/test-fseeko.c (main): Likewise.
60469         Reported by Larry Jones.
60470
60471 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
60472
60473         Fix fseeko on BSD-based platforms.
60474         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
60475         successful seek.
60476
60477 2007-12-12  Eric Blake  <ebb9@byu.net>
60478
60479         Allow circular dependency of separate libtests.a
60480         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
60481         when use_libtests.
60482
60483 2007-12-11  Eric Blake  <ebb9@byu.net>
60484
60485         Fix bug with -0.0L in previous patch.
60486         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
60487         * tests/test-isnan.c (main): Also test on zeroes.
60488         * tests/test-isnanf.c (main): Likewise.
60489         * tests/test-isnanl.h (main): Likewise.
60490
60491         Detect pseudo-denormals on x86 even when cross-compiling.
60492         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
60493         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
60494         invalid bit patterns that happen to satisfy ==.
60495
60496         Avoid link failures with separate libtests.a.
60497         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
60498         last, to satisfy circular dependencies.
60499
60500 2007-12-11  Eric Blake  <ebb9@byu.net>
60501         and Bruno Haible  <bruno@clisp.org>
60502
60503         Fix OpenBSD 4.0 <float.h> handling of long double.
60504         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
60505         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
60506         * doc/headers/float.texi (float.h): Document OpenBSD bug.
60507
60508 2007-12-11  Jim Meyering  <meyering@redhat.com>
60509
60510         * users.txt: Add libvirt.
60511
60512         Support versions of autoconf prior to 2.59c.
60513         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
60514         if it is not already defined.
60515
60516 2007-12-09  Bruno Haible  <bruno@clisp.org>
60517
60518         Let 'gnulib-tool --import' collect sources needed for the tests in
60519         tests/ rather than in lib/.
60520         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
60521         argument. If true, add rules to generate libtests.a, and put libtests.a
60522         into $(LDADD). Consider source files in subdirectories and set
60523         uses_subdirs.
60524         (func_emit_initmacro_start, func_emit_initmacro_end,
60525         func_emit_initmacro_done): Pass all arguments explicitly.
60526         (func_import): Determine two module lists main_modules,
60527         testsrelated_modules. Determine use_libtests. Determine two variables
60528         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
60529         instead of just sed_transform_lib_file. Determine two variables
60530         main_files and testsrelated_files. Compute 'files' as the union of
60531         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
60532         func_add_or_update. In the generated gnulib-comp.m4, collect the
60533         object files for tests/ in different variables than those for lib/.
60534         Substitute LIBTESTS_LIBDEPS.
60535         (func_create_testdir): Combine the uses_subdirs results from
60536         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
60537
60538 2007-12-09  Bruno Haible  <bruno@clisp.org>
60539
60540         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
60541         the build-aux directory.
60542
60543 2007-12-09  Bruno Haible  <bruno@clisp.org>
60544
60545         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
60546         introduced on 2006-09-09.
60547
60548 2007-12-07  Jim Meyering  <meyering@redhat.com>
60549
60550         Let these macros work also with autoconf-2.59.
60551         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
60552         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
60553         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60554
60555 2007-12-06  Jim Meyering  <meyering@redhat.com>
60556
60557         Avoid a configure-time syntax error in gl_FUNC_ACL.
60558         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
60559         function in each branch, before testing the cache variable.
60560
60561 2007-12-04  Eric Blake  <ebb9@byu.net>
60562
60563         Make scripts executable.
60564         * build-aux/config.guess: Add execute permissions.
60565         * build-aux/config.sub: Likewise.
60566         * build-aux/gendocs.sh: Likewise.
60567
60568         Fix frexp on mingw.
60569         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
60570         cross-compiling.
60571         * doc/functions/frexp.texi (frexp): Document the bug.
60572
60573         Make cygwin fseeko check more reliable.
60574         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
60575         version numbers, rather than unrelated feature check.
60576         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
60577         * doc/functions/ftello.texi (ftello): Likewise.
60578         Reported by Bruno Haible.
60579
60580         * m4/strerror.m4: Bump version number.
60581
60582 2007-12-03  Bruno Haible  <bruno@clisp.org>
60583
60584         * doc/functions/mprotect.texi: Mention the mingw problem.
60585
60586 2007-12-03  Eric Blake  <ebb9@byu.net>
60587
60588         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
60589         REPLACE_STRERROR is initialized before this macro.
60590
60591 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60592
60593         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
60594         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
60595         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
60596         put -lsec in even for programs other than 'ls'.  This fixes a problem
60597         for gettext reported by Bruno Haible in
60598         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
60599         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
60600         Add support for Solaris 10.  This isn't efficient, but should get the
60601         job done for now.
60602
60603 2007-12-03  James Youngman  <jay@gnu.org>
60604
60605         * doc/regexprops-generic.texi: change "an close-group" to "a
60606         close-group" and "illegal" to "not allowed".
60607
60608 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60609
60610         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
60611         pr_byname.h. Needed for the rare case when the maintainer has done
60612         "make maintainer-clean" in the source directory and then attempts a
60613         build outside the source directory.
60614         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
60615         scripts_byname.h.
60616
60617 2007-12-02  Martin Lambers <marlam@marlam.de>
60618             Bruno Haible  <bruno@clisp.org>
60619
60620         * lib/getpagesize.h: Remove file.
60621         * lib/unistd.in.h: Include declaration of getpagesize here.
60622         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
60623         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
60624         HAVE_SYS_PARAM_H.
60625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
60626         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60627         * modules/getpagesize (Files): Remove lib/getpagesize.h.
60628         (Depends-on): Add unistd.
60629         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60630         (Include): Use <unistd.h> instead of getpagesize.h.
60631         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
60632         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60633         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
60634         gl_GETPAGESIZE invocation, already handled by module dependency.
60635         * lib/pagealign_alloc.c: Don't include getpagesize.h.
60636
60637 2007-12-02  Bruno Haible  <bruno@clisp.org>
60638
60639         * modules/strings-tests: New file.
60640         * tests/test-strings.c: New file.
60641
60642         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
60643         * lib/strings.in.h: New file.
60644         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
60645         * m4/strings_h.m4: New file.
60646         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
60647         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
60648         * modules/strings: New file.
60649         * modules/string (Makefile.am): Update.
60650         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
60651         Reported by Karl Berry.
60652
60653 2007-12-01  Eric Blake  <ebb9@byu.net>
60654
60655         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
60656         accommodate fix in cygwin 1.5.25.
60657
60658 2007-12-01  Jim Meyering  <meyering@redhat.com>
60659
60660         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
60661         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
60662         that would inhibit utf8-optimization of a regexp containing line-
60663         or buffer-anchors, e.g., `^', `$'.
60664
60665 2007-11-30  Bruno Haible  <bruno@clisp.org>
60666
60667         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
60668         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
60669         glthread_recursive_lock_init.
60670         * lib/lock.c (glthread_recursive_lock_init)
60671         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
60672         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60673
60674 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
60675
60676         New function qset_acl, like set_acl but with syscall semantics.
60677         * lib/acl.h (qset_acl): New decl.
60678         * lib/acl.c (qset_acl): New function.
60679         (set_acl): Use new function.  Use more-consistent diagnostics.
60680
60681 2007-11-28  Jim Meyering  <meyering@redhat.com>
60682
60683         * modules/physmem (License): Change from GPL to LGPLv2+.
60684
60685 2007-11-26  Bruno Haible  <bruno@clisp.org>
60686
60687         * lib/vasnprintf.c (decode_long_double): Don't abort if the
60688         'long double' type has excess precision.
60689         Reported by Jim Meyering in
60690         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
60691
60692 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60693
60694         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
60695         Sync from <http://gnu.org/licenses>.
60696         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
60697         with license text from same location.
60698         * doc/maintain.texi, doc/standards.texi:  Sync from
60699         <http://savannah.gnu.org/projects/gnustandards>.
60700
60701 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
60702         and Jim Meyering  <meyering@redhat.com>
60703
60704         Adjust getdate' grammar to accept a slightly more regular language.
60705         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
60706         Before, the former was rejected.
60707         * lib/getdate.y (digits_to_date_time): New function, factored
60708         out of ...
60709         (number): ...here.  Just call digits_to_date_time.
60710         (hybrid): New non-terminal to handle an <unsigned number,
60711         signed relative offset> sequence consistently.
60712
60713 2007-11-18  Jim Meyering  <meyering@redhat.com>
60714
60715         Pull my changes from coreutils:
60716         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
60717         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
60718         use of $gnulib_tool_option_extras, so that it's separated from the
60719         preceding argument.
60720
60721         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
60722         * build-aux/bootstrap (cp_mark_as_generated): Create any required
60723         parent destination directories before copying a file into place.
60724
60725 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60726
60727         bootstrap: work also with 4-argument variant of AC_INIT
60728         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
60729
60730 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60731
60732         Port test-getaddrinfo to Solaris.
60733         Problem reported by Bruno Haible in
60734         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
60735         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
60736         explanation of setting 'hints'.
60737         Don't reject an implementation merely because it returns EAI_SERVICE.
60738         (EAI_SERVICE): Define to 0 if not defined.
60739
60740 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60741
60742         The license of gnu-make and posix-shell is now "GPLed build tool".
60743         * modules/gnu-make (License): Likewise.
60744         * modules/posix-shell (License): Likewise.
60745
60746         New module posix-shell, for determining a POSIX shell
60747         or perhaps something that is close enough to a POSIX shell.
60748         * m4/posix-shell.m4: New file.
60749         * modules/posix-shell: New file.
60750
60751         * MODULES.html.sh: Mention new module.
60752
60753         New module gnu-make, for determining whether we're using GNU Make.
60754         * m4/gnu-make.m4: New file.
60755         * modules/gnu-make: New file.
60756         * MODULES.html.sh: Mention new module.
60757
60758 2007-11-14  Jim Meyering  <meyering@redhat.com>
60759
60760         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
60761         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
60762         use this macro to create a function _definition_.
60763         Remove useless "#undef ARGMATCH_DIE".
60764
60765 2007-11-14  Bruno Haible  <bruno@clisp.org>
60766
60767         * lib/config.charset: Update for OpenBSD 4.1.
60768         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60769
60770 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60771
60772         Document 64-bit #if problems in stdint.texi.
60773         * doc/headers/stdint.texi (stdint.h): Mention problems with
60774         64-bit-#if, and how to work around them.
60775
60776         Don't insist on 'long long int' support in the preprocessor.  It
60777         breaks too many things.  For example, PRIdMAX still uses a 'long
60778         long int' format with the latest Sun compiler, even though
60779         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60780         preprocessor problem.  This causes the latest coreutils to dump
60781         core on Solaris 10 sparc with the Sun C compiler.
60782         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60783         the troublesome expressions at configure-time, not at #if-time.
60784         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60785         preprocessor.
60786         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60787         compile-time C checks, done at 'configure'-time.
60788         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60789         * modules/inttypes (Makefile): Substitute the new symbols that
60790         gl_INTTYPES_H now generates.
60791         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60792
60793 2007-11-12  Bruno Haible  <bruno@clisp.org>
60794
60795         Tests for Unicode character classification functions.
60796
60797         * modules/unictype/bidicategory-byname-tests: New file.
60798         * modules/unictype/bidicategory-name-tests: New file.
60799         * modules/unictype/bidicategory-of-tests: New file.
60800         * modules/unictype/bidicategory-test-tests: New file.
60801         * modules/unictype/block-list-tests: New file.
60802         * modules/unictype/block-of-tests: New file.
60803         * modules/unictype/block-test-tests: New file.
60804         * modules/unictype/category-C-tests: New file.
60805         * modules/unictype/category-Cc-tests: New file.
60806         * modules/unictype/category-Cf-tests: New file.
60807         * modules/unictype/category-Cn-tests: New file.
60808         * modules/unictype/category-Co-tests: New file.
60809         * modules/unictype/category-Cs-tests: New file.
60810         * modules/unictype/category-L-tests: New file.
60811         * modules/unictype/category-Ll-tests: New file.
60812         * modules/unictype/category-Lm-tests: New file.
60813         * modules/unictype/category-Lo-tests: New file.
60814         * modules/unictype/category-Lt-tests: New file.
60815         * modules/unictype/category-Lu-tests: New file.
60816         * modules/unictype/category-M-tests: New file.
60817         * modules/unictype/category-Mc-tests: New file.
60818         * modules/unictype/category-Me-tests: New file.
60819         * modules/unictype/category-Mn-tests: New file.
60820         * modules/unictype/category-N-tests: New file.
60821         * modules/unictype/category-Nd-tests: New file.
60822         * modules/unictype/category-Nl-tests: New file.
60823         * modules/unictype/category-No-tests: New file.
60824         * modules/unictype/category-P-tests: New file.
60825         * modules/unictype/category-Pc-tests: New file.
60826         * modules/unictype/category-Pd-tests: New file.
60827         * modules/unictype/category-Pe-tests: New file.
60828         * modules/unictype/category-Pf-tests: New file.
60829         * modules/unictype/category-Pi-tests: New file.
60830         * modules/unictype/category-Po-tests: New file.
60831         * modules/unictype/category-Ps-tests: New file.
60832         * modules/unictype/category-S-tests: New file.
60833         * modules/unictype/category-Sc-tests: New file.
60834         * modules/unictype/category-Sk-tests: New file.
60835         * modules/unictype/category-Sm-tests: New file.
60836         * modules/unictype/category-So-tests: New file.
60837         * modules/unictype/category-Z-tests: New file.
60838         * modules/unictype/category-Zl-tests: New file.
60839         * modules/unictype/category-Zp-tests: New file.
60840         * modules/unictype/category-Zs-tests: New file.
60841         * modules/unictype/category-and-not-tests: New file.
60842         * modules/unictype/category-and-tests: New file.
60843         * modules/unictype/category-byname-tests: New file.
60844         * modules/unictype/category-name-tests: New file.
60845         * modules/unictype/category-none-tests: New file.
60846         * modules/unictype/category-of-tests: New file.
60847         * modules/unictype/category-or-tests: New file.
60848         * modules/unictype/category-test-withtable-tests: New file.
60849         * modules/unictype/combining-class-tests: New file.
60850         * modules/unictype/ctype-alnum-tests: New file.
60851         * modules/unictype/ctype-alpha-tests: New file.
60852         * modules/unictype/ctype-blank-tests: New file.
60853         * modules/unictype/ctype-cntrl-tests: New file.
60854         * modules/unictype/ctype-digit-tests: New file.
60855         * modules/unictype/ctype-graph-tests: New file.
60856         * modules/unictype/ctype-lower-tests: New file.
60857         * modules/unictype/ctype-print-tests: New file.
60858         * modules/unictype/ctype-punct-tests: New file.
60859         * modules/unictype/ctype-space-tests: New file.
60860         * modules/unictype/ctype-upper-tests: New file.
60861         * modules/unictype/ctype-xdigit-tests: New file.
60862         * modules/unictype/decimal-digit-tests: New file.
60863         * modules/unictype/digit-tests: New file.
60864         * modules/unictype/mirror-tests: New file.
60865         * modules/unictype/numeric-tests: New file.
60866         * modules/unictype/property-alphabetic-tests: New file.
60867         * modules/unictype/property-ascii-hex-digit-tests: New file.
60868         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60869         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60870         * modules/unictype/property-bidi-block-separator-tests: New file.
60871         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60872         * modules/unictype/property-bidi-common-separator-tests: New file.
60873         * modules/unictype/property-bidi-control-tests: New file.
60874         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60875         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60876         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60877         * modules/unictype/property-bidi-european-digit-tests: New file.
60878         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60879         * modules/unictype/property-bidi-left-to-right-tests: New file.
60880         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60881         * modules/unictype/property-bidi-other-neutral-tests: New file.
60882         * modules/unictype/property-bidi-pdf-tests: New file.
60883         * modules/unictype/property-bidi-segment-separator-tests: New file.
60884         * modules/unictype/property-bidi-whitespace-tests: New file.
60885         * modules/unictype/property-byname-tests: New file.
60886         * modules/unictype/property-combining-tests: New file.
60887         * modules/unictype/property-composite-tests: New file.
60888         * modules/unictype/property-currency-symbol-tests: New file.
60889         * modules/unictype/property-dash-tests: New file.
60890         * modules/unictype/property-decimal-digit-tests: New file.
60891         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60892         * modules/unictype/property-deprecated-tests: New file.
60893         * modules/unictype/property-diacritic-tests: New file.
60894         * modules/unictype/property-extender-tests: New file.
60895         * modules/unictype/property-format-control-tests: New file.
60896         * modules/unictype/property-grapheme-base-tests: New file.
60897         * modules/unictype/property-grapheme-extend-tests: New file.
60898         * modules/unictype/property-grapheme-link-tests: New file.
60899         * modules/unictype/property-hex-digit-tests: New file.
60900         * modules/unictype/property-hyphen-tests: New file.
60901         * modules/unictype/property-id-continue-tests: New file.
60902         * modules/unictype/property-id-start-tests: New file.
60903         * modules/unictype/property-ideographic-tests: New file.
60904         * modules/unictype/property-ids-binary-operator-tests: New file.
60905         * modules/unictype/property-ids-trinary-operator-tests: New file.
60906         * modules/unictype/property-ignorable-control-tests: New file.
60907         * modules/unictype/property-iso-control-tests: New file.
60908         * modules/unictype/property-join-control-tests: New file.
60909         * modules/unictype/property-left-of-pair-tests: New file.
60910         * modules/unictype/property-line-separator-tests: New file.
60911         * modules/unictype/property-logical-order-exception-tests: New file.
60912         * modules/unictype/property-lowercase-tests: New file.
60913         * modules/unictype/property-math-tests: New file.
60914         * modules/unictype/property-non-break-tests: New file.
60915         * modules/unictype/property-not-a-character-tests: New file.
60916         * modules/unictype/property-numeric-tests: New file.
60917         * modules/unictype/property-other-alphabetic-tests: New file.
60918         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60919         * modules/unictype/property-other-grapheme-extend-tests: New file.
60920         * modules/unictype/property-other-id-continue-tests: New file.
60921         * modules/unictype/property-other-id-start-tests: New file.
60922         * modules/unictype/property-other-lowercase-tests: New file.
60923         * modules/unictype/property-other-math-tests: New file.
60924         * modules/unictype/property-other-uppercase-tests: New file.
60925         * modules/unictype/property-paired-punctuation-tests: New file.
60926         * modules/unictype/property-paragraph-separator-tests: New file.
60927         * modules/unictype/property-pattern-syntax-tests: New file.
60928         * modules/unictype/property-pattern-white-space-tests: New file.
60929         * modules/unictype/property-private-use-tests: New file.
60930         * modules/unictype/property-punctuation-tests: New file.
60931         * modules/unictype/property-quotation-mark-tests: New file.
60932         * modules/unictype/property-radical-tests: New file.
60933         * modules/unictype/property-sentence-terminal-tests: New file.
60934         * modules/unictype/property-soft-dotted-tests: New file.
60935         * modules/unictype/property-space-tests: New file.
60936         * modules/unictype/property-terminal-punctuation-tests: New file.
60937         * modules/unictype/property-test-tests: New file.
60938         * modules/unictype/property-titlecase-tests: New file.
60939         * modules/unictype/property-unassigned-code-value-tests: New file.
60940         * modules/unictype/property-unified-ideograph-tests: New file.
60941         * modules/unictype/property-uppercase-tests: New file.
60942         * modules/unictype/property-variation-selector-tests: New file.
60943         * modules/unictype/property-white-space-tests: New file.
60944         * modules/unictype/property-xid-continue-tests: New file.
60945         * modules/unictype/property-xid-start-tests: New file.
60946         * modules/unictype/property-zero-width-tests: New file.
60947         * modules/unictype/scripts-tests: New file.
60948         * modules/unictype/syntax-c-ident-tests: New file.
60949         * modules/unictype/syntax-c-whitespace-tests: New file.
60950         * modules/unictype/syntax-java-ident-tests: New file.
60951         * modules/unictype/syntax-java-whitespace-tests: New file.
60952         * tests/unictype/test-bidi_byname.c: New file.
60953         * tests/unictype/test-bidi_name.c: New file.
60954         * tests/unictype/test-bidi_of.c: New file.
60955         * tests/unictype/test-bidi_test.c: New file.
60956         * tests/unictype/test-block_list.c: New file.
60957         * tests/unictype/test-block_of.c: New file.
60958         * tests/unictype/test-block_test.c: New file.
60959         * tests/unictype/test-categ_and.c: New file.
60960         * tests/unictype/test-categ_and_not.c: New file.
60961         * tests/unictype/test-categ_byname.c: New file.
60962         * tests/unictype/test-categ_name.c: New file.
60963         * tests/unictype/test-categ_none.c: New file.
60964         * tests/unictype/test-categ_of.c: New file.
60965         * tests/unictype/test-categ_or.c: New file.
60966         * tests/unictype/test-categ_test_withtable.c: New file.
60967         * tests/unictype/test-combining.c: New file.
60968         * tests/unictype/test-decdigit.c: New file.
60969         * tests/unictype/test-digit.c: New file.
60970         * tests/unictype/test-mirror.c: New file.
60971         * tests/unictype/test-numeric.c: New file.
60972         * tests/unictype/test-pr_byname.c: New file.
60973         * tests/unictype/test-pr_test.c: New file.
60974         * tests/unictype/test-predicate-part1.h: New file.
60975         * tests/unictype/test-predicate-part2.h: New file.
60976         * tests/unictype/test-scripts.c: New file.
60977         * tests/unictype/test-sy_c_ident.c: New file.
60978         * tests/unictype/test-sy_java_ident.c: New file.
60979
60980         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60981         for Unicode 5.0.0.
60982         * tests/unictype/test-categ_Cc.c: Likewise.
60983         * tests/unictype/test-categ_Cf.c: Likewise.
60984         * tests/unictype/test-categ_Cn.c: Likewise.
60985         * tests/unictype/test-categ_Co.c: Likewise.
60986         * tests/unictype/test-categ_Cs.c: Likewise.
60987         * tests/unictype/test-categ_L.c: Likewise.
60988         * tests/unictype/test-categ_Ll.c: Likewise.
60989         * tests/unictype/test-categ_Lm.c: Likewise.
60990         * tests/unictype/test-categ_Lo.c: Likewise.
60991         * tests/unictype/test-categ_Lt.c: Likewise.
60992         * tests/unictype/test-categ_Lu.c: Likewise.
60993         * tests/unictype/test-categ_M.c: Likewise.
60994         * tests/unictype/test-categ_Mc.c: Likewise.
60995         * tests/unictype/test-categ_Me.c: Likewise.
60996         * tests/unictype/test-categ_Mn.c: Likewise.
60997         * tests/unictype/test-categ_N.c: Likewise.
60998         * tests/unictype/test-categ_Nd.c: Likewise.
60999         * tests/unictype/test-categ_Nl.c: Likewise.
61000         * tests/unictype/test-categ_No.c: Likewise.
61001         * tests/unictype/test-categ_P.c: Likewise.
61002         * tests/unictype/test-categ_Pc.c: Likewise.
61003         * tests/unictype/test-categ_Pd.c: Likewise.
61004         * tests/unictype/test-categ_Pe.c: Likewise.
61005         * tests/unictype/test-categ_Pf.c: Likewise.
61006         * tests/unictype/test-categ_Pi.c: Likewise.
61007         * tests/unictype/test-categ_Po.c: Likewise.
61008         * tests/unictype/test-categ_Ps.c: Likewise.
61009         * tests/unictype/test-categ_S.c: Likewise.
61010         * tests/unictype/test-categ_Sc.c: Likewise.
61011         * tests/unictype/test-categ_Sk.c: Likewise.
61012         * tests/unictype/test-categ_Sm.c: Likewise.
61013         * tests/unictype/test-categ_So.c: Likewise.
61014         * tests/unictype/test-categ_Z.c: Likewise.
61015         * tests/unictype/test-categ_Zl.c: Likewise.
61016         * tests/unictype/test-categ_Zp.c: Likewise.
61017         * tests/unictype/test-categ_Zs.c: Likewise.
61018         * tests/unictype/test-ctype_alnum.c: Likewise.
61019         * tests/unictype/test-ctype_alpha.c: Likewise.
61020         * tests/unictype/test-ctype_blank.c: Likewise.
61021         * tests/unictype/test-ctype_cntrl.c: Likewise.
61022         * tests/unictype/test-ctype_digit.c: Likewise.
61023         * tests/unictype/test-ctype_graph.c: Likewise.
61024         * tests/unictype/test-ctype_lower.c: Likewise.
61025         * tests/unictype/test-ctype_print.c: Likewise.
61026         * tests/unictype/test-ctype_punct.c: Likewise.
61027         * tests/unictype/test-ctype_space.c: Likewise.
61028         * tests/unictype/test-ctype_upper.c: Likewise.
61029         * tests/unictype/test-ctype_xdigit.c: Likewise.
61030         * tests/unictype/test-decdigit.h: Likewise.
61031         * tests/unictype/test-digit.h: Likewise.
61032         * tests/unictype/test-numeric.h: Likewise.
61033         * tests/unictype/test-pr_alphabetic.c: Likewise.
61034         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
61035         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61036         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61037         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
61038         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61039         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
61040         * tests/unictype/test-pr_bidi_control.c: Likewise.
61041         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
61042         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
61043         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61044         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61045         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61046         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61047         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61048         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61049         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
61050         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
61051         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
61052         * tests/unictype/test-pr_combining.c: Likewise.
61053         * tests/unictype/test-pr_composite.c: Likewise.
61054         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61055         * tests/unictype/test-pr_dash.c: Likewise.
61056         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61057         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
61058         * tests/unictype/test-pr_deprecated.c: Likewise.
61059         * tests/unictype/test-pr_diacritic.c: Likewise.
61060         * tests/unictype/test-pr_extender.c: Likewise.
61061         * tests/unictype/test-pr_format_control.c: Likewise.
61062         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61063         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61064         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61065         * tests/unictype/test-pr_hex_digit.c: Likewise.
61066         * tests/unictype/test-pr_hyphen.c: Likewise.
61067         * tests/unictype/test-pr_id_continue.c: Likewise.
61068         * tests/unictype/test-pr_id_start.c: Likewise.
61069         * tests/unictype/test-pr_ideographic.c: Likewise.
61070         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
61071         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
61072         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61073         * tests/unictype/test-pr_iso_control.c: Likewise.
61074         * tests/unictype/test-pr_join_control.c: Likewise.
61075         * tests/unictype/test-pr_left_of_pair.c: Likewise.
61076         * tests/unictype/test-pr_line_separator.c: Likewise.
61077         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61078         * tests/unictype/test-pr_lowercase.c: Likewise.
61079         * tests/unictype/test-pr_math.c: Likewise.
61080         * tests/unictype/test-pr_non_break.c: Likewise.
61081         * tests/unictype/test-pr_not_a_character.c: Likewise.
61082         * tests/unictype/test-pr_numeric.c: Likewise.
61083         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61084         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
61085         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
61086         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61087         * tests/unictype/test-pr_other_id_start.c: Likewise.
61088         * tests/unictype/test-pr_other_lowercase.c: Likewise.
61089         * tests/unictype/test-pr_other_math.c: Likewise.
61090         * tests/unictype/test-pr_other_uppercase.c: Likewise.
61091         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
61092         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
61093         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
61094         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
61095         * tests/unictype/test-pr_private_use.c: Likewise.
61096         * tests/unictype/test-pr_punctuation.c: Likewise.
61097         * tests/unictype/test-pr_quotation_mark.c: Likewise.
61098         * tests/unictype/test-pr_radical.c: Likewise.
61099         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61100         * tests/unictype/test-pr_soft_dotted.c: Likewise.
61101         * tests/unictype/test-pr_space.c: Likewise.
61102         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61103         * tests/unictype/test-pr_titlecase.c: Likewise.
61104         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61105         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61106         * tests/unictype/test-pr_uppercase.c: Likewise.
61107         * tests/unictype/test-pr_variation_selector.c: Likewise.
61108         * tests/unictype/test-pr_white_space.c: Likewise.
61109         * tests/unictype/test-pr_xid_continue.c: Likewise.
61110         * tests/unictype/test-pr_xid_start.c: Likewise.
61111         * tests/unictype/test-pr_zero_width.c: Likewise.
61112         * tests/unictype/test-sy_c_whitespace.c: Likewise.
61113         * tests/unictype/test-sy_java_whitespace.c: Likewise.
61114
61115 2007-11-12  Bruno Haible  <bruno@clisp.org>
61116
61117         Unicode character classification functions.
61118         * lib/unictype.h: New file.
61119         * modules/unictype/base: New file.
61120         * modules/unictype/category-L: New file.
61121         * modules/unictype/category-Lu: New file.
61122         * modules/unictype/category-Ll: New file.
61123         * modules/unictype/category-Lt: New file.
61124         * modules/unictype/category-Lm: New file.
61125         * modules/unictype/category-Lo: New file.
61126         * modules/unictype/category-M: New file.
61127         * modules/unictype/category-Mn: New file.
61128         * modules/unictype/category-Mc: New file.
61129         * modules/unictype/category-Me: New file.
61130         * modules/unictype/category-N: New file.
61131         * modules/unictype/category-Nd: New file.
61132         * modules/unictype/category-Nl: New file.
61133         * modules/unictype/category-No: New file.
61134         * modules/unictype/category-P: New file.
61135         * modules/unictype/category-Pc: New file.
61136         * modules/unictype/category-Pd: New file.
61137         * modules/unictype/category-Ps: New file.
61138         * modules/unictype/category-Pe: New file.
61139         * modules/unictype/category-Pi: New file.
61140         * modules/unictype/category-Pf: New file.
61141         * modules/unictype/category-Po: New file.
61142         * modules/unictype/category-S: New file.
61143         * modules/unictype/category-Sm: New file.
61144         * modules/unictype/category-Sc: New file.
61145         * modules/unictype/category-Sk: New file.
61146         * modules/unictype/category-So: New file.
61147         * modules/unictype/category-Z: New file.
61148         * modules/unictype/category-Zs: New file.
61149         * modules/unictype/category-Zl: New file.
61150         * modules/unictype/category-Zp: New file.
61151         * modules/unictype/category-C: New file.
61152         * modules/unictype/category-Cc: New file.
61153         * modules/unictype/category-Cf: New file.
61154         * modules/unictype/category-Cs: New file.
61155         * modules/unictype/category-Co: New file.
61156         * modules/unictype/category-Cn: New file.
61157         * modules/unictype/category-or: New file.
61158         * modules/unictype/category-of: New file.
61159         * modules/unictype/category-test: New file.
61160         * modules/unictype/category-test-withtable: New file.
61161         * modules/unictype/category-byname: New file.
61162         * modules/unictype/category-none: New file.
61163         * modules/unictype/category-and: New file.
61164         * modules/unictype/category-and-not: New file.
61165         * modules/unictype/category-name: New file.
61166         * modules/unictype/combining-class: New file.
61167         * modules/unictype/category-all: New file.
61168         * modules/unictype/bidicategory-all: New file.
61169         * modules/unictype/bidicategory-byname: New file.
61170         * modules/unictype/bidicategory-name: New file.
61171         * modules/unictype/bidicategory-of: New file.
61172         * modules/unictype/bidicategory-test: New file.
61173         * modules/unictype/decimal-digit: New file.
61174         * modules/unictype/digit: New file.
61175         * modules/unictype/numeric: New file.
61176         * modules/unictype/mirror: New file.
61177         * modules/unictype/property-white-space: New file.
61178         * modules/unictype/property-alphabetic: New file.
61179         * modules/unictype/property-other-alphabetic: New file.
61180         * modules/unictype/property-not-a-character: New file.
61181         * modules/unictype/property-default-ignorable-code-point: New file.
61182         * modules/unictype/property-other-default-ignorable-code-point: New
61183         file.
61184         * modules/unictype/property-deprecated: New file.
61185         * modules/unictype/property-logical-order-exception: New file.
61186         * modules/unictype/property-variation-selector: New file.
61187         * modules/unictype/property-private-use: New file.
61188         * modules/unictype/property-unassigned-code-value: New file.
61189         * modules/unictype/property-uppercase: New file.
61190         * modules/unictype/property-other-uppercase: New file.
61191         * modules/unictype/property-lowercase: New file.
61192         * modules/unictype/property-other-lowercase: New file.
61193         * modules/unictype/property-titlecase: New file.
61194         * modules/unictype/property-soft-dotted: New file.
61195         * modules/unictype/property-id-start: New file.
61196         * modules/unictype/property-other-id-start: New file.
61197         * modules/unictype/property-id-continue: New file.
61198         * modules/unictype/property-other-id-continue: New file.
61199         * modules/unictype/property-xid-start: New file.
61200         * modules/unictype/property-xid-continue: New file.
61201         * modules/unictype/property-pattern-white-space: New file.
61202         * modules/unictype/property-pattern-syntax: New file.
61203         * modules/unictype/property-join-control: New file.
61204         * modules/unictype/property-grapheme-base: New file.
61205         * modules/unictype/property-grapheme-extend: New file.
61206         * modules/unictype/property-other-grapheme-extend: New file.
61207         * modules/unictype/property-grapheme-link: New file.
61208         * modules/unictype/property-bidi-control: New file.
61209         * modules/unictype/property-bidi-left-to-right: New file.
61210         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
61211         * modules/unictype/property-bidi-arabic-right-to-left: New file.
61212         * modules/unictype/property-bidi-european-digit: New file.
61213         * modules/unictype/property-bidi-eur-num-separator: New file.
61214         * modules/unictype/property-bidi-eur-num-terminator: New file.
61215         * modules/unictype/property-bidi-arabic-digit: New file.
61216         * modules/unictype/property-bidi-common-separator: New file.
61217         * modules/unictype/property-bidi-block-separator: New file.
61218         * modules/unictype/property-bidi-segment-separator: New file.
61219         * modules/unictype/property-bidi-whitespace: New file.
61220         * modules/unictype/property-bidi-non-spacing-mark: New file.
61221         * modules/unictype/property-bidi-boundary-neutral: New file.
61222         * modules/unictype/property-bidi-pdf: New file.
61223         * modules/unictype/property-bidi-embedding-or-override: New file.
61224         * modules/unictype/property-bidi-other-neutral: New file.
61225         * modules/unictype/property-hex-digit: New file.
61226         * modules/unictype/property-ascii-hex-digit: New file.
61227         * modules/unictype/property-ideographic: New file.
61228         * modules/unictype/property-unified-ideograph: New file.
61229         * modules/unictype/property-radical: New file.
61230         * modules/unictype/property-ids-binary-operator: New file.
61231         * modules/unictype/property-ids-trinary-operator: New file.
61232         * modules/unictype/property-zero-width: New file.
61233         * modules/unictype/property-space: New file.
61234         * modules/unictype/property-non-break: New file.
61235         * modules/unictype/property-iso-control: New file.
61236         * modules/unictype/property-format-control: New file.
61237         * modules/unictype/property-dash: New file.
61238         * modules/unictype/property-hyphen: New file.
61239         * modules/unictype/property-punctuation: New file.
61240         * modules/unictype/property-line-separator: New file.
61241         * modules/unictype/property-paragraph-separator: New file.
61242         * modules/unictype/property-quotation-mark: New file.
61243         * modules/unictype/property-sentence-terminal: New file.
61244         * modules/unictype/property-terminal-punctuation: New file.
61245         * modules/unictype/property-currency-symbol: New file.
61246         * modules/unictype/property-math: New file.
61247         * modules/unictype/property-other-math: New file.
61248         * modules/unictype/property-paired-punctuation: New file.
61249         * modules/unictype/property-left-of-pair: New file.
61250         * modules/unictype/property-combining: New file.
61251         * modules/unictype/property-composite: New file.
61252         * modules/unictype/property-decimal-digit: New file.
61253         * modules/unictype/property-numeric: New file.
61254         * modules/unictype/property-diacritic: New file.
61255         * modules/unictype/property-extender: New file.
61256         * modules/unictype/property-ignorable-control: New file.
61257         * modules/unictype/property-test: New file.
61258         * modules/unictype/property-byname: New file.
61259         * modules/unictype/property-all: New file.
61260         * modules/unictype/scripts: New file.
61261         * modules/unictype/scripts-all: New file.
61262         * modules/unictype/block-of: New file.
61263         * modules/unictype/block-test: New file.
61264         * modules/unictype/block-list: New file.
61265         * modules/unictype/block-all: New file.
61266         * modules/unictype/syntax-c-whitespace: New file.
61267         * modules/unictype/syntax-java-whitespace: New file.
61268         * modules/unictype/syntax-c-ident: New file.
61269         * modules/unictype/syntax-java-ident: New file.
61270         * modules/unictype/ctype-alnum: New file.
61271         * modules/unictype/ctype-alpha: New file.
61272         * modules/unictype/ctype-cntrl: New file.
61273         * modules/unictype/ctype-digit: New file.
61274         * modules/unictype/ctype-graph: New file.
61275         * modules/unictype/ctype-lower: New file.
61276         * modules/unictype/ctype-print: New file.
61277         * modules/unictype/ctype-punct: New file.
61278         * modules/unictype/ctype-space: New file.
61279         * modules/unictype/ctype-upper: New file.
61280         * modules/unictype/ctype-xdigit: New file.
61281         * modules/unictype/ctype-blank: New file.
61282         * lib/unictype/bidi_byname.c: New file.
61283         * lib/unictype/bidi_name.c: New file.
61284         * lib/unictype/bidi_of.c: New file.
61285         * lib/unictype/bidi_test.c: New file.
61286         * lib/unictype/bitmap.h: New file.
61287         * lib/unictype/block_test.c: New file.
61288         * lib/unictype/blocks.c: New file.
61289         * lib/unictype/categ_C.c: New file.
61290         * lib/unictype/categ_Cc.c: New file.
61291         * lib/unictype/categ_Cf.c: New file.
61292         * lib/unictype/categ_Cn.c: New file.
61293         * lib/unictype/categ_Co.c: New file.
61294         * lib/unictype/categ_Cs.c: New file.
61295         * lib/unictype/categ_L.c: New file.
61296         * lib/unictype/categ_Ll.c: New file.
61297         * lib/unictype/categ_Lm.c: New file.
61298         * lib/unictype/categ_Lo.c: New file.
61299         * lib/unictype/categ_Lt.c: New file.
61300         * lib/unictype/categ_Lu.c: New file.
61301         * lib/unictype/categ_M.c: New file.
61302         * lib/unictype/categ_Mc.c: New file.
61303         * lib/unictype/categ_Me.c: New file.
61304         * lib/unictype/categ_Mn.c: New file.
61305         * lib/unictype/categ_N.c: New file.
61306         * lib/unictype/categ_Nd.c: New file.
61307         * lib/unictype/categ_Nl.c: New file.
61308         * lib/unictype/categ_No.c: New file.
61309         * lib/unictype/categ_P.c: New file.
61310         * lib/unictype/categ_Pc.c: New file.
61311         * lib/unictype/categ_Pd.c: New file.
61312         * lib/unictype/categ_Pe.c: New file.
61313         * lib/unictype/categ_Pf.c: New file.
61314         * lib/unictype/categ_Pi.c: New file.
61315         * lib/unictype/categ_Po.c: New file.
61316         * lib/unictype/categ_Ps.c: New file.
61317         * lib/unictype/categ_S.c: New file.
61318         * lib/unictype/categ_Sc.c: New file.
61319         * lib/unictype/categ_Sk.c: New file.
61320         * lib/unictype/categ_Sm.c: New file.
61321         * lib/unictype/categ_So.c: New file.
61322         * lib/unictype/categ_Z.c: New file.
61323         * lib/unictype/categ_Zl.c: New file.
61324         * lib/unictype/categ_Zp.c: New file.
61325         * lib/unictype/categ_Zs.c: New file.
61326         * lib/unictype/categ_and.c: New file.
61327         * lib/unictype/categ_and_not.c: New file.
61328         * lib/unictype/categ_byname.c: New file.
61329         * lib/unictype/categ_name.c: New file.
61330         * lib/unictype/categ_none.c: New file.
61331         * lib/unictype/categ_of.c: New file.
61332         * lib/unictype/categ_or.c: New file.
61333         * lib/unictype/categ_test.c: New file.
61334         * lib/unictype/combining.c: New file.
61335         * lib/unictype/ctype_alnum.c: New file.
61336         * lib/unictype/ctype_alpha.c: New file.
61337         * lib/unictype/ctype_blank.c: New file.
61338         * lib/unictype/ctype_cntrl.c: New file.
61339         * lib/unictype/ctype_digit.c: New file.
61340         * lib/unictype/ctype_graph.c: New file.
61341         * lib/unictype/ctype_lower.c: New file.
61342         * lib/unictype/ctype_print.c: New file.
61343         * lib/unictype/ctype_punct.c: New file.
61344         * lib/unictype/ctype_space.c: New file.
61345         * lib/unictype/ctype_upper.c: New file.
61346         * lib/unictype/ctype_xdigit.c: New file.
61347         * lib/unictype/decdigit.c: New file.
61348         * lib/unictype/digit.c: New file.
61349         * lib/unictype/identsyntaxmap.h: New file.
61350         * lib/unictype/mirror.c: New file.
61351         * lib/unictype/numeric.c: New file.
61352         * lib/unictype/pr_alphabetic.c: New file.
61353         * lib/unictype/pr_ascii_hex_digit.c: New file.
61354         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61355         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61356         * lib/unictype/pr_bidi_block_separator.c: New file.
61357         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61358         * lib/unictype/pr_bidi_common_separator.c: New file.
61359         * lib/unictype/pr_bidi_control.c: New file.
61360         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61361         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61362         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61363         * lib/unictype/pr_bidi_european_digit.c: New file.
61364         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61365         * lib/unictype/pr_bidi_left_to_right.c: New file.
61366         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61367         * lib/unictype/pr_bidi_other_neutral.c: New file.
61368         * lib/unictype/pr_bidi_pdf.c: New file.
61369         * lib/unictype/pr_bidi_segment_separator.c: New file.
61370         * lib/unictype/pr_bidi_whitespace.c: New file.
61371         * lib/unictype/pr_byname.c: New file.
61372         * lib/unictype/pr_byname.gperf: New file.
61373         * lib/unictype/pr_combining.c: New file.
61374         * lib/unictype/pr_composite.c: New file.
61375         * lib/unictype/pr_currency_symbol.c: New file.
61376         * lib/unictype/pr_dash.c: New file.
61377         * lib/unictype/pr_decimal_digit.c: New file.
61378         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61379         * lib/unictype/pr_deprecated.c: New file.
61380         * lib/unictype/pr_diacritic.c: New file.
61381         * lib/unictype/pr_extender.c: New file.
61382         * lib/unictype/pr_format_control.c: New file.
61383         * lib/unictype/pr_grapheme_base.c: New file.
61384         * lib/unictype/pr_grapheme_extend.c: New file.
61385         * lib/unictype/pr_grapheme_link.c: New file.
61386         * lib/unictype/pr_hex_digit.c: New file.
61387         * lib/unictype/pr_hyphen.c: New file.
61388         * lib/unictype/pr_id_continue.c: New file.
61389         * lib/unictype/pr_id_start.c: New file.
61390         * lib/unictype/pr_ideographic.c: New file.
61391         * lib/unictype/pr_ids_binary_operator.c: New file.
61392         * lib/unictype/pr_ids_trinary_operator.c: New file.
61393         * lib/unictype/pr_ignorable_control.c: New file.
61394         * lib/unictype/pr_iso_control.c: New file.
61395         * lib/unictype/pr_join_control.c: New file.
61396         * lib/unictype/pr_left_of_pair.c: New file.
61397         * lib/unictype/pr_line_separator.c: New file.
61398         * lib/unictype/pr_logical_order_exception.c: New file.
61399         * lib/unictype/pr_lowercase.c: New file.
61400         * lib/unictype/pr_math.c: New file.
61401         * lib/unictype/pr_non_break.c: New file.
61402         * lib/unictype/pr_not_a_character.c: New file.
61403         * lib/unictype/pr_numeric.c: New file.
61404         * lib/unictype/pr_other_alphabetic.c: New file.
61405         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
61406         * lib/unictype/pr_other_grapheme_extend.c: New file.
61407         * lib/unictype/pr_other_id_continue.c: New file.
61408         * lib/unictype/pr_other_id_start.c: New file.
61409         * lib/unictype/pr_other_lowercase.c: New file.
61410         * lib/unictype/pr_other_math.c: New file.
61411         * lib/unictype/pr_other_uppercase.c: New file.
61412         * lib/unictype/pr_paired_punctuation.c: New file.
61413         * lib/unictype/pr_paragraph_separator.c: New file.
61414         * lib/unictype/pr_pattern_syntax.c: New file.
61415         * lib/unictype/pr_pattern_white_space.c: New file.
61416         * lib/unictype/pr_private_use.c: New file.
61417         * lib/unictype/pr_punctuation.c: New file.
61418         * lib/unictype/pr_quotation_mark.c: New file.
61419         * lib/unictype/pr_radical.c: New file.
61420         * lib/unictype/pr_sentence_terminal.c: New file.
61421         * lib/unictype/pr_soft_dotted.c: New file.
61422         * lib/unictype/pr_space.c: New file.
61423         * lib/unictype/pr_terminal_punctuation.c: New file.
61424         * lib/unictype/pr_test.c: New file.
61425         * lib/unictype/pr_titlecase.c: New file.
61426         * lib/unictype/pr_unassigned_code_value.c: New file.
61427         * lib/unictype/pr_unified_ideograph.c: New file.
61428         * lib/unictype/pr_uppercase.c: New file.
61429         * lib/unictype/pr_variation_selector.c: New file.
61430         * lib/unictype/pr_white_space.c: New file.
61431         * lib/unictype/pr_xid_continue.c: New file.
61432         * lib/unictype/pr_xid_start.c: New file.
61433         * lib/unictype/pr_zero_width.c: New file.
61434         * lib/unictype/scripts.c: New file.
61435         * lib/unictype/sy_c_ident.c: New file.
61436         * lib/unictype/sy_c_whitespace.c: New file.
61437         * lib/unictype/sy_java_ident.c: New file.
61438         * lib/unictype/sy_java_whitespace.c: New file.
61439
61440         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
61441         Unicode 5.0.0.
61442         * lib/unictype/blocks.h: Likewise.
61443         * lib/unictype/categ_C.h: Likewise.
61444         * lib/unictype/categ_Cc.h: Likewise.
61445         * lib/unictype/categ_Cf.h: Likewise.
61446         * lib/unictype/categ_Cn.h: Likewise.
61447         * lib/unictype/categ_Co.h: Likewise.
61448         * lib/unictype/categ_Cs.h: Likewise.
61449         * lib/unictype/categ_L.h: Likewise.
61450         * lib/unictype/categ_Ll.h: Likewise.
61451         * lib/unictype/categ_Lm.h: Likewise.
61452         * lib/unictype/categ_Lo.h: Likewise.
61453         * lib/unictype/categ_Lt.h: Likewise.
61454         * lib/unictype/categ_Lu.h: Likewise.
61455         * lib/unictype/categ_M.h: Likewise.
61456         * lib/unictype/categ_Mc.h: Likewise.
61457         * lib/unictype/categ_Me.h: Likewise.
61458         * lib/unictype/categ_Mn.h: Likewise.
61459         * lib/unictype/categ_N.h: Likewise.
61460         * lib/unictype/categ_Nd.h: Likewise.
61461         * lib/unictype/categ_Nl.h: Likewise.
61462         * lib/unictype/categ_No.h: Likewise.
61463         * lib/unictype/categ_P.h: Likewise.
61464         * lib/unictype/categ_Pc.h: Likewise.
61465         * lib/unictype/categ_Pd.h: Likewise.
61466         * lib/unictype/categ_Pe.h: Likewise.
61467         * lib/unictype/categ_Pf.h: Likewise.
61468         * lib/unictype/categ_Pi.h: Likewise.
61469         * lib/unictype/categ_Po.h: Likewise.
61470         * lib/unictype/categ_Ps.h: Likewise.
61471         * lib/unictype/categ_S.h: Likewise.
61472         * lib/unictype/categ_Sc.h: Likewise.
61473         * lib/unictype/categ_Sk.h: Likewise.
61474         * lib/unictype/categ_Sm.h: Likewise.
61475         * lib/unictype/categ_So.h: Likewise.
61476         * lib/unictype/categ_Z.h: Likewise.
61477         * lib/unictype/categ_Zl.h: Likewise.
61478         * lib/unictype/categ_Zp.h: Likewise.
61479         * lib/unictype/categ_Zs.h: Likewise.
61480         * lib/unictype/categ_of.h: Likewise.
61481         * lib/unictype/combining.h: Likewise.
61482         * lib/unictype/ctype_alnum.h: Likewise.
61483         * lib/unictype/ctype_alpha.h: Likewise.
61484         * lib/unictype/ctype_blank.h: Likewise.
61485         * lib/unictype/ctype_cntrl.h: Likewise.
61486         * lib/unictype/ctype_digit.h: Likewise.
61487         * lib/unictype/ctype_graph.h: Likewise.
61488         * lib/unictype/ctype_lower.h: Likewise.
61489         * lib/unictype/ctype_print.h: Likewise.
61490         * lib/unictype/ctype_punct.h: Likewise.
61491         * lib/unictype/ctype_space.h: Likewise.
61492         * lib/unictype/ctype_upper.h: Likewise.
61493         * lib/unictype/ctype_xdigit.h: Likewise.
61494         * lib/unictype/decdigit.h: Likewise.
61495         * lib/unictype/digit.h: Likewise.
61496         * lib/unictype/mirror.h: Likewise.
61497         * lib/unictype/numeric.h: Likewise.
61498         * lib/unictype/pr_alphabetic.h: Likewise.
61499         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61500         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61501         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61502         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61503         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61504         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61505         * lib/unictype/pr_bidi_control.h: Likewise.
61506         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61507         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61508         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61509         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61510         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61511         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61512         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61513         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61514         * lib/unictype/pr_bidi_pdf.h: Likewise.
61515         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61516         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61517         * lib/unictype/pr_combining.h: Likewise.
61518         * lib/unictype/pr_composite.h: Likewise.
61519         * lib/unictype/pr_currency_symbol.h: Likewise.
61520         * lib/unictype/pr_dash.h: Likewise.
61521         * lib/unictype/pr_decimal_digit.h: Likewise.
61522         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61523         * lib/unictype/pr_deprecated.h: Likewise.
61524         * lib/unictype/pr_diacritic.h: Likewise.
61525         * lib/unictype/pr_extender.h: Likewise.
61526         * lib/unictype/pr_format_control.h: Likewise.
61527         * lib/unictype/pr_grapheme_base.h: Likewise.
61528         * lib/unictype/pr_grapheme_extend.h: Likewise.
61529         * lib/unictype/pr_grapheme_link.h: Likewise.
61530         * lib/unictype/pr_hex_digit.h: Likewise.
61531         * lib/unictype/pr_hyphen.h: Likewise.
61532         * lib/unictype/pr_id_continue.h: Likewise.
61533         * lib/unictype/pr_id_start.h: Likewise.
61534         * lib/unictype/pr_ideographic.h: Likewise.
61535         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61536         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61537         * lib/unictype/pr_ignorable_control.h: Likewise.
61538         * lib/unictype/pr_iso_control.h: Likewise.
61539         * lib/unictype/pr_join_control.h: Likewise.
61540         * lib/unictype/pr_left_of_pair.h: Likewise.
61541         * lib/unictype/pr_line_separator.h: Likewise.
61542         * lib/unictype/pr_logical_order_exception.h: Likewise.
61543         * lib/unictype/pr_lowercase.h: Likewise.
61544         * lib/unictype/pr_math.h: Likewise.
61545         * lib/unictype/pr_non_break.h: Likewise.
61546         * lib/unictype/pr_not_a_character.h: Likewise.
61547         * lib/unictype/pr_numeric.h: Likewise.
61548         * lib/unictype/pr_other_alphabetic.h: Likewise.
61549         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61550         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61551         * lib/unictype/pr_other_id_continue.h: Likewise.
61552         * lib/unictype/pr_other_id_start.h: Likewise.
61553         * lib/unictype/pr_other_lowercase.h: Likewise.
61554         * lib/unictype/pr_other_math.h: Likewise.
61555         * lib/unictype/pr_other_uppercase.h: Likewise.
61556         * lib/unictype/pr_paired_punctuation.h: Likewise.
61557         * lib/unictype/pr_paragraph_separator.h: Likewise.
61558         * lib/unictype/pr_pattern_syntax.h: Likewise.
61559         * lib/unictype/pr_pattern_white_space.h: Likewise.
61560         * lib/unictype/pr_private_use.h: Likewise.
61561         * lib/unictype/pr_punctuation.h: Likewise.
61562         * lib/unictype/pr_quotation_mark.h: Likewise.
61563         * lib/unictype/pr_radical.h: Likewise.
61564         * lib/unictype/pr_sentence_terminal.h: Likewise.
61565         * lib/unictype/pr_soft_dotted.h: Likewise.
61566         * lib/unictype/pr_space.h: Likewise.
61567         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61568         * lib/unictype/pr_titlecase.h: Likewise.
61569         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61570         * lib/unictype/pr_unified_ideograph.h: Likewise.
61571         * lib/unictype/pr_uppercase.h: Likewise.
61572         * lib/unictype/pr_variation_selector.h: Likewise.
61573         * lib/unictype/pr_white_space.h: Likewise.
61574         * lib/unictype/pr_xid_continue.h: Likewise.
61575         * lib/unictype/pr_xid_start.h: Likewise.
61576         * lib/unictype/pr_zero_width.h: Likewise.
61577         * lib/unictype/scripts.h: Likewise.
61578         * lib/unictype/scripts_byname.gperf: Likewise.
61579         * lib/unictype/sy_c_ident.h: Likewise.
61580         * lib/unictype/sy_c_whitespace.h: Likewise.
61581         * lib/unictype/sy_java_ident.h: Likewise.
61582         * lib/unictype/sy_java_whitespace.h: Likewise.
61583
61584         * lib/unictype/Makefile: New file.
61585         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
61586         glibc.
61587         * lib/unictype/3level.h: New file, copied from glibc.
61588         * lib/unictype/3levelbit.h: New file.
61589
61590 2007-11-11  Bruno Haible  <bruno@clisp.org>
61591
61592         * modules/gperf: New file.
61593         * modules/iconv_open (Depends-on): Add it.
61594         (Makefile.am): Remove the GPERF definition.
61595
61596 2007-11-11  Bruno Haible  <bruno@clisp.org>
61597
61598         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
61599         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
61600
61601 2007-11-11  Bruno Haible  <bruno@clisp.org>
61602
61603         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
61604         (usage): Remove function.
61605
61606 2007-11-11  Bruno Haible  <bruno@clisp.org>
61607
61608         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
61609         gl_FUNC_CEILF_LIBS.
61610         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
61611         gl_FUNC_CEIL_LIBS.
61612         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
61613         gl_FUNC_CEILL_LIBS.
61614         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
61615         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
61616         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
61617
61618 2007-11-11  Bruno Haible  <bruno@clisp.org>
61619
61620         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
61621         roundf were declared but do not exist on functions.
61622         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
61623         roundl were declared but do not exist on functions.
61624         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
61625         HAVE_FLOORL_AND_CEILL, respectively.
61626         Needed for Sun C on Solaris 10.
61627
61628 2007-11-11  Bruno Haible  <bruno@clisp.org>
61629
61630         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
61631         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
61632         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
61633         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
61634         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
61635         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
61636         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
61637         HAVE_DECL_ROUNDF.
61638         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
61639         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
61640         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
61641         of HAVE_DECL_ROUND*.
61642         * modules/math (Makefile.am): Update.
61643
61644 2007-11-10  Bruno Haible  <bruno@clisp.org>
61645
61646         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
61647         ptrdiff_t as m4/intl.m4.
61648
61649 2007-11-10  Jim Meyering  <meyering@redhat.com>
61650
61651         Avoid link failure for the argmatch test.
61652         * tests/test-argmatch.c (usage): Define function to avoid a link
61653         failure: argmatch_die requires a usage function.
61654
61655 2007-11-09  Bruno Haible  <bruno@clisp.org>
61656
61657         * doc/functions/snprintf.texi: Mention BeOS deficiency.
61658         * doc/functions/vsnprintf.texi: Likewise.
61659         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
61660         with a size argument < 2.
61661
61662 2007-11-09  Bruno Haible  <bruno@clisp.org>
61663
61664         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
61665         buffer. Fixes an inefficiency introduced on 2007-11-03.
61666
61667 2007-11-09  Bruno Haible  <bruno@clisp.org>
61668
61669         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
61670         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
61671
61672 2007-11-08  Jim Meyering  <meyering@redhat.com>
61673
61674         Change cache variable name prefix "jm_" to "gl_" everywhere.
61675         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
61676         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
61677         * m4/uptime.m4: s/gl_/jm_/
61678
61679 2007-11-07  Bruno Haible  <bruno@clisp.org>
61680
61681         Update to GNU gettext 0.17.
61682         * m4/intl.m4: Update to GNU gettext 0.17.
61683         * m4/po.m4: Likewise.
61684         * modules/gettext (Files): Remove m4/ulonglong.m4.
61685         (configure.ac): Require gettext infrastructure from version 0.17.
61686
61687 2007-11-06  Bruno Haible  <bruno@clisp.org>
61688
61689         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
61690         symbolic values are not defined in a public header.
61691         * lib/freadable.c (freadable) [QNX]: Likewise.
61692         * lib/freadahead.c (freadahead) [QNX]: Likewise.
61693         * lib/freading.c (freading) [QNX]: Likewise.
61694         * lib/fseterr.c (fseterr) [QNX]: Likewise.
61695         * lib/fwritable.c (fwritable) [QNX]: Likewise.
61696         * lib/fwriting.c (fwriting) [QNX]: Likewise.
61697         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
61698         Reported by Alain Magloire.
61699
61700         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
61701
61702 2007-11-05  Bruno Haible  <bruno@clisp.org>
61703
61704         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
61705         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
61706         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
61707         Reported by Eric Blake.
61708
61709 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61710             Bruno Haible  <bruno@clisp.org>
61711
61712         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
61713         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
61714         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
61715         (malloc): Undefine also before including <stdlib.h>.
61716         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
61717         Needed on OSF/1 4.0.
61718
61719 2007-11-05  Jim Meyering  <meyering@redhat.com>
61720
61721         git-version-gen: sync from coreutils.
61722         * build-aux/git-version-gen: Add comments.
61723         Change the first '-' to '.' in the snapshot version string,
61724         e.g., 6.9-377-08144 -> 6.9.377-08144
61725         Remove first parameter.
61726         Don't declare a version "-dirty" merely because a time
61727         stamp has changed.
61728
61729 2007-11-04  Bruno Haible  <bruno@clisp.org>
61730
61731         * lib/lock.h: Protect all macro definitions containing an 'if'
61732         statement through a "do { ... } while (0)".
61733         * lib/tls.h: Likewise.
61734
61735 2007-11-04  Bruno Haible  <bruno@clisp.org>
61736
61737         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
61738
61739 2007-11-04  Bruno Haible  <bruno@clisp.org>
61740
61741         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
61742         * modules/fprintf-posix (Depends-on): Add nocrash.
61743         * modules/snprintf-posix (Depends-on): Likewise.
61744         * modules/sprintf-posix (Depends-on): Likewise.
61745         * modules/vasnprintf-posix (Depends-on): Likewise.
61746         * modules/vasprintf-posix (Depends-on): Likewise.
61747         * modules/vfprintf-posix (Depends-on): Likewise.
61748         * modules/vsnprintf-posix (Depends-on): Likewise.
61749         * modules/vsprintf-posix (Depends-on): Likewise.
61750         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61751         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61752         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61753         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61754         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61755         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61756         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61757
61758 2007-11-04  Bruno Haible  <bruno@clisp.org>
61759
61760         * modules/nocrash: New file.
61761         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
61762         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
61763
61764 2007-11-04  Bruno Haible  <bruno@clisp.org>
61765
61766         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61767         precision handling.
61768         * tests/test-vasprintf-posix.c (test_function): Likewise.
61769         * tests/test-snprintf-posix.h (test_function): Likewise.
61770         * tests/test-sprintf-posix.h (test_function): Likewise.
61771
61772         Fix *printf behaviour for large precisions on mingw and BeOS.
61773         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61774         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61776         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61777         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61778         gl_PRINTF_PRECISION and test its result. Invoke
61779         gl_PREREQ_VASNPRINTF_PRECISION.
61780         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61781         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61782         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61783         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61784         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61785         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61786         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61787         * doc/functions/fprintf.texi: Update.
61788         * doc/functions/printf.texi: Update.
61789         * doc/functions/snprintf.texi: Update.
61790         * doc/functions/sprintf.texi: Update.
61791         * doc/functions/vfprintf.texi: Update.
61792         * doc/functions/vprintf.texi: Update.
61793         * doc/functions/vsnprintf.texi: Update.
61794         * doc/functions/vsprintf.texi: Update.
61795
61796 2007-11-04  Bruno Haible  <bruno@clisp.org>
61797
61798         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61799
61800 2007-11-04  Bruno Haible  <bruno@clisp.org>
61801
61802         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61803         Reported by Sylvain Beucler <beuc@gnu.org>.
61804
61805 2007-11-03  Bruno Haible  <bruno@clisp.org>
61806
61807         * tests/test-fprintf-posix2.sh: New file.
61808         * tests/test-fprintf-posix2.c: New file.
61809         * modules/fprintf-posix-tests (Files): Add them.
61810         (TESTS): Add test-fprintf-posix2.sh.
61811         (configure.ac): Check for getrlimit and setrlimit.
61812         (check_PROGRAMS): Add test-fprintf-posix2.
61813
61814         * tests/test-printf-posix2.sh: New file.
61815         * tests/test-printf-posix2.c: New file.
61816         * modules/printf-posix-tests (Files): Add them.
61817         (TESTS): Add test-printf-posix2.sh.
61818         (configure.ac): Check for getrlimit and setrlimit.
61819         (check_PROGRAMS): Add test-printf-posix2.
61820
61821         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61822         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61823         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61824         (decode_double): New function, copied from decode_long_double.
61825         (scale10_round_decimal_decoded): New function, extracted from
61826         scale10_round_decimal_long_double.
61827         (scale10_round_decimal_long_double): Use it.
61828         (scale10_round_decimal_double): New function.
61829         (floorlog10): New function.
61830         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61831         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61832         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61833         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61834         gl_PRINTF_ENOMEM and test its result. Invoke
61835         gl_PREREQ_VASNPRINTF_ENOMEM.
61836         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61837         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61838         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61839         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61840         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61841         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61842         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61843         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61844         * modules/snprintf-posix (Depends-on): Likewise.
61845         * modules/sprintf-posix (Depends-on): Likewise.
61846         * modules/vasnprintf-posix (Depends-on): Likewise.
61847         * modules/vasprintf-posix (Depends-on): Likewise.
61848         * modules/vfprintf-posix (Depends-on): Likewise.
61849         * modules/vsnprintf-posix (Depends-on): Likewise.
61850         * modules/vsprintf-posix (Depends-on): Likewise.
61851         * doc/functions/fprintf.texi: Update.
61852         * doc/functions/printf.texi: Update.
61853         * doc/functions/snprintf.texi: Update.
61854         * doc/functions/sprintf.texi: Update.
61855         * doc/functions/vfprintf.texi: Update.
61856         * doc/functions/vprintf.texi: Update.
61857         * doc/functions/vsnprintf.texi: Update.
61858         * doc/functions/vsprintf.texi: Update.
61859
61860 2007-11-03  Bruno Haible  <bruno@clisp.org>
61861
61862         * modules/frexp-nolibm-tests: New file.
61863
61864         * modules/frexp-nolibm: New file.
61865         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61866
61867 2007-11-03  Bruno Haible  <bruno@clisp.org>
61868
61869         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61870         value is C99 compliant.
61871         Needed for OSF/1 5.1.
61872
61873 2007-11-03  Bruno Haible  <bruno@clisp.org>
61874
61875         Fix out-of-memory handling of vasnprintf.
61876         * lib/printf-parse.c: Include <errno.h>.
61877         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61878         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61879         is already set.
61880
61881 2007-11-02  Eric Blake  <ebb9@byu.net>
61882
61883         Fix tests on cygwin.
61884         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61885
61886 2007-11-01  Bruno Haible  <bruno@clisp.org>
61887
61888         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61889         warning.
61890         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61891         needed for POSIX compatibility.
61892
61893 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61894
61895         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61896         for compatibility with GNU.
61897
61898 2007-11-01  Bruno Haible  <bruno@clisp.org>
61899
61900         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61901         (putenv): Renamed from rpl_putenv. Change argument type from
61902         'const char *' to 'char *'.
61903         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61904         of defining putenv in config.h, just set REPLACE_PUTENV.
61905         * modules/putenv (Depends-on): Add stdlib.
61906         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61907         (Include): Use <stdlib.h>.
61908         * lib/stdlib.in.h (putenv): New declaration.
61909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61910         REPLACE_PUTENV.
61911         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61912         REPLACE_PUTENV.
61913         Needed for MacOS X 10.5.0.
61914         Reported by Peter O'Gorman <peter@pogma.com>.
61915
61916 2007-11-01  Jim Meyering  <meyering@redhat.com>
61917
61918         Treat an empty date string exactly like "0".
61919         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61920         if the remaining date string (to be parsed) is empty, use "0".
61921         Reported by Mischa Molhoek and discussed in this thread:
61922         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61923
61924 2007-10-31  Bruno Haible  <bruno@clisp.org>
61925
61926         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61927         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61928         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61929         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61930         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61931         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61932
61933 2007-10-31  Bruno Haible  <bruno@clisp.org>
61934
61935         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61936         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61937         (AC_TYPE_LONG_LONG_INT): Use it.
61938         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
61939         it as well.
61940         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
61941         to m4/longlong.m4.
61942         * modules/stdint (Files): Remove m4/ulonglong.m4.
61943         * modules/strtoull (Files): Use m4/longlong.m4 instead of
61944         m4/ulonglong.m4.
61945         * modules/strtoumax (Files): Likewise.
61946
61947 2007-10-30  Bruno Haible  <bruno@clisp.org>
61948
61949         * modules/xvasprintf-posix: New file.
61950         Suggested by Eric Blake.
61951
61952 2007-10-30  Bruno Haible  <bruno@clisp.org>
61953
61954         * modules/xprintf-posix-tests: New file.
61955         * tests/test-xprintf-posix.sh: New file.
61956         * tests/test-xprintf-posix.c: New file.
61957         * tests/test-xfprintf-posix.c: New file.
61958
61959         * modules/xprintf-posix: New file.
61960
61961 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61962
61963         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
61964         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
61965         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
61966
61967 2007-10-29  Bruno Haible  <bruno@clisp.org>
61968
61969         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
61970         contain the special marker '_cv_'.
61971         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
61972         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
61973         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
61974         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
61975         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
61976         Reported by Ralf Wildenhues.
61977
61978 2007-10-29  Bruno Haible  <bruno@clisp.org>
61979
61980         * gnulib-tool (func_import): When --lgpl is not specified, set
61981         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61982         GPLv3.
61983         Reported by Simon Josefsson.
61984
61985 2007-10-28  Bruno Haible  <bruno@clisp.org>
61986
61987         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61988         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61989         HAVE_DECL_ISFINITE.
61990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61991         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61992         HAVE_DECL_ISFINITE.
61993
61994 2007-10-28  Bruno Haible  <bruno@clisp.org>
61995
61996         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61997         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61998
61999 2007-10-28  Bruno Haible  <bruno@clisp.org>
62000
62001         Fix link errors with Sun C 5.0 on Solaris 10.
62002         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
62003         function is declared but not present in the compiler's libm.
62004         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
62005         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
62006         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
62007         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
62008         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
62009         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
62010         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
62011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62012         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
62013         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
62014         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
62015         HAVE_DECL_FLOORL.
62016
62017 2007-10-28  Bruno Haible  <bruno@clisp.org>
62018
62019         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
62020         gl_FUNC_FLOORL. Cache the result.
62021         (gl_FUNC_FLOORL): Use it.
62022         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
62023         gl_FUNC_CEILL. Cache the result.
62024         (gl_FUNC_CEILL): Use it.
62025
62026         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
62027         gl_FUNC_FLOOR. Cache the result.
62028         (gl_FUNC_FLOOR): Use it.
62029         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
62030         gl_FUNC_CEIL. Cache the result.
62031         (gl_FUNC_CEIL): Use it.
62032
62033         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
62034         gl_FUNC_FLOORF. Cache the result.
62035         (gl_FUNC_FLOORF): Use it.
62036         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
62037         gl_FUNC_CEILF. Cache the result.
62038         (gl_FUNC_CEILF): Use it.
62039
62040 2007-10-28  Bruno Haible  <bruno@clisp.org>
62041
62042         * gnulib-tool: Allow specifying the LGPL version number through
62043         --lgpl=2 or --lgpl=3.
62044         (func_usage): Document --lgpl with argument.
62045         Handle --lgpl=... arguments.
62046         (func_import): Recognize also gl_LGPL calls with an argument. When
62047         --lgpl=2 is used and the module's license is just LGPL, report an
62048         error. Set sed_transform_lib_file according to the lgpl variable. In
62049         the generated files, use --lgpl or gl_LGPL invocations with argument,
62050         if necessary.
62051         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
62052         an LGPv2+ license.
62053         * doc/gnulib-tool.texi (Modified imports): Update explanation of
62054         gl_LGPL macro.
62055
62056 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62057             Bruno Haible  <bruno@clisp.org>
62058
62059         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
62060         (u16_uctomb_aux): Likewise.
62061         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
62062         !HAVE_INLINE.
62063         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
62064
62065 2007-10-28  Bruno Haible  <bruno@clisp.org>
62066
62067         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
62068         Invoke AM_GETTEXT_OPTION if it exists.
62069         * modules/vasprintf: Likewise.
62070         * modules/verror: Likewise.
62071         * modules/xprintf: Likewise.
62072         * modules/xvasprintf: Likewise.
62073
62074 2007-10-27  Ben Pfaff  <blp@gnu.org>
62075
62076         * lib/math.in.h: Define isfinite macro and prototypes for
62077         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
62078         implementations.
62079         * m4/math_h.m4: New substitutions for isfinite module.
62080         * lib/isfinite.c: New file.
62081         * m4/isfinite.m4: New file.
62082         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
62083         * modules/isfinite: New file.
62084         * modules/isfinite-tests: New file.
62085         * tests/tests-isfinite.c: New file.
62086         * doc/functions/isfinite.texi: Mention isfinite module.
62087         * MODULES.html.sh: Mention new module.
62088
62089 2007-10-27  Ben Pfaff  <blp@gnu.org>
62090
62091         Ralf Wildenhues reported that Tru64 4.0D declares the round
62092         functions but does not have definitions.
62093         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
62094         cannot be found in any library, set the output variable to
62095         "missing" instead of "".
62096         * m4/round.m4: Also use our substitute if we cannot find round in
62097         any library, even if it is declared.
62098         * m4/roundf.m4: Likewise for roundf.
62099         * m4/roundl.m4: Likewise for roundl.
62100         * lib/math.in.h: Undefine roundf, round, roundl before defining
62101         their replacements, to allow for hypothetical systems where these
62102         may be defined as macros but not available in libraries.
62103
62104 2007-10-27  Bruno Haible  <bruno@clisp.org>
62105
62106         * doc/gnulib.texi: Invoke @firstparagraphindent.
62107         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
62108         changes in gnulib.
62109         (Source changes): New section.
62110
62111 2007-10-26  Bruno Haible  <bruno@clisp.org>
62112
62113         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
62114         borrowed from autoconf.
62115
62116 2007-10-26  Bruno Haible  <bruno@clisp.org>
62117
62118         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
62119         strerror returned the empty string. Needed on HP-UX 11.00.
62120
62121 2007-10-24  Micah Cowan  <micah@cowan.name>
62122
62123         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
62124         * build-aux/bootstrap: Remove support for now-unnecessary option,
62125         --cvs-user, and envvars CVS_USER, CVS_RSH.
62126
62127 2007-10-24  Jim Meyering  <meyering@redhat.com>
62128
62129         Avoid diagnostics from sha1sum when there is no cached checksum.
62130         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
62131         if the po.s1 file hasn't been created yet.
62132
62133         * build-aux/bootstrap: Sync from coreutils:
62134         2007-10-24  Jim Meyering  <meyering@redhat.com>
62135         Get gnulib from the git repository, not from an obsolete cvs one.
62136         * build-aux/bootstrap: Suggestion from Micah Cowan.
62137         2007-10-04  Jim Meyering  <jim@meyering.net>
62138         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
62139         (update_po_files): Work also when there are no .po files in po/.
62140
62141 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62142
62143         * README: Append ".git" to git and cg examples.
62144         Problem reported by Benoit Sigoure.
62145
62146 2007-10-23  Micah Cowan  <micah@cowan.name>
62147
62148         * users.txt: Add wget.
62149
62150 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62151
62152         Fix linking of some unistdio tests on FreeBSD.
62153         * modules/unistdio/u16-vsnprintf-tests
62154         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
62155         * modules/unistdio/u16-vsprintf-tests
62156         (test_u16_vsnprintf1_LDADD): Likewise.
62157         * modules/unistdio/u32-vsnprintf-tests
62158         (test_u32_vsnprintf1_LDADD): Likewise.
62159         * modules/unistdio/u32-vsprintf-tests
62160         (test_u32_vsprintf1_LDADD): Likewise.
62161         * modules/unistdio/u8-vsnprintf-tests
62162         (test_u8_vsnprintf1_LDADD): Likewise.
62163         * modules/unistdio/u8-vsprintf-tests
62164         (test_u8_vsprintf1_LDADD): Likewise.
62165         * modules/unistdio/ulc-vsnprintf-tests
62166         (test_ulc_vsnprintf1_LDADD): Likewise.
62167         * modules/unistdio/ulc-vsprintf-tests
62168         (test_ulc_vsprintf1_LDADD): Likewise.
62169
62170         Fix linking of some uniconv tests on FreeBSD.
62171         * modules/uniconv/u16-conv-from-enc-tests
62172         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
62173         * modules/uniconv/u16-conv-to-enc-tests
62174         (test_u16_conv_to_enc_LDADD): Likewise.
62175         * modules/uniconv/u16-strconv-from-enc-tests
62176         (test_u16_strconv_from_enc_LDADD): Likewise.
62177         * modules/uniconv/u16-strconv-to-enc-tests
62178         (test_u16_strconv_to_enc_LDADD): Likewise.
62179         * modules/uniconv/u32-conv-from-enc-tests
62180         (test_u32_conv_from_enc_LDADD): Likewise.
62181         * modules/uniconv/u32-conv-to-enc-tests
62182         (test_u32_conv_to_enc_LDADD): Likewise.
62183         * modules/uniconv/u32-strconv-from-enc-tests
62184         (test_u32_strconv_from_enc_LDADD): Likewise.
62185         * modules/uniconv/u32-strconv-to-enc-tests
62186         (test_u32_strconv_to_enc_LDADD): Likewise.
62187         * modules/uniconv/u8-conv-from-enc-tests
62188         (test_u8_conv_from_enc_LDADD): Likewise.
62189         * modules/uniconv/u8-conv-to-enc-tests
62190         (test_u8_conv_to_enc_LDADD): Likewise.
62191         * modules/uniconv/u8-strconv-from-enc-tests
62192         (test_u8_strconv_from_enc_LDADD): Likewise.
62193         * modules/uniconv/u8-strconv-to-enc-tests
62194         (test_u8_strconv_to_enc_LDADD): Likewise.
62195
62196 2007-10-22  Bruno Haible  <bruno@clisp.org>
62197
62198         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
62199         size.
62200
62201 2007-10-22  Eric Blake  <ebb9@byu.net>
62202
62203         Tweak x*printf documentation.
62204         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
62205         variable name and comments.
62206         Suggested by Bruno Haible.
62207
62208 2007-10-22  Bruno Haible  <bruno@clisp.org>
62209
62210         * lib/acl.c (copy_acl): Fix file name in comment.
62211
62212 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62213
62214         Fix Tru64 problem with stdbool.h.
62215         * lib/stdbool.in.h (false, true):
62216         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
62217         Don't declare as an enum in this situation; it runs afoul of Tru64.
62218         Problem reported by Steven M. Schweda in
62219         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
62220
62221 2007-10-22  Eric Blake  <ebb9@byu.net>
62222
62223         Also wrap vf?printf.
62224         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
62225         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
62226         (xvprintf, xvfprintf): New functions.
62227
62228 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62229
62230         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
62231         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
62232
62233         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
62234         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
62235
62236 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62237
62238         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
62239         by Bruno Haible.
62240
62241 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62242
62243         * lib/getloadavg.c
62244         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
62245         Undef `sys' after including sys/table.h, for Tru64 4.0D.
62246
62247         * tests/test-i-ring.c: Work for C89.
62248
62249 2007-10-22  Bruno Haible  <bruno@clisp.org>
62250
62251         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
62252         -1u, in preprocessor expression, so that we don't test for the bug
62253         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
62254         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
62255
62256 2007-10-22  Eric Blake  <ebb9@byu.net>
62257
62258         * tests/test-yesno.sh: Silence stderr during test.
62259
62260 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62261
62262         * modules/crypto/gc-camellia: New file.
62263
62264         * m4/gc-camellia.m4: New file.
62265
62266         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
62267
62268         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
62269
62270 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62271
62272         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
62273         --help to stdout.  Reported by sms@antinode.org (Steven
62274         M. Schweda).
62275
62276 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62277
62278         * users.txt: Fix link to libksba.
62279
62280 2007-10-21  Ben Pfaff  <blp@gnu.org>
62281
62282         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
62283         round.c roundf implementation that depends on floorf and ceilf to
62284         be tested unconditionally.
62285
62286 2007-10-21  Ben Pfaff  <blp@gnu.org>
62287
62288         * m4/check-libm-func.m4: Removed.
62289         * m4/check-math-lib.m4: New file.
62290         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
62291         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
62292         definition and lack of AC_LIBOBJ([roundf]).
62293         * m4/roundl.m4: Ditto, and similarly for roundl.
62294         * modules/round: Reference new m4 file.
62295         * modules/roundf: Ditto.
62296         * modules/roundl: Ditto.
62297         * tests/test-round2.c (main): Use ROUND instead of round.
62298         Bug report from Bruno Haible.
62299
62300 2007-10-21  Bruno Haible  <bruno@clisp.org>
62301
62302         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
62303         context.
62304
62305 2007-10-21  Bruno Haible  <bruno@clisp.org>
62306
62307         * tests/test-wcwidth.c (main): Allow negative result for some control
62308         characters.
62309
62310         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
62311         Needed on OSF/1 5.1.
62312
62313 2007-10-21  Bruno Haible  <bruno@clisp.org>
62314
62315         * tests/test-floorf1.c: Include isnanf.h.
62316         (main): Use isnanf() instead of isnan().
62317         * tests/test-ceilf1.c: Include isnanf.h.
62318         (main): Use isnanf() instead of isnan().
62319         * tests/test-truncf1.c: Include isnanf.h.
62320         (main): Use isnanf() instead of isnan().
62321         * tests/test-roundf1.c: Include isnanf.h.
62322         (main): Use isnanf() instead of isnan().
62323
62324 2007-10-21  Eric Blake  <ebb9@byu.net>
62325
62326         * users.txt: Update URL for m4.
62327
62328 2007-10-21  Bruno Haible  <bruno@clisp.org>
62329
62330         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
62331
62332 2007-10-21  Bruno Haible  <bruno@clisp.org>
62333
62334         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
62335         Git's management files if the CVS files are not present.
62336
62337 2007-10-20  Bruno Haible  <bruno@clisp.org>
62338
62339         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
62340         gcc-3.4.x.
62341
62342 2007-10-20  Ben Pfaff  <blp@gnu.org>
62343
62344         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62345         implementations.
62346         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62347         * lib/round.c: New file.
62348         * lib/roundf.c: New file.
62349         * lib/roundl.c: New file.
62350         * m4/round.m4: New file.
62351         * m4/roundf.m4: New file.
62352         * m4/roundl.m4: New file.
62353         * m4/check-libm-func-m4: New file.
62354         * modules/math: Replace round, roundf, roundl related @VARS@ in
62355         math.in.h.
62356         * modules/round: New file.
62357         * modules/round-tests: New file.
62358         * modules/roundf: New file.
62359         * modules/roundf-tests: New file.
62360         * modules/roundl: New file.
62361         * modules/roundl-tests: New file.
62362         * tests/test-round1.c: New file.
62363         * tests/test-round2.c: New file.
62364         * tests/test-roundf1.c: New file.
62365         * tests/test-roundf2.c: New file.
62366         * tests/test-roundl.c: New file.
62367         * doc/functions/round.texi: Mention round module.
62368         * doc/functions/roundf.texi: Mention roundf module.
62369         * doc/functions/roundl.texi: Mention roundl module.
62370         * MODULES.html.sh: Mention new modules.
62371         Thanks to Bruno Haible for suggestions.
62372
62373 2007-10-20  Jim Meyering  <meyering@redhat.com>
62374
62375         * lib/xprintf.c: Include <config.h> unconditionally.
62376
62377         Change xprintf's license to GPL.
62378         * modules/xprintf (License): s/LGPL/GPL/, since this module
62379         depends on modules (exit and exitfail) which are GPL.
62380         Suggestion from Bruno Haible.
62381
62382         xprintf fixes.
62383         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62384         Use a clearer diagnostic.
62385         Patch from Bruno Haible.
62386
62387 2007-10-20  Bruno Haible  <bruno@clisp.org>
62388
62389         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62390         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62391         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62392
62393 2007-10-20  Bruno Haible  <bruno@clisp.org>
62394
62395         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62396         precision in the comparison result > x - 1 or similar.
62397         * tests/test-ceilf2.c (correct_result_p): Likewise.
62398         * tests/test-truncf2.c (correct_result_p): Likewise.
62399         * tests/test-trunc2.c (correct_result_p): Likewise.
62400         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62401
62402 2007-10-20  Bruno Haible  <bruno@clisp.org>
62403
62404         * modules/ceil: New file.
62405         * m4/ceil.m4: New file.
62406         * doc/functions/ceil.texi: Mention the 'ceil' module.
62407
62408 2007-10-20  Bruno Haible  <bruno@clisp.org>
62409
62410         * modules/floor: New file.
62411         * m4/floor.m4: New file.
62412         * doc/functions/floor.texi: Mention the 'floor' module.
62413
62414 2007-10-20  Bruno Haible  <bruno@clisp.org>
62415
62416         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
62417         of %a.
62418         * modules/floorf-tests (Depends-on): Likewise.
62419         * modules/truncf-tests (Depends-on): Likewise.
62420         * modules/trunc-tests (Depends-on): Likewise.
62421         Reported by Ben Pfaff.
62422
62423 2007-10-19  Jim Meyering  <meyering@redhat.com>
62424
62425         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
62426         Don't bother testing specific errno values.  Just test ferror.
62427
62428         New module: xprintf
62429         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
62430
62431 2007-10-19  Bruno Haible  <bruno@clisp.org>
62432
62433         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
62434         syntax.
62435         * modules/javaexec (Makefile.am): Likewise.
62436         * modules/relocatable-prog (Makefile.am): Likewise.
62437         Suggested by Jim Meyering.
62438
62439 2007-10-18  Bruno Haible  <bruno@clisp.org>
62440
62441         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
62442         Reported by Jim Meyering.
62443
62444 2007-10-18  Eric Blake  <ebb9@byu.net>
62445
62446         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
62447
62448 2007-10-18  Bruno Haible  <bruno@clisp.org>
62449
62450         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
62451         the format string into writable memory. Needed in Fortify conditions.
62452
62453 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
62454             Bruno Haible  <bruno@clisp.org>
62455
62456         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
62457         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
62458         * modules/trim (Depends-on): Add mbchar.
62459         (configure.ac): Add gl_FUNC_MBRTOWC.
62460         (Makefile.am): Augment lib_SOURCES.
62461
62462 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62463
62464         Modify glob.c to use fstatat and dirfd, to simplify it.
62465         Suggested by Eric Blake.
62466         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
62467         Don't include <stdbool.h>; not used.
62468         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
62469         (link_exists_p): Simplify implementation, since we can now assume
62470         dirfd and fstatat.
62471         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
62472
62473 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62474
62475         * gnulib-tool (func_get_dependencies): Fix sed script to
62476         match only tests.
62477
62478 2007-10-17  Bruno Haible  <bruno@clisp.org>
62479
62480         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
62481         allow locale names without encoding suffix.
62482         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62483         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62484
62485 2007-10-16  Bruno Haible  <bruno@clisp.org>
62486
62487         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
62488         * lib/getgroups.c (getgroups): Likewise.
62489         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
62490
62491 2007-10-16  Bruno Haible  <bruno@clisp.org>
62492
62493         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
62494         * modules/malloc-posix (License): Likewise.
62495         * modules/realloc-posix (License): Likewise.
62496         * modules/calloc-posix (License): Likewise.
62497         * modules/intprops (License): Change from GPL to LGPL, with
62498         Paul Eggert's approval.
62499
62500 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62501
62502         Merge glibc changes into lib/glob.c.
62503
62504         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
62505         2007-10-15 04:59:03 UTC.  Here are the changes:
62506
62507         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
62508
62509         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
62510
62511         * lib/glob.c: Add some branch prediction throughout.
62512
62513         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62514
62515         [BZ #5103]
62516         * lib/glob.c (glob): Recognize patterns starting \/.
62517
62518         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
62519
62520         [BZ #3996]
62521         * lib/glob.c (attribute_hidden): Define if not defined.
62522         (glob): Unescape dirname, filename or username when needed and not
62523         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
62524         is NULL.  Handle unescaped [ in pattern without closing ].
62525         Don't pass GLOB_CHECK down to recursive glob for directories.
62526         (__glob_pattern_type): New function.
62527         (__glob_pattern_p): Implement using __glob_pattern_type.
62528         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
62529         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
62530         Remove unreachable code.
62531
62532         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
62533
62534         * lib/glob.c (glob_in_dir): Add some comments and asserts to
62535         explain why there are no leaks.
62536
62537         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
62538
62539         [BZ #3253]
62540         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
62541         time, rather allocate increasingly bigger arrays of pointers, if
62542         possible with alloca, if too large with malloc.
62543
62544 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62545
62546         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
62547         Problem reported by H.Merijn Brand in
62548         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
62549         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
62550         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62551
62552 2007-10-15  Bruno Haible  <bruno@clisp.org>
62553
62554         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
62555         with explicit rpl_ prefix.
62556         * lib/fopen.c (fopen): Likewise.
62557         * lib/freopen.c (freopen): Likewise.
62558         * lib/iconv.c (iconv): Likewise.
62559         * lib/iconv_close.c (iconv_close): Likewise.
62560
62561 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62562
62563         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
62564
62565 2007-10-15  Bruno Haible  <bruno@clisp.org>
62566
62567         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
62568         <stddef.h> instead of <stdlib.h> since we only need NULL.
62569         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62570
62571 2007-10-15  Bruno Haible  <bruno@clisp.org>
62572
62573         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
62574         Replace paragraph talking about LIBOBJS.
62575         Reported by Colin Watson <cjwatson@debian.org>.
62576
62577 2007-10-15  Bruno Haible  <bruno@clisp.org>
62578
62579         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
62580         <stdlib.h> before using NULL.
62581
62582 2007-10-15  Simon Josefsson  <simon@josefsson.org>
62583
62584         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
62585         Reported by Albert Chin <china@thewrittenword.com>.
62586
62587 2007-10-14  Bruno Haible  <bruno@clisp.org>
62588
62589         * modules/iconv_open-utf-tests: New file.
62590         * tests/test-iconv-utf.c: New file.
62591
62592         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
62593         * modules/iconv_open-utf: New file.
62594         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
62595         (iconv, iconv_close): New declarations.
62596         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
62597         be defined.
62598         (iconv_open): Add special handling of conversion between UTF-8 and
62599         UTF-{16,32}{BE,LE}.
62600         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
62601         * lib/iconv_close.c: New file.
62602         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
62603         gl_FUNC_ICONV_OPEN.
62604         (gl_FUNC_ICONV_OPEN): Use it.
62605         (gl_FUNC_ICONV_OPEN_UTF): New macro.
62606         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
62607         and REPLACE_ICONV_UTF.
62608         * modules/iconv_open (Depends-on): Add c-strcase.
62609         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
62610         ICONV_CONST.
62611         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
62612
62613 2007-10-13  Albert Chin  <china@thewrittenword.com>
62614             Bruno Haible  <bruno@clisp.org>
62615
62616         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
62617         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
62618
62619 2007-10-13  Bruno Haible  <bruno@clisp.org>
62620
62621         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
62622         defined, use the ISO C99 inline semantics.
62623         * lib/argp.h (ARGP_EI): Likewise.
62624
62625 2007-10-13  Bruno Haible  <bruno@clisp.org>
62626
62627         Handle 'inline' change in gcc 4.3.0.
62628         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
62629         argp_fmtstream_write, argp_fmtstream_set_lmargin,
62630         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
62631         argp_fmtstream_point): Disable 'extern' declaration if the function
62632         definition is going to be provided inline.
62633         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
62634         semantics, not the ISO C99 inline semantics.
62635         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
62636         'extern' declaration if the function definition is going to be provided
62637         inline.
62638         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
62639         the GNU C inline semantics, not the ISO C99 inline semantics. With
62640         GCC 4.2, avoid a warning.
62641
62642 2007-10-13  Bruno Haible  <bruno@clisp.org>
62643
62644         * lib/freading.h (freading): Enable the use of __freading for
62645         glibc >= 2.7.
62646         * lib/freading.c (freading): Likewise.
62647
62648 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62649
62650         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
62651         "warning: C99 inline functions are not supported; using GNU89".
62652
62653 2007-10-12  Bruno Haible  <bruno@clisp.org>
62654
62655         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
62656         of 2.
62657         * tests/test-ceilf2.c: New file.
62658         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
62659
62660         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
62661         * modules/ceilf-tests: Update.
62662
62663 2007-10-12  Bruno Haible  <bruno@clisp.org>
62664
62665         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
62666         of 2.
62667         * tests/test-floorf2.c: New file.
62668         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
62669
62670         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
62671         * modules/floorf-tests: Update.
62672
62673 2007-10-12  Bruno Haible  <bruno@clisp.org>
62674
62675         * tests/test-trunc2.c: New file.
62676         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
62677
62678         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
62679         * modules/trunc-tests: Update.
62680
62681 2007-10-12  Bruno Haible  <bruno@clisp.org>
62682
62683         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
62684         of 2.
62685         * tests/test-truncf2.c: New file.
62686         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
62687
62688         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
62689         * modules/truncf-tests: Update.
62690
62691 2007-10-11  Eric Blake  <ebb9@byu.net>
62692
62693         Don't claim strerror is broken on Interix.
62694         * doc/functions/strerror.texi (strerror): Known broken systems are
62695         now Solaris 8, and not Interix.
62696         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
62697         Interix on cross-compile.
62698         Reported by Martin Koeppe in
62699         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
62700
62701 2007-10-11  Bruno Haible  <bruno@clisp.org>
62702
62703         * modules/i-ring-tests: New file.
62704         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
62705         instead of assert.
62706
62707 2007-10-11  Bruno Haible  <bruno@clisp.org>
62708
62709         * modules/filenamecat-tests: New file.
62710         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
62711         * lib/filenamecat.c: Remove test code.
62712
62713 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62714
62715         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
62716
62717         * lib/strerror.c: Include <string.h> always, to test interface,
62718         and to remove the need for the dummy.
62719         Include intprops.h to compute width instead of doing it ourselves
62720         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
62721         (strerror): Define it to return NULL if there's no system strerror.
62722         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
62723         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
62724         ancient pre-strerror Unix systems well any more.  Saying "unknown
62725         system error" is enough.
62726         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
62727         simpler strerror.c implementation.
62728         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
62729         Simplify the tests to reflect the simpler strerror implementation.
62730         * modules/strerror (Depends-on): Add intprops.
62731
62732 2007-10-09  Eric Blake  <ebb9@byu.net>
62733
62734         Silence test-fpending.
62735         * modules/fpending-tests (Files): Add wrapper script.
62736         * tests/test-fpending.sh: New file.
62737
62738 2007-10-09  Bruno Haible  <bruno@clisp.org>
62739
62740         * MODULES.html.sh (func_module): Don't create a hyperlink for
62741         function names like 'printf_frexp'.
62742         (Misc): Add crc, memxor.
62743         (Characteristics of floating types): New section.
62744         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
62745         isnanf-nolibm, signbit, trunc, truncf, truncl.
62746         (Enhancements for ISO C 99 functions): New subsection Input/output.
62747         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
62748         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
62749         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
62750         (Compatibility checks for POSIX:2001 functions): Add clock-time.
62751         (Enhancements for POSIX:2001 functions): Add chdir-long.
62752         (File system functions): Add areadlink, chdir-safer, read-file.
62753         Remove cycle-check.
62754         (File system as inode set): New section.
62755         (Date and time): Add gethrxtime.
62756         (Multithreading): Add openmp.
62757         (Internationalization functions): Add localename.
62758         (Unicode string functions): Add unistr/u*-mbsnlen.
62759         (Support for maintaining and releasing projects): Add git-version-gen.
62760         (Lone files): Remove directories.
62761
62762 2007-10-08  Ben Pfaff  <blp@gnu.org>
62763
62764         * lib/xmalloca.h: Fix typo in comment.
62765
62766 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62767
62768         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62769         when avoiding problems with integer overflow.  Use a portable test
62770         instead.
62771
62772 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62773
62774         * modules/dummy (License): Change to LGPLv2+.
62775         * modules/float (License): Likewise
62776         * modules/realloc (License): Likewise
62777         * modules/stdlib (License): Likewise
62778
62779 2007-10-07  Bruno Haible  <bruno@clisp.org>
62780
62781         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62782         * floor.c (TWO_MANT_DIG): Likewise.
62783         * ceil.c (TWO_MANT_DIG): Likewise.
62784         Reported by Ben Pfaff.
62785
62786 2007-10-07  Bruno Haible  <bruno@clisp.org>
62787
62788         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62789         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62790         * lib/frexp.c (FUNC): Likewise.
62791         * lib/printf-frexp.h (printf_frexp): Likewise.
62792         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62793         * lib/printf-frexp.c (FUNC): Likewise.
62794         Suggested by Jim Meyering.
62795
62796 2007-10-07  Jim Meyering  <meyering@redhat.com>
62797
62798         Make xnanosleep's integer overflow test more robust.
62799         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62800         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62801
62802 2007-10-07  Bruno Haible  <bruno@clisp.org>
62803
62804         * NEWS: Mention the license change.
62805
62806         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62807         abbreviations in the modules files.
62808
62809         Change copyright notice from GPLv2+ to GPLv3+.
62810         * README: Change copyright notice.
62811         * MODULES.html.sh: Likewise.
62812         * build-aux/bootstrap.conf: Likewise.
62813         * build-aux/config.libpath: Likewise.
62814         * build-aux/csharpcomp.sh.in: Likewise.
62815         * build-aux/csharpexec.sh.in: Likewise.
62816         * build-aux/install-reloc: Likewise.
62817         * build-aux/javacomp.sh.in: Likewise.
62818         * build-aux/javaexec.sh.in: Likewise.
62819         * build-aux/ldd.sh.in: Likewise.
62820         * build-aux/reloc-ldflags: Likewise.
62821         * build-aux/relocatable.sh.in: Likewise.
62822         * build-aux/x-to-1.in: Likewise.
62823         * check-module: Likewise.
62824         * config/srclistvars.sh: Likewise.
62825         * gnulib-tool: Likewise.
62826         * lib/acl-internal.h: Likewise.
62827         * lib/acl.c: Likewise.
62828         * lib/acl.h: Likewise.
62829         * lib/acl_entries.c: Likewise.
62830         * lib/areadlink-with-size.c: Likewise.
62831         * lib/areadlink.c: Likewise.
62832         * lib/areadlink.h: Likewise.
62833         * lib/argmatch.c: Likewise.
62834         * lib/argmatch.h: Likewise.
62835         * lib/argp-ba.c: Likewise.
62836         * lib/argp-eexst.c: Likewise.
62837         * lib/argp-fmtstream.c: Likewise.
62838         * lib/argp-fmtstream.h: Likewise.
62839         * lib/argp-fs-xinl.c: Likewise.
62840         * lib/argp-help.c: Likewise.
62841         * lib/argp-namefrob.h: Likewise.
62842         * lib/argp-parse.c: Likewise.
62843         * lib/argp-pin.c: Likewise.
62844         * lib/argp-pv.c: Likewise.
62845         * lib/argp-pvh.c: Likewise.
62846         * lib/argp-xinl.c: Likewise.
62847         * lib/argp.h: Likewise.
62848         * lib/at-func.c: Likewise.
62849         * lib/atanl.c: Likewise.
62850         * lib/backupfile.c: Likewise.
62851         * lib/backupfile.h: Likewise.
62852         * lib/basename.c: Likewise.
62853         * lib/binary-io.h: Likewise.
62854         * lib/byteswap.in.h: Likewise.
62855         * lib/c-stack.c: Likewise.
62856         * lib/c-stack.h: Likewise.
62857         * lib/c-strcasestr.c: Likewise.
62858         * lib/c-strcasestr.h: Likewise.
62859         * lib/c-strstr.c: Likewise.
62860         * lib/c-strstr.h: Likewise.
62861         * lib/c-strtod.c: Likewise.
62862         * lib/calloc.c: Likewise.
62863         * lib/canon-host.c: Likewise.
62864         * lib/canon-host.h: Likewise.
62865         * lib/canonicalize-lgpl.c: Likewise.
62866         * lib/canonicalize.c: Likewise.
62867         * lib/canonicalize.h: Likewise.
62868         * lib/ceil.c: Likewise.
62869         * lib/ceilf.c: Likewise.
62870         * lib/ceill.c: Likewise.
62871         * lib/chdir-long.c: Likewise.
62872         * lib/chdir-long.h: Likewise.
62873         * lib/chdir-safer.c: Likewise.
62874         * lib/chdir-safer.h: Likewise.
62875         * lib/chown.c: Likewise.
62876         * lib/classpath.c: Likewise.
62877         * lib/classpath.h: Likewise.
62878         * lib/clean-temp.c: Likewise.
62879         * lib/clean-temp.h: Likewise.
62880         * lib/cloexec.c: Likewise.
62881         * lib/close-stream.c: Likewise.
62882         * lib/closein.c: Likewise.
62883         * lib/closein.h: Likewise.
62884         * lib/closeout.c: Likewise.
62885         * lib/closeout.h: Likewise.
62886         * lib/concat-filename.c: Likewise.
62887         * lib/copy-file.c: Likewise.
62888         * lib/copy-file.h: Likewise.
62889         * lib/count-one-bits.h: Likewise.
62890         * lib/crc.c: Likewise.
62891         * lib/crc.h: Likewise.
62892         * lib/creat-safer.c: Likewise.
62893         * lib/csharpcomp.c: Likewise.
62894         * lib/csharpcomp.h: Likewise.
62895         * lib/csharpexec.c: Likewise.
62896         * lib/csharpexec.h: Likewise.
62897         * lib/cycle-check.c: Likewise.
62898         * lib/cycle-check.h: Likewise.
62899         * lib/diacrit.c: Likewise.
62900         * lib/diacrit.h: Likewise.
62901         * lib/diffseq.h: Likewise.
62902         * lib/dirchownmod.c: Likewise.
62903         * lib/dirent.in.h: Likewise.
62904         * lib/dirfd.c: Likewise.
62905         * lib/dirfd.h: Likewise.
62906         * lib/dirname.c: Likewise.
62907         * lib/dirname.h: Likewise.
62908         * lib/dummy.c: Likewise.
62909         * lib/dup-safer.c: Likewise.
62910         * lib/dup2.c: Likewise.
62911         * lib/eealloc.h: Likewise.
62912         * lib/error.c: Likewise.
62913         * lib/error.h: Likewise.
62914         * lib/euidaccess.c: Likewise.
62915         * lib/exclude.c: Likewise.
62916         * lib/exclude.h: Likewise.
62917         * lib/execute.c: Likewise.
62918         * lib/execute.h: Likewise.
62919         * lib/exitfail.c: Likewise.
62920         * lib/exitfail.h: Likewise.
62921         * lib/expl.c: Likewise.
62922         * lib/fatal-signal.c: Likewise.
62923         * lib/fatal-signal.h: Likewise.
62924         * lib/fbufmode.c: Likewise.
62925         * lib/fbufmode.h: Likewise.
62926         * lib/fchdir.c: Likewise.
62927         * lib/fchmodat.c: Likewise.
62928         * lib/fchownat.c: Likewise.
62929         * lib/fcntl--.h: Likewise.
62930         * lib/fcntl-safer.h: Likewise.
62931         * lib/fcntl.in.h: Likewise.
62932         * lib/fd-safer.c: Likewise.
62933         * lib/fflush.c: Likewise.
62934         * lib/file-has-acl.c: Likewise.
62935         * lib/file-set.c: Likewise.
62936         * lib/file-type.c: Likewise.
62937         * lib/file-type.h: Likewise.
62938         * lib/fileblocks.c: Likewise.
62939         * lib/filemode.c: Likewise.
62940         * lib/filemode.h: Likewise.
62941         * lib/filename.h: Likewise.
62942         * lib/filenamecat.c: Likewise.
62943         * lib/filenamecat.h: Likewise.
62944         * lib/findprog.c: Likewise.
62945         * lib/findprog.h: Likewise.
62946         * lib/float.in.h: Likewise.
62947         * lib/floor.c: Likewise.
62948         * lib/floorf.c: Likewise.
62949         * lib/floorl.c: Likewise.
62950         * lib/fopen-safer.c: Likewise.
62951         * lib/fopen.c: Likewise.
62952         * lib/fpending.c: Likewise.
62953         * lib/fpending.h: Likewise.
62954         * lib/fprintf.c: Likewise.
62955         * lib/fprintftime.h: Likewise.
62956         * lib/fpucw.h: Likewise.
62957         * lib/fpurge.c: Likewise.
62958         * lib/fpurge.h: Likewise.
62959         * lib/freadable.c: Likewise.
62960         * lib/freadable.h: Likewise.
62961         * lib/freadahead.c: Likewise.
62962         * lib/freadahead.h: Likewise.
62963         * lib/freading.c: Likewise.
62964         * lib/freading.h: Likewise.
62965         * lib/free.c: Likewise.
62966         * lib/freopen.c: Likewise.
62967         * lib/frexp.c: Likewise.
62968         * lib/frexpl.c: Likewise.
62969         * lib/fseek.c: Likewise.
62970         * lib/fseterr.c: Likewise.
62971         * lib/fseterr.h: Likewise.
62972         * lib/fstatat.c: Likewise.
62973         * lib/fstrcmp.c: Likewise.
62974         * lib/fstrcmp.h: Likewise.
62975         * lib/fsusage.c: Likewise.
62976         * lib/fsusage.h: Likewise.
62977         * lib/ftell.c: Likewise.
62978         * lib/ftello.c: Likewise.
62979         * lib/fts-cycle.c: Likewise.
62980         * lib/fts.c: Likewise.
62981         * lib/fts_.h: Likewise.
62982         * lib/full-read.c: Likewise.
62983         * lib/full-read.h: Likewise.
62984         * lib/full-write.c: Likewise.
62985         * lib/full-write.h: Likewise.
62986         * lib/fwritable.c: Likewise.
62987         * lib/fwritable.h: Likewise.
62988         * lib/fwriteerror.c: Likewise.
62989         * lib/fwriteerror.h: Likewise.
62990         * lib/fwriting.c: Likewise.
62991         * lib/fwriting.h: Likewise.
62992         * lib/gcd.c: Likewise.
62993         * lib/gcd.h: Likewise.
62994         * lib/getcwd.c: Likewise.
62995         * lib/getdate.h: Likewise.
62996         * lib/getdate.y: Likewise.
62997         * lib/getdomainname.c: Likewise.
62998         * lib/getdomainname.h: Likewise.
62999         * lib/getgroups.c: Likewise.
63000         * lib/gethostname.c: Likewise.
63001         * lib/gethrxtime.c: Likewise.
63002         * lib/gethrxtime.h: Likewise.
63003         * lib/getloadavg.c: Likewise.
63004         * lib/getndelim2.c: Likewise.
63005         * lib/getndelim2.h: Likewise.
63006         * lib/getnline.c: Likewise.
63007         * lib/getnline.h: Likewise.
63008         * lib/getopt.c: Likewise.
63009         * lib/getopt.in.h: Likewise.
63010         * lib/getopt1.c: Likewise.
63011         * lib/getopt_int.h: Likewise.
63012         * lib/getpagesize.h: Likewise.
63013         * lib/getsubopt.c: Likewise.
63014         * lib/gettime.c: Likewise.
63015         * lib/getugroups.c: Likewise.
63016         * lib/getugroups.h: Likewise.
63017         * lib/getusershell.c: Likewise.
63018         * lib/gl_anyavltree_list1.h: Likewise.
63019         * lib/gl_anyavltree_list2.h: Likewise.
63020         * lib/gl_anyhash_list1.h: Likewise.
63021         * lib/gl_anyhash_list2.h: Likewise.
63022         * lib/gl_anylinked_list1.h: Likewise.
63023         * lib/gl_anylinked_list2.h: Likewise.
63024         * lib/gl_anyrbtree_list1.h: Likewise.
63025         * lib/gl_anyrbtree_list2.h: Likewise.
63026         * lib/gl_anytree_list1.h: Likewise.
63027         * lib/gl_anytree_list2.h: Likewise.
63028         * lib/gl_anytree_oset.h: Likewise.
63029         * lib/gl_anytreehash_list1.h: Likewise.
63030         * lib/gl_anytreehash_list2.h: Likewise.
63031         * lib/gl_array_list.c: Likewise.
63032         * lib/gl_array_list.h: Likewise.
63033         * lib/gl_array_oset.c: Likewise.
63034         * lib/gl_array_oset.h: Likewise.
63035         * lib/gl_avltree_list.c: Likewise.
63036         * lib/gl_avltree_list.h: Likewise.
63037         * lib/gl_avltree_oset.c: Likewise.
63038         * lib/gl_avltree_oset.h: Likewise.
63039         * lib/gl_avltreehash_list.c: Likewise.
63040         * lib/gl_avltreehash_list.h: Likewise.
63041         * lib/gl_carray_list.c: Likewise.
63042         * lib/gl_carray_list.h: Likewise.
63043         * lib/gl_linked_list.c: Likewise.
63044         * lib/gl_linked_list.h: Likewise.
63045         * lib/gl_linkedhash_list.c: Likewise.
63046         * lib/gl_linkedhash_list.h: Likewise.
63047         * lib/gl_list.c: Likewise.
63048         * lib/gl_list.h: Likewise.
63049         * lib/gl_oset.c: Likewise.
63050         * lib/gl_oset.h: Likewise.
63051         * lib/gl_rbtree_list.c: Likewise.
63052         * lib/gl_rbtree_list.h: Likewise.
63053         * lib/gl_rbtree_oset.c: Likewise.
63054         * lib/gl_rbtree_oset.h: Likewise.
63055         * lib/gl_rbtreehash_list.c: Likewise.
63056         * lib/gl_rbtreehash_list.h: Likewise.
63057         * lib/gl_sublist.c: Likewise.
63058         * lib/gl_sublist.h: Likewise.
63059         * lib/group-member.c: Likewise.
63060         * lib/group-member.h: Likewise.
63061         * lib/hard-locale.c: Likewise.
63062         * lib/hard-locale.h: Likewise.
63063         * lib/hash-pjw.c: Likewise.
63064         * lib/hash-pjw.h: Likewise.
63065         * lib/hash-triple.c: Likewise.
63066         * lib/hash.c: Likewise.
63067         * lib/hash.h: Likewise.
63068         * lib/human.c: Likewise.
63069         * lib/human.h: Likewise.
63070         * lib/i-ring.c: Likewise.
63071         * lib/i-ring.h: Likewise.
63072         * lib/idcache.c: Likewise.
63073         * lib/imaxabs.c: Likewise.
63074         * lib/imaxdiv.c: Likewise.
63075         * lib/inet_pton.c: Likewise.
63076         * lib/inet_pton.h: Likewise.
63077         * lib/intprops.h: Likewise.
63078         * lib/inttostr.c: Likewise.
63079         * lib/inttostr.h: Likewise.
63080         * lib/inttypes.in.h: Likewise.
63081         * lib/isapipe.c: Likewise.
63082         * lib/isdir.c: Likewise.
63083         * lib/isnan.c: Likewise.
63084         * lib/isnan.h: Likewise.
63085         * lib/isnanf.c: Likewise.
63086         * lib/isnanf.h: Likewise.
63087         * lib/isnanl-nolibm.h: Likewise.
63088         * lib/isnanl.c: Likewise.
63089         * lib/isnanl.h: Likewise.
63090         * lib/javacomp.c: Likewise.
63091         * lib/javacomp.h: Likewise.
63092         * lib/javaexec.c: Likewise.
63093         * lib/javaexec.h: Likewise.
63094         * lib/javaversion.c: Likewise.
63095         * lib/javaversion.h: Likewise.
63096         * lib/javaversion.java: Likewise.
63097         * lib/lbrkprop.h: Likewise.
63098         * lib/lchmod.h: Likewise.
63099         * lib/lchown.c: Likewise.
63100         * lib/ldexpl.c: Likewise.
63101         * lib/linebreak.c: Likewise.
63102         * lib/linebreak.h: Likewise.
63103         * lib/linebuffer.c: Likewise.
63104         * lib/linebuffer.h: Likewise.
63105         * lib/locale.in.h: Likewise.
63106         * lib/logl.c: Likewise.
63107         * lib/long-options.c: Likewise.
63108         * lib/long-options.h: Likewise.
63109         * lib/lstat.c: Likewise.
63110         * lib/lstat.h: Likewise.
63111         * lib/math.in.h: Likewise.
63112         * lib/mbchar.c: Likewise.
63113         * lib/mbchar.h: Likewise.
63114         * lib/mbfile.h: Likewise.
63115         * lib/mbiter.h: Likewise.
63116         * lib/mbscasecmp.c: Likewise.
63117         * lib/mbscasestr.c: Likewise.
63118         * lib/mbschr.c: Likewise.
63119         * lib/mbscspn.c: Likewise.
63120         * lib/mbslen.c: Likewise.
63121         * lib/mbsncasecmp.c: Likewise.
63122         * lib/mbsnlen.c: Likewise.
63123         * lib/mbspbrk.c: Likewise.
63124         * lib/mbspcasecmp.c: Likewise.
63125         * lib/mbsrchr.c: Likewise.
63126         * lib/mbssep.c: Likewise.
63127         * lib/mbsspn.c: Likewise.
63128         * lib/mbsstr.c: Likewise.
63129         * lib/mbstok_r.c: Likewise.
63130         * lib/mbswidth.c: Likewise.
63131         * lib/mbswidth.h: Likewise.
63132         * lib/mbuiter.h: Likewise.
63133         * lib/memcasecmp.c: Likewise.
63134         * lib/memcasecmp.h: Likewise.
63135         * lib/memchr.c: Likewise.
63136         * lib/memcmp.c: Likewise.
63137         * lib/memcoll.c: Likewise.
63138         * lib/memcoll.h: Likewise.
63139         * lib/memcpy.c: Likewise.
63140         * lib/memrchr.c: Likewise.
63141         * lib/mkancesdirs.c: Likewise.
63142         * lib/mkdir-p.c: Likewise.
63143         * lib/mkdir-p.h: Likewise.
63144         * lib/mkdir.c: Likewise.
63145         * lib/mkdirat.c: Likewise.
63146         * lib/mkdtemp.c: Likewise.
63147         * lib/mkstemp-safer.c: Likewise.
63148         * lib/mkstemp.c: Likewise.
63149         * lib/modechange.c: Likewise.
63150         * lib/modechange.h: Likewise.
63151         * lib/mountlist.c: Likewise.
63152         * lib/mountlist.h: Likewise.
63153         * lib/mpsort.c: Likewise.
63154         * lib/nanosleep.c: Likewise.
63155         * lib/obstack.c: Likewise.
63156         * lib/obstack.h: Likewise.
63157         * lib/open-safer.c: Likewise.
63158         * lib/open.c: Likewise.
63159         * lib/openat-die.c: Likewise.
63160         * lib/openat-priv.h: Likewise.
63161         * lib/openat-proc.c: Likewise.
63162         * lib/openat.c: Likewise.
63163         * lib/openat.h: Likewise.
63164         * lib/pagealign_alloc.c: Likewise.
63165         * lib/pagealign_alloc.h: Likewise.
63166         * lib/physmem.c: Likewise.
63167         * lib/physmem.h: Likewise.
63168         * lib/pipe-safer.c: Likewise.
63169         * lib/pipe.c: Likewise.
63170         * lib/pipe.h: Likewise.
63171         * lib/posixtm.c: Likewise.
63172         * lib/posixtm.h: Likewise.
63173         * lib/posixver.c: Likewise.
63174         * lib/printf-frexp.c: Likewise.
63175         * lib/printf-frexp.h: Likewise.
63176         * lib/printf-frexpl.c: Likewise.
63177         * lib/printf-frexpl.h: Likewise.
63178         * lib/printf.c: Likewise.
63179         * lib/progname.c: Likewise.
63180         * lib/progname.h: Likewise.
63181         * lib/progreloc.c: Likewise.
63182         * lib/putenv.c: Likewise.
63183         * lib/quote.c: Likewise.
63184         * lib/quote.h: Likewise.
63185         * lib/quotearg.c: Likewise.
63186         * lib/quotearg.h: Likewise.
63187         * lib/raise.c: Likewise.
63188         * lib/readline.c: Likewise.
63189         * lib/readline.h: Likewise.
63190         * lib/readlink.c: Likewise.
63191         * lib/readtokens.c: Likewise.
63192         * lib/readtokens.h: Likewise.
63193         * lib/readtokens0.c: Likewise.
63194         * lib/readtokens0.h: Likewise.
63195         * lib/readutmp.c: Likewise.
63196         * lib/readutmp.h: Likewise.
63197         * lib/realloc.c: Likewise.
63198         * lib/relocwrapper.c: Likewise.
63199         * lib/rename-dest-slash.c: Likewise.
63200         * lib/rename.c: Likewise.
63201         * lib/rmdir.c: Likewise.
63202         * lib/rpmatch.c: Likewise.
63203         * lib/safe-read.c: Likewise.
63204         * lib/safe-read.h: Likewise.
63205         * lib/safe-write.c: Likewise.
63206         * lib/safe-write.h: Likewise.
63207         * lib/same-inode.h: Likewise.
63208         * lib/same.c: Likewise.
63209         * lib/same.h: Likewise.
63210         * lib/save-cwd.c: Likewise.
63211         * lib/save-cwd.h: Likewise.
63212         * lib/savedir.c: Likewise.
63213         * lib/savedir.h: Likewise.
63214         * lib/savewd.c: Likewise.
63215         * lib/savewd.h: Likewise.
63216         * lib/search.in.h: Likewise.
63217         * lib/setenv.c: Likewise.
63218         * lib/setenv.h: Likewise.
63219         * lib/settime.c: Likewise.
63220         * lib/sh-quote.c: Likewise.
63221         * lib/sh-quote.h: Likewise.
63222         * lib/sig2str.c: Likewise.
63223         * lib/sig2str.h: Likewise.
63224         * lib/signal.in.h: Likewise.
63225         * lib/signbitd.c: Likewise.
63226         * lib/signbitf.c: Likewise.
63227         * lib/signbitl.c: Likewise.
63228         * lib/sigprocmask.c: Likewise.
63229         * lib/sincosl.c: Likewise.
63230         * lib/sleep.c: Likewise.
63231         * lib/sprintf.c: Likewise.
63232         * lib/sqrtl.c: Likewise.
63233         * lib/stat-time.h: Likewise.
63234         * lib/stdio--.h: Likewise.
63235         * lib/stdio-safer.h: Likewise.
63236         * lib/stdlib--.h: Likewise.
63237         * lib/stdlib-safer.h: Likewise.
63238         * lib/stdlib.in.h: Likewise.
63239         * lib/stpcpy.c: Likewise.
63240         * lib/stpncpy.c: Likewise.
63241         * lib/strchrnul.c: Likewise.
63242         * lib/strcspn.c: Likewise.
63243         * lib/strerror.c: Likewise.
63244         * lib/strftime.c: Likewise.
63245         * lib/strftime.h: Likewise.
63246         * lib/striconveh.c: Likewise.
63247         * lib/striconveh.h: Likewise.
63248         * lib/striconveha.c: Likewise.
63249         * lib/striconveha.h: Likewise.
63250         * lib/stripslash.c: Likewise.
63251         * lib/strnlen1.c: Likewise.
63252         * lib/strnlen1.h: Likewise.
63253         * lib/strtod.c: Likewise.
63254         * lib/strtoimax.c: Likewise.
63255         * lib/strtok_r.c: Likewise.
63256         * lib/strtol.c: Likewise.
63257         * lib/strtoll.c: Likewise.
63258         * lib/strtoul.c: Likewise.
63259         * lib/strtoull.c: Likewise.
63260         * lib/sysexits.in.h: Likewise.
63261         * lib/tempname.c: Likewise.
63262         * lib/tempname.h: Likewise.
63263         * lib/timespec.h: Likewise.
63264         * lib/tls.c: Likewise.
63265         * lib/tls.h: Likewise.
63266         * lib/tmpdir.c: Likewise.
63267         * lib/tmpdir.h: Likewise.
63268         * lib/tmpfile-safer.c: Likewise.
63269         * lib/tmpfile.c: Likewise.
63270         * lib/trigl.c: Likewise.
63271         * lib/trigl.h: Likewise.
63272         * lib/trim.c: Likewise.
63273         * lib/trim.h: Likewise.
63274         * lib/trunc.c: Likewise.
63275         * lib/truncf.c: Likewise.
63276         * lib/truncl.c: Likewise.
63277         * lib/tsearch.c: Likewise.
63278         * lib/unicodeio.c: Likewise.
63279         * lib/unicodeio.h: Likewise.
63280         * lib/unistd--.h: Likewise.
63281         * lib/unistd-safer.h: Likewise.
63282         * lib/unistdio/ulc-fprintf.c: Likewise.
63283         * lib/unistdio/ulc-vfprintf.c: Likewise.
63284         * lib/unlinkdir.c: Likewise.
63285         * lib/unlinkdir.h: Likewise.
63286         * lib/unlocked-io.h: Likewise.
63287         * lib/unsetenv.c: Likewise.
63288         * lib/userspec.c: Likewise.
63289         * lib/utime.c: Likewise.
63290         * lib/utimecmp.c: Likewise.
63291         * lib/utimecmp.h: Likewise.
63292         * lib/utimens.c: Likewise.
63293         * lib/verify.h: Likewise.
63294         * lib/verror.c: Likewise.
63295         * lib/verror.h: Likewise.
63296         * lib/version-etc-fsf.c: Likewise.
63297         * lib/version-etc.c: Likewise.
63298         * lib/version-etc.h: Likewise.
63299         * lib/vfprintf.c: Likewise.
63300         * lib/vprintf.c: Likewise.
63301         * lib/vsprintf.c: Likewise.
63302         * lib/w32spawn.h: Likewise.
63303         * lib/wait-process.c: Likewise.
63304         * lib/wait-process.h: Likewise.
63305         * lib/wcwidth.c: Likewise.
63306         * lib/write-any-file.c: Likewise.
63307         * lib/xalloc-die.c: Likewise.
63308         * lib/xalloc.h: Likewise.
63309         * lib/xasprintf.c: Likewise.
63310         * lib/xgetcwd.c: Likewise.
63311         * lib/xgetcwd.h: Likewise.
63312         * lib/xgetdomainname.c: Likewise.
63313         * lib/xgetdomainname.h: Likewise.
63314         * lib/xgethostname.c: Likewise.
63315         * lib/xmalloc.c: Likewise.
63316         * lib/xmalloca.c: Likewise.
63317         * lib/xmalloca.h: Likewise.
63318         * lib/xmemcoll.c: Likewise.
63319         * lib/xnanosleep.c: Likewise.
63320         * lib/xreadlink.c: Likewise.
63321         * lib/xreadlink.h: Likewise.
63322         * lib/xsetenv.c: Likewise.
63323         * lib/xsetenv.h: Likewise.
63324         * lib/xstriconv.c: Likewise.
63325         * lib/xstriconv.h: Likewise.
63326         * lib/xstrndup.c: Likewise.
63327         * lib/xstrndup.h: Likewise.
63328         * lib/xstrtod.c: Likewise.
63329         * lib/xstrtod.h: Likewise.
63330         * lib/xstrtol-error.c: Likewise.
63331         * lib/xstrtol.c: Likewise.
63332         * lib/xstrtol.h: Likewise.
63333         * lib/xtime.h: Likewise.
63334         * lib/xvasprintf.c: Likewise.
63335         * lib/xvasprintf.h: Likewise.
63336         * lib/yesno.c: Likewise.
63337         * lib/yesno.h: Likewise.
63338         * posix-modules: Likewise.
63339         * tests/test-alloca-opt.c: Likewise.
63340         * tests/test-arcfour.c: Likewise.
63341         * tests/test-arctwo.c: Likewise.
63342         * tests/test-argmatch.c: Likewise.
63343         * tests/test-argp-2.sh: Likewise.
63344         * tests/test-argp.c: Likewise.
63345         * tests/test-arpa_inet.c: Likewise.
63346         * tests/test-array_list.c: Likewise.
63347         * tests/test-array_oset.c: Likewise.
63348         * tests/test-atexit.c: Likewise.
63349         * tests/test-avltree_list.c: Likewise.
63350         * tests/test-avltree_oset.c: Likewise.
63351         * tests/test-avltreehash_list.c: Likewise.
63352         * tests/test-base64.c: Likewise.
63353         * tests/test-binary-io.c: Likewise.
63354         * tests/test-byteswap.c: Likewise.
63355         * tests/test-c-ctype.c: Likewise.
63356         * tests/test-c-strcasecmp.c: Likewise.
63357         * tests/test-c-strcasestr.c: Likewise.
63358         * tests/test-c-strncasecmp.c: Likewise.
63359         * tests/test-c-strstr.c: Likewise.
63360         * tests/test-canonicalize-lgpl.c: Likewise.
63361         * tests/test-canonicalize.c: Likewise.
63362         * tests/test-carray_list.c: Likewise.
63363         * tests/test-ceilf.c: Likewise.
63364         * tests/test-ceill.c: Likewise.
63365         * tests/test-count-one-bits.c: Likewise.
63366         * tests/test-crc.c: Likewise.
63367         * tests/test-dirname.c: Likewise.
63368         * tests/test-fbufmode.c: Likewise.
63369         * tests/test-fcntl.c: Likewise.
63370         * tests/test-fflush.c: Likewise.
63371         * tests/test-floorf.c: Likewise.
63372         * tests/test-floorl.c: Likewise.
63373         * tests/test-fopen.c: Likewise.
63374         * tests/test-fprintf-posix.c: Likewise.
63375         * tests/test-fprintf-posix.h: Likewise.
63376         * tests/test-fpurge.c: Likewise.
63377         * tests/test-freadable.c: Likewise.
63378         * tests/test-freadahead.c: Likewise.
63379         * tests/test-freading.c: Likewise.
63380         * tests/test-freopen.c: Likewise.
63381         * tests/test-frexp.c: Likewise.
63382         * tests/test-frexpl.c: Likewise.
63383         * tests/test-fseek.c: Likewise.
63384         * tests/test-fseeko.c: Likewise.
63385         * tests/test-fseterr.c: Likewise.
63386         * tests/test-fstrcmp.c: Likewise.
63387         * tests/test-ftell.c: Likewise.
63388         * tests/test-ftello.c: Likewise.
63389         * tests/test-fwritable.c: Likewise.
63390         * tests/test-fwriting.c: Likewise.
63391         * tests/test-getaddrinfo.c: Likewise.
63392         * tests/test-getpass.c: Likewise.
63393         * tests/test-gettimeofday.c: Likewise.
63394         * tests/test-hmac-md5.c: Likewise.
63395         * tests/test-hmac-sha1.c: Likewise.
63396         * tests/test-iconv.c: Likewise.
63397         * tests/test-iconvme.c: Likewise.
63398         * tests/test-inttypes.c: Likewise.
63399         * tests/test-isnan.c: Likewise.
63400         * tests/test-isnanf.c: Likewise.
63401         * tests/test-isnanl-nolibm.c: Likewise.
63402         * tests/test-isnanl.c: Likewise.
63403         * tests/test-isnanl.h: Likewise.
63404         * tests/test-ldexpl.c: Likewise.
63405         * tests/test-linked_list.c: Likewise.
63406         * tests/test-linkedhash_list.c: Likewise.
63407         * tests/test-locale.c: Likewise.
63408         * tests/test-localename.c: Likewise.
63409         * tests/test-lock.c: Likewise.
63410         * tests/test-lseek.c: Likewise.
63411         * tests/test-malloca.c: Likewise.
63412         * tests/test-math.c: Likewise.
63413         * tests/test-mbscasecmp.c: Likewise.
63414         * tests/test-mbscasestr1.c: Likewise.
63415         * tests/test-mbscasestr2.c: Likewise.
63416         * tests/test-mbscasestr3.c: Likewise.
63417         * tests/test-mbscasestr4.c: Likewise.
63418         * tests/test-mbschr.c: Likewise.
63419         * tests/test-mbscspn.c: Likewise.
63420         * tests/test-mbsncasecmp.c: Likewise.
63421         * tests/test-mbspbrk.c: Likewise.
63422         * tests/test-mbspcasecmp.c: Likewise.
63423         * tests/test-mbsrchr.c: Likewise.
63424         * tests/test-mbsspn.c: Likewise.
63425         * tests/test-mbsstr1.c: Likewise.
63426         * tests/test-mbsstr2.c: Likewise.
63427         * tests/test-mbsstr3.c: Likewise.
63428         * tests/test-md5.c: Likewise.
63429         * tests/test-memmem.c: Likewise.
63430         * tests/test-netinet_in.c: Likewise.
63431         * tests/test-open.c: Likewise.
63432         * tests/test-printf-frexp.c: Likewise.
63433         * tests/test-printf-frexpl.c: Likewise.
63434         * tests/test-printf-posix.c: Likewise.
63435         * tests/test-printf-posix.h: Likewise.
63436         * tests/test-rbtree_list.c: Likewise.
63437         * tests/test-rbtree_oset.c: Likewise.
63438         * tests/test-rbtreehash_list.c: Likewise.
63439         * tests/test-read-file.c: Likewise.
63440         * tests/test-rijndael.c: Likewise.
63441         * tests/test-search.c: Likewise.
63442         * tests/test-signbit.c: Likewise.
63443         * tests/test-sleep.c: Likewise.
63444         * tests/test-snprintf-posix.c: Likewise.
63445         * tests/test-snprintf-posix.h: Likewise.
63446         * tests/test-snprintf.c: Likewise.
63447         * tests/test-sprintf-posix.c: Likewise.
63448         * tests/test-sprintf-posix.h: Likewise.
63449         * tests/test-stat-time.c: Likewise.
63450         * tests/test-stdbool.c: Likewise.
63451         * tests/test-stdint.c: Likewise.
63452         * tests/test-stdio.c: Likewise.
63453         * tests/test-stdlib.c: Likewise.
63454         * tests/test-stpncpy.c: Likewise.
63455         * tests/test-strcasestr.c: Likewise.
63456         * tests/test-striconv.c: Likewise.
63457         * tests/test-striconveh.c: Likewise.
63458         * tests/test-striconveha.c: Likewise.
63459         * tests/test-string.c: Likewise.
63460         * tests/test-sys_select.c: Likewise.
63461         * tests/test-sys_socket.c: Likewise.
63462         * tests/test-sys_stat.c: Likewise.
63463         * tests/test-sys_time.c: Likewise.
63464         * tests/test-sysexits.c: Likewise.
63465         * tests/test-time.c: Likewise.
63466         * tests/test-tls.c: Likewise.
63467         * tests/test-trunc.c: Likewise.
63468         * tests/test-truncf.c: Likewise.
63469         * tests/test-truncl.c: Likewise.
63470         * tests/test-unistd.c: Likewise.
63471         * tests/test-vasnprintf-posix.c: Likewise.
63472         * tests/test-vasnprintf-posix2.c: Likewise.
63473         * tests/test-vasnprintf.c: Likewise.
63474         * tests/test-vasprintf-posix.c: Likewise.
63475         * tests/test-vasprintf.c: Likewise.
63476         * tests/test-verify.c: Likewise.
63477         * tests/test-vfprintf-posix.c: Likewise.
63478         * tests/test-vprintf-posix.c: Likewise.
63479         * tests/test-vsnprintf-posix.c: Likewise.
63480         * tests/test-vsnprintf.c: Likewise.
63481         * tests/test-vsprintf-posix.c: Likewise.
63482         * tests/test-wchar.c: Likewise.
63483         * tests/test-wctype.c: Likewise.
63484         * tests/test-wcwidth.c: Likewise.
63485         * tests/test-xstrtol.c: Likewise.
63486         * tests/test-xvasprintf.c: Likewise.
63487         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
63488         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
63489         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63490         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63491         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63492         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
63493         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63494         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63495         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63496         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
63497         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63498         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63499         * tests/uniname/test-uninames.c: Likewise.
63500         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
63501         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
63502         * tests/unistdio/test-u16-printf1.h: Likewise.
63503         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
63504         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
63505         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
63506         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
63507         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
63508         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
63509         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
63510         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
63511         * tests/unistdio/test-u32-printf1.h: Likewise.
63512         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
63513         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
63514         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
63515         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
63516         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
63517         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
63518         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
63519         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
63520         * tests/unistdio/test-u8-printf1.h: Likewise.
63521         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
63522         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
63523         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
63524         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
63525         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
63526         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
63527         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
63528         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
63529         * tests/unistdio/test-ulc-printf1.h: Likewise.
63530         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
63531         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
63532         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
63533         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
63534         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
63535         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
63536         * tests/uniwidth/test-u16-strwidth.c: Likewise.
63537         * tests/uniwidth/test-u16-width.c: Likewise.
63538         * tests/uniwidth/test-u32-strwidth.c: Likewise.
63539         * tests/uniwidth/test-u32-width.c: Likewise.
63540         * tests/uniwidth/test-u8-strwidth.c: Likewise.
63541         * tests/uniwidth/test-u8-width.c: Likewise.
63542         * tests/uniwidth/test-uc_width.c: Likewise.
63543         * config/srclist-update: Likewise.
63544         (fixlicense): Update to GPLv3+.
63545
63546         Change copyright notice from LGPLv2.1+ to LGPLv3+.
63547         * tests/test-tsearch.c: Change copyright notice.
63548
63549         Change copyright notice from LGPLv2.0+ to LGPLv3+.
63550         * lib/c-strcaseeq.h: Change copyright notice.
63551         * lib/streq.h: Likewise.
63552         * lib/uniconv.h: Likewise.
63553         * lib/uniconv/u-conv-from-enc.h: Likewise.
63554         * lib/uniconv/u-conv-to-enc.h: Likewise.
63555         * lib/uniconv/u-strconv-from-enc.h: Likewise.
63556         * lib/uniconv/u-strconv-to-enc.h: Likewise.
63557         * lib/uniconv/u16-conv-from-enc.c: Likewise.
63558         * lib/uniconv/u16-conv-to-enc.c: Likewise.
63559         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
63560         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
63561         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
63562         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
63563         * lib/uniconv/u32-conv-from-enc.c: Likewise.
63564         * lib/uniconv/u32-conv-to-enc.c: Likewise.
63565         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
63566         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
63567         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
63568         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
63569         * lib/uniconv/u8-conv-from-enc.c: Likewise.
63570         * lib/uniconv/u8-conv-to-enc.c: Likewise.
63571         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
63572         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
63573         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
63574         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
63575         * lib/uniname.h: Likewise.
63576         * lib/uniname/uniname.c: Likewise.
63577         * lib/unistdio.h: Likewise.
63578         * lib/unistdio/u-asnprintf.h: Likewise.
63579         * lib/unistdio/u-asprintf.h: Likewise.
63580         * lib/unistdio/u-printf-args.c: Likewise.
63581         * lib/unistdio/u-printf-args.h: Likewise.
63582         * lib/unistdio/u-printf-parse.h: Likewise.
63583         * lib/unistdio/u-snprintf.h: Likewise.
63584         * lib/unistdio/u-sprintf.h: Likewise.
63585         * lib/unistdio/u-vasprintf.h: Likewise.
63586         * lib/unistdio/u-vsnprintf.h: Likewise.
63587         * lib/unistdio/u-vsprintf.h: Likewise.
63588         * lib/unistdio/u16-asnprintf.c: Likewise.
63589         * lib/unistdio/u16-asprintf.c: Likewise.
63590         * lib/unistdio/u16-printf-parse.c: Likewise.
63591         * lib/unistdio/u16-snprintf.c: Likewise.
63592         * lib/unistdio/u16-sprintf.c: Likewise.
63593         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
63594         * lib/unistdio/u16-u16-asprintf.c: Likewise.
63595         * lib/unistdio/u16-u16-snprintf.c: Likewise.
63596         * lib/unistdio/u16-u16-sprintf.c: Likewise.
63597         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
63598         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
63599         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
63600         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
63601         * lib/unistdio/u16-vasnprintf.c: Likewise.
63602         * lib/unistdio/u16-vasprintf.c: Likewise.
63603         * lib/unistdio/u16-vsnprintf.c: Likewise.
63604         * lib/unistdio/u16-vsprintf.c: Likewise.
63605         * lib/unistdio/u32-asnprintf.c: Likewise.
63606         * lib/unistdio/u32-asprintf.c: Likewise.
63607         * lib/unistdio/u32-printf-parse.c: Likewise.
63608         * lib/unistdio/u32-snprintf.c: Likewise.
63609         * lib/unistdio/u32-sprintf.c: Likewise.
63610         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
63611         * lib/unistdio/u32-u32-asprintf.c: Likewise.
63612         * lib/unistdio/u32-u32-snprintf.c: Likewise.
63613         * lib/unistdio/u32-u32-sprintf.c: Likewise.
63614         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
63615         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
63616         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
63617         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
63618         * lib/unistdio/u32-vasnprintf.c: Likewise.
63619         * lib/unistdio/u32-vasprintf.c: Likewise.
63620         * lib/unistdio/u32-vsnprintf.c: Likewise.
63621         * lib/unistdio/u32-vsprintf.c: Likewise.
63622         * lib/unistdio/u8-asnprintf.c: Likewise.
63623         * lib/unistdio/u8-asprintf.c: Likewise.
63624         * lib/unistdio/u8-printf-parse.c: Likewise.
63625         * lib/unistdio/u8-snprintf.c: Likewise.
63626         * lib/unistdio/u8-sprintf.c: Likewise.
63627         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
63628         * lib/unistdio/u8-u8-asprintf.c: Likewise.
63629         * lib/unistdio/u8-u8-snprintf.c: Likewise.
63630         * lib/unistdio/u8-u8-sprintf.c: Likewise.
63631         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
63632         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
63633         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
63634         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
63635         * lib/unistdio/u8-vasnprintf.c: Likewise.
63636         * lib/unistdio/u8-vasprintf.c: Likewise.
63637         * lib/unistdio/u8-vsnprintf.c: Likewise.
63638         * lib/unistdio/u8-vsprintf.c: Likewise.
63639         * lib/unistdio/ulc-asnprintf.c: Likewise.
63640         * lib/unistdio/ulc-asprintf.c: Likewise.
63641         * lib/unistdio/ulc-printf-parse.c: Likewise.
63642         * lib/unistdio/ulc-snprintf.c: Likewise.
63643         * lib/unistdio/ulc-sprintf.c: Likewise.
63644         * lib/unistdio/ulc-vasnprintf.c: Likewise.
63645         * lib/unistdio/ulc-vasprintf.c: Likewise.
63646         * lib/unistdio/ulc-vsnprintf.c: Likewise.
63647         * lib/unistdio/ulc-vsprintf.c: Likewise.
63648         * lib/unistr.h: Likewise.
63649         * lib/unistr/u-cpy-alloc.h: Likewise.
63650         * lib/unistr/u-cpy.h: Likewise.
63651         * lib/unistr/u-endswith.h: Likewise.
63652         * lib/unistr/u-move.h: Likewise.
63653         * lib/unistr/u-set.h: Likewise.
63654         * lib/unistr/u-startswith.h: Likewise.
63655         * lib/unistr/u-stpcpy.h: Likewise.
63656         * lib/unistr/u-stpncpy.h: Likewise.
63657         * lib/unistr/u-strcat.h: Likewise.
63658         * lib/unistr/u-strcpy.h: Likewise.
63659         * lib/unistr/u-strcspn.h: Likewise.
63660         * lib/unistr/u-strdup.h: Likewise.
63661         * lib/unistr/u-strlen.h: Likewise.
63662         * lib/unistr/u-strncat.h: Likewise.
63663         * lib/unistr/u-strncpy.h: Likewise.
63664         * lib/unistr/u-strnlen.h: Likewise.
63665         * lib/unistr/u-strpbrk.h: Likewise.
63666         * lib/unistr/u-strspn.h: Likewise.
63667         * lib/unistr/u-strstr.h: Likewise.
63668         * lib/unistr/u-strtok.h: Likewise.
63669         * lib/unistr/u16-check.c: Likewise.
63670         * lib/unistr/u16-chr.c: Likewise.
63671         * lib/unistr/u16-cmp.c: Likewise.
63672         * lib/unistr/u16-cpy-alloc.c: Likewise.
63673         * lib/unistr/u16-cpy.c: Likewise.
63674         * lib/unistr/u16-endswith.c: Likewise.
63675         * lib/unistr/u16-mblen.c: Likewise.
63676         * lib/unistr/u16-mbsnlen.c: Likewise.
63677         * lib/unistr/u16-mbtouc-aux.c: Likewise.
63678         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
63679         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
63680         * lib/unistr/u16-mbtouc.c: Likewise.
63681         * lib/unistr/u16-mbtoucr.c: Likewise.
63682         * lib/unistr/u16-move.c: Likewise.
63683         * lib/unistr/u16-next.c: Likewise.
63684         * lib/unistr/u16-prev.c: Likewise.
63685         * lib/unistr/u16-set.c: Likewise.
63686         * lib/unistr/u16-startswith.c: Likewise.
63687         * lib/unistr/u16-stpcpy.c: Likewise.
63688         * lib/unistr/u16-stpncpy.c: Likewise.
63689         * lib/unistr/u16-strcat.c: Likewise.
63690         * lib/unistr/u16-strchr.c: Likewise.
63691         * lib/unistr/u16-strcmp.c: Likewise.
63692         * lib/unistr/u16-strcpy.c: Likewise.
63693         * lib/unistr/u16-strcspn.c: Likewise.
63694         * lib/unistr/u16-strdup.c: Likewise.
63695         * lib/unistr/u16-strlen.c: Likewise.
63696         * lib/unistr/u16-strmblen.c: Likewise.
63697         * lib/unistr/u16-strmbtouc.c: Likewise.
63698         * lib/unistr/u16-strncat.c: Likewise.
63699         * lib/unistr/u16-strncmp.c: Likewise.
63700         * lib/unistr/u16-strncpy.c: Likewise.
63701         * lib/unistr/u16-strnlen.c: Likewise.
63702         * lib/unistr/u16-strpbrk.c: Likewise.
63703         * lib/unistr/u16-strrchr.c: Likewise.
63704         * lib/unistr/u16-strspn.c: Likewise.
63705         * lib/unistr/u16-strstr.c: Likewise.
63706         * lib/unistr/u16-strtok.c: Likewise.
63707         * lib/unistr/u16-to-u32.c: Likewise.
63708         * lib/unistr/u16-to-u8.c: Likewise.
63709         * lib/unistr/u16-uctomb-aux.c: Likewise.
63710         * lib/unistr/u16-uctomb.c: Likewise.
63711         * lib/unistr/u32-check.c: Likewise.
63712         * lib/unistr/u32-chr.c: Likewise.
63713         * lib/unistr/u32-cmp.c: Likewise.
63714         * lib/unistr/u32-cpy-alloc.c: Likewise.
63715         * lib/unistr/u32-cpy.c: Likewise.
63716         * lib/unistr/u32-endswith.c: Likewise.
63717         * lib/unistr/u32-mblen.c: Likewise.
63718         * lib/unistr/u32-mbsnlen.c: Likewise.
63719         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
63720         * lib/unistr/u32-mbtouc.c: Likewise.
63721         * lib/unistr/u32-mbtoucr.c: Likewise.
63722         * lib/unistr/u32-move.c: Likewise.
63723         * lib/unistr/u32-next.c: Likewise.
63724         * lib/unistr/u32-prev.c: Likewise.
63725         * lib/unistr/u32-set.c: Likewise.
63726         * lib/unistr/u32-startswith.c: Likewise.
63727         * lib/unistr/u32-stpcpy.c: Likewise.
63728         * lib/unistr/u32-stpncpy.c: Likewise.
63729         * lib/unistr/u32-strcat.c: Likewise.
63730         * lib/unistr/u32-strchr.c: Likewise.
63731         * lib/unistr/u32-strcmp.c: Likewise.
63732         * lib/unistr/u32-strcpy.c: Likewise.
63733         * lib/unistr/u32-strcspn.c: Likewise.
63734         * lib/unistr/u32-strdup.c: Likewise.
63735         * lib/unistr/u32-strlen.c: Likewise.
63736         * lib/unistr/u32-strmblen.c: Likewise.
63737         * lib/unistr/u32-strmbtouc.c: Likewise.
63738         * lib/unistr/u32-strncat.c: Likewise.
63739         * lib/unistr/u32-strncmp.c: Likewise.
63740         * lib/unistr/u32-strncpy.c: Likewise.
63741         * lib/unistr/u32-strnlen.c: Likewise.
63742         * lib/unistr/u32-strpbrk.c: Likewise.
63743         * lib/unistr/u32-strrchr.c: Likewise.
63744         * lib/unistr/u32-strspn.c: Likewise.
63745         * lib/unistr/u32-strstr.c: Likewise.
63746         * lib/unistr/u32-strtok.c: Likewise.
63747         * lib/unistr/u32-to-u16.c: Likewise.
63748         * lib/unistr/u32-to-u8.c: Likewise.
63749         * lib/unistr/u32-uctomb.c: Likewise.
63750         * lib/unistr/u8-check.c: Likewise.
63751         * lib/unistr/u8-chr.c: Likewise.
63752         * lib/unistr/u8-cmp.c: Likewise.
63753         * lib/unistr/u8-cpy-alloc.c: Likewise.
63754         * lib/unistr/u8-cpy.c: Likewise.
63755         * lib/unistr/u8-endswith.c: Likewise.
63756         * lib/unistr/u8-mblen.c: Likewise.
63757         * lib/unistr/u8-mbsnlen.c: Likewise.
63758         * lib/unistr/u8-mbtouc-aux.c: Likewise.
63759         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
63760         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
63761         * lib/unistr/u8-mbtouc.c: Likewise.
63762         * lib/unistr/u8-mbtoucr.c: Likewise.
63763         * lib/unistr/u8-move.c: Likewise.
63764         * lib/unistr/u8-next.c: Likewise.
63765         * lib/unistr/u8-prev.c: Likewise.
63766         * lib/unistr/u8-set.c: Likewise.
63767         * lib/unistr/u8-startswith.c: Likewise.
63768         * lib/unistr/u8-stpcpy.c: Likewise.
63769         * lib/unistr/u8-stpncpy.c: Likewise.
63770         * lib/unistr/u8-strcat.c: Likewise.
63771         * lib/unistr/u8-strchr.c: Likewise.
63772         * lib/unistr/u8-strcmp.c: Likewise.
63773         * lib/unistr/u8-strcpy.c: Likewise.
63774         * lib/unistr/u8-strcspn.c: Likewise.
63775         * lib/unistr/u8-strdup.c: Likewise.
63776         * lib/unistr/u8-strlen.c: Likewise.
63777         * lib/unistr/u8-strmblen.c: Likewise.
63778         * lib/unistr/u8-strmbtouc.c: Likewise.
63779         * lib/unistr/u8-strncat.c: Likewise.
63780         * lib/unistr/u8-strncmp.c: Likewise.
63781         * lib/unistr/u8-strncpy.c: Likewise.
63782         * lib/unistr/u8-strnlen.c: Likewise.
63783         * lib/unistr/u8-strpbrk.c: Likewise.
63784         * lib/unistr/u8-strrchr.c: Likewise.
63785         * lib/unistr/u8-strspn.c: Likewise.
63786         * lib/unistr/u8-strstr.c: Likewise.
63787         * lib/unistr/u8-strtok.c: Likewise.
63788         * lib/unistr/u8-to-u16.c: Likewise.
63789         * lib/unistr/u8-to-u32.c: Likewise.
63790         * lib/unistr/u8-uctomb-aux.c: Likewise.
63791         * lib/unistr/u8-uctomb.c: Likewise.
63792         * lib/unitypes.h: Likewise.
63793         * lib/uniwidth.h: Likewise.
63794         * lib/uniwidth/cjk.h: Likewise.
63795         * lib/uniwidth/u16-strwidth.c: Likewise.
63796         * lib/uniwidth/u16-width.c: Likewise.
63797         * lib/uniwidth/u32-strwidth.c: Likewise.
63798         * lib/uniwidth/u32-width.c: Likewise.
63799         * lib/uniwidth/u8-strwidth.c: Likewise.
63800         * lib/uniwidth/u8-width.c: Likewise.
63801         * lib/uniwidth/width.c: Likewise.
63802
63803 2007-10-07  Bruno Haible  <bruno@clisp.org>
63804
63805         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63806         The file is still under LGPL (see modules/inttypes).
63807
63808 2007-10-06  Bruno Haible  <bruno@clisp.org>
63809
63810         * modules/trunc (Dependencies): Add 'extensions'.
63811         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63812         Reported by Ben Pfaff <blp@gnu.org>.
63813
63814 2007-10-06  Bruno Haible  <bruno@clisp.org>
63815
63816         * modules/freopen-tests: New file.
63817         * tests/test-freopen.c: New file.
63818
63819         * modules/fopen-tests: New file.
63820         * tests/test-fopen.c: New file.
63821
63822         * modules/fopen: New file.
63823         * lib/fopen.c: New file.
63824         * m4/fopen.m4: New file.
63825         * modules/freopen: New file.
63826         * lib/freopen.c: New file.
63827         * m4/freopen.m4: New file.
63828         * lib/stdio.in.h (fopen, freopen): New declarations.
63829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63830         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63831         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63832         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63833         * doc/functions/fopen.texi: Mention the 'fopen' module.
63834         * doc/functions/freopen.texi: Mention the 'freopen' module.
63835
63836 2007-10-06  Bruno Haible  <bruno@clisp.org>
63837
63838         * modules/open-tests: New file.
63839         * tests/test-open.c: New file.
63840
63841         * modules/open: New file.
63842         * lib/open.c: New file.
63843         * m4/open.m4: New file.
63844         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63845         lib/open.c does.
63846         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63847         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63848         macros.
63849         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63850         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63851         REPLACE_OPEN.
63852         * doc/functions/open.texi: Mention the 'open' module.
63853
63854 2007-10-04  Bruno Haible  <bruno@clisp.org>
63855
63856         * modules/ceill-tests: New file.
63857         * tests/test-ceill.c: New file.
63858
63859         * modules/ceill: New file.
63860         * lib/ceill.c: Replace entire file.
63861         * m4/ceill.m4: New file.
63862         * lib/math.in.h (ceill): Replace declaration.
63863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63864         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63865         * doc/functions/ceill.texi: Mention the 'ceill' module.
63866         * modules/mathl (Files): Remove lib/ceill.c.
63867         (Depends-on): Add ceill.
63868
63869 2007-10-04  Bruno Haible  <bruno@clisp.org>
63870
63871         * modules/ceilf-tests: New file.
63872         * tests/test-ceilf.c: New file.
63873
63874         * modules/ceilf: New file.
63875         * lib/ceil.c: New file.
63876         * lib/ceilf.c: New file.
63877         * m4/ceilf.m4: New file.
63878         * lib/math.in.h (ceilf): New declaration.
63879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63880         HAVE_DECL_CEILF.
63881         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63882         HAVE_DECL_CEILF.
63883         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63884
63885 2007-10-04  Bruno Haible  <bruno@clisp.org>
63886
63887         * modules/floorl-tests: New file.
63888         * tests/test-floorl.c: New file.
63889
63890         * modules/floorl: New file.
63891         * lib/floorl.c: Replace entire file.
63892         * m4/floorl.m4: New file.
63893         * lib/math.in.h (floorl): Replace declaration.
63894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63895         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63896         * doc/functions/floorl.texi: Mention the 'floorl' module.
63897         * modules/mathl (Files): Remove lib/floorl.c.
63898         (Depends-on): Add floorl.
63899
63900 2007-10-04  Bruno Haible  <bruno@clisp.org>
63901
63902         * modules/floorf-tests: New file.
63903         * tests/test-floorf.c: New file.
63904
63905         * modules/floorf: New file.
63906         * lib/floor.c: New file.
63907         * lib/floorf.c: New file.
63908         * m4/floorf.m4: New file.
63909         * lib/math.in.h (floorf): New declaration.
63910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63911         HAVE_DECL_FLOORF.
63912         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63913         HAVE_DECL_FLOORF.
63914         * doc/functions/floorf.texi: Mention the 'floorf' module.
63915
63916 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63917             Bruno Haible  <bruno@clisp.org>
63918
63919         Advertise for the Git server instead of the CVS server.
63920         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63921         repository instead of the CVS one.
63922         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63923         about all VCS systems generically.
63924         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63925
63926 2007-10-04  Bruno Haible  <bruno@clisp.org>
63927
63928         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63929         means.
63930         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63931
63932 2007-10-04  Bruno Haible  <bruno@clisp.org>
63933
63934         * modules/truncl-tests: New file.
63935         * tests/test-truncl.c: New file.
63936
63937         * modules/truncl: New file.
63938         * lib/truncl.c: New file.
63939         * m4/truncl.m4: New file.
63940         * lib/math.in.h (truncl): New declaration.
63941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
63942         HAVE_DECL_TRUNCL.
63943         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
63944         HAVE_DECL_TRUNCL.
63945         * doc/functions/truncl.texi: Mention the 'truncl' module.
63946
63947 2007-10-04  Bruno Haible  <bruno@clisp.org>
63948
63949         * modules/truncf-tests: New file.
63950         * tests/test-truncf.c: New file.
63951
63952         * modules/truncf: New file.
63953         * lib/trunc.c: Make paramerizable through USE_* macros.
63954         * lib/truncf.c: New file.
63955         * m4/truncf.m4: New file.
63956         * lib/math.in.h (truncf): New declaration.
63957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
63958         HAVE_DECL_TRUNCF.
63959         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
63960         HAVE_DECL_TRUNCF.
63961         * doc/functions/truncf.texi: Mention the 'truncf' module.
63962
63963 2007-10-03  Bruno Haible  <bruno@clisp.org>
63964
63965         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
63966         augmentation also for tests modules.
63967         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
63968         * modules/atexit-tests (Makefile.am): Likewise.
63969         * modules/binary-io-tests (Makefile.am): Likewise.
63970         * modules/c-strcase-tests (Makefile.am): Likewise.
63971         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
63972         * modules/canonicalize-tests (Makefile.am): Likewise.
63973         * modules/closein-tests (Makefile.am): Likewise.
63974         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63975         * modules/freadahead-tests (Makefile.am): Likewise.
63976         * modules/fseek-tests (Makefile.am): Likewise.
63977         * modules/fseeko-tests (Makefile.am): Likewise.
63978         * modules/ftell-tests (Makefile.am): Likewise.
63979         * modules/ftello-tests (Makefile.am): Likewise.
63980         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63981         * modules/isnanl-tests (Makefile.am): Likewise.
63982         * modules/lseek-tests (Makefile.am): Likewise.
63983         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63984         * modules/mbscasestr-tests (Makefile.am): Likewise.
63985         * modules/mbschr-tests (Makefile.am): Likewise.
63986         * modules/mbscspn-tests (Makefile.am): Likewise.
63987         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63988         * modules/mbspbrk-tests (Makefile.am): Likewise.
63989         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63990         * modules/mbsrchr-tests (Makefile.am): Likewise.
63991         * modules/mbsspn-tests (Makefile.am): Likewise.
63992         * modules/mbsstr-tests (Makefile.am): Likewise.
63993         * modules/printf-posix-tests (Makefile.am): Likewise.
63994         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63995         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63996         * modules/tsearch-tests (Makefile.am): Likewise.
63997         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63998         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63999         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
64000         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
64001         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
64002         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
64003         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
64004         * modules/vprintf-posix-tests (Makefile.am): Likewise.
64005         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
64006         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
64007         * modules/xstrtoimax-tests (Makefile.am): Likewise.
64008         * modules/xstrtol-tests (Makefile.am): Likewise.
64009         * modules/xstrtoumax-tests (Makefile.am): Likewise.
64010         * modules/yesno-tests (Makefile.am): Likewise.
64011
64012 2007-10-03  Bruno Haible  <bruno@clisp.org>
64013
64014         * modules/trunc-tests: New file.
64015         * tests/test-trunc.c: New file.
64016
64017         * modules/trunc: New file.
64018         * lib/trunc.c: New file.
64019         * m4/trunc.m4: New file.
64020         * lib/math.in.h (trunc): New declaration.
64021         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
64022         HAVE_DECL_TRUNC.
64023         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
64024         HAVE_DECL_TRUNC.
64025         * doc/functions/trunc.texi: Mention the 'trunc' module.
64026
64027 2007-10-03  Bruno Haible  <bruno@clisp.org>
64028
64029         * tests/test-fpending.c: New file, mostly copied
64030         from coreutils/lib/t-fpending.c.
64031         * modules/fpending-tests: New file.
64032
64033 2007-10-03  Bruno Haible  <bruno@clisp.org>
64034
64035         Port the stdio extensions to QNX (untested).
64036         * lib/fseterr.c (fseterr): Add support for QNX.
64037         * lib/fbufmode.c (fbufmode): Likewise.
64038         * lib/freadable.c (freadable): Likewise.
64039         * lib/fwritable.c (fwritable): Likewise.
64040         * lib/freading.c (freading): Likewise.
64041         * lib/fwriting.c (fwriting): Likewise.
64042         * lib/freadahead.c (freadahed): Likewise.
64043         * lib/fpurge.c (fpurge): Likewise.
64044         * lib/fseeko.c (rpl_fseeko): Likewise.
64045
64046 2007-10-03  Bruno Haible  <bruno@clisp.org>
64047             Jim Meyering  <jim@meyering.net>
64048             Eric Blake  <ebb9@byu.net>
64049
64050         * doc/relocatable.texi: Use @command instead of @program.
64051
64052 2007-10-02  Jim Meyering  <jim@meyering.net>
64053
64054         Perform one more "_.h" -> ".in.h" substitution.
64055         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
64056         instead of unistd_.h here, too.
64057
64058 2007-10-01  Bruno Haible  <bruno@clisp.org>
64059
64060         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
64061         Needed for the alloca-opt module.
64062
64063 2007-09-30  Bruno Haible  <bruno@clisp.org>
64064
64065         * lib/alloca.in.h: Renamed from lib/alloca_.h.
64066         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
64067         alloca_.h.
64068         * lib/argz.in.h: Renamed from lib/argz_.h.
64069         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
64070         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
64071         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
64072         byteswap_.h.
64073         * lib/dirent.in.h: Renamed from lib/dirent_.h.
64074         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
64075         dirent_.h.
64076         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
64077         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
64078         fcntl_.h.
64079         * lib/float.in.h: Renamed from lib/float_.h.
64080         * modules/float (Files, Makefile.am): Use float.in.h instead of
64081         float_.h.
64082         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
64083         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
64084         fnmatch_.h.
64085         * lib/getopt.in.h: Renamed from lib/getopt_.h.
64086         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
64087         getopt_.h.
64088         * lib/glob.in.h: Renamed from lib/glob_.h.
64089         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
64090         * lib/iconv.in.h: Renamed from lib/iconv_.h.
64091         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
64092         iconv_.h.
64093         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
64094         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
64095         inttypes_.h.
64096         * lib/locale.in.h: Renamed from lib/locale_.h.
64097         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
64098         locale_.h.
64099         * lib/math.in.h: Renamed from lib/math_.h.
64100         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
64101         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
64102         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
64103         of netinet_in_.h. Add dependency.
64104         * lib/poll.in.h: Renamed from lib/poll_.h.
64105         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
64106         * lib/search.in.h: Renamed from lib/search_.h.
64107         * modules/search (Files, Makefile.am): Use search.in.h instead of
64108         search_.h.
64109         * lib/signal.in.h: Renamed from lib/signal_.h.
64110         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
64111         _signal.h.
64112         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
64113         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
64114         stdbool_.h.
64115         * lib/stdint.in.h: Renamed from lib/stdint_.h.
64116         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
64117         stdint_.h.
64118         * lib/stdio.in.h: Renamed from lib/stdio_.h.
64119         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
64120         stdio_.h.
64121         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
64122         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
64123         stdlib_.h.
64124         * lib/string.in.h: Renamed from lib/string_.h.
64125         * modules/string (Files, Makefile.am): Use string.in.h instead of
64126         string_.h.
64127         * doc/gnulib-tool.texi (Initial import): Update.
64128         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
64129         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
64130         of sys_select_.h. Add dependency.
64131         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
64132         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
64133         of sys_socket_.h.
64134         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
64135         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
64136         sys_stat_.h.
64137         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
64138         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
64139         sys_time_.h.
64140         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
64141         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
64142         sysexits_.h.
64143         * lib/time.in.h: Renamed from lib/time_.h.
64144         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
64145         * lib/unistd.in.h: Renamed from lib/unistd_.h.
64146         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
64147         unistd_.h.
64148         * lib/wchar.in.h: Renamed from lib/wchar_.h.
64149         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
64150         wchar_.h.
64151         * lib/wctype.in.h: Renamed from lib/wctype_.h.
64152         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
64153         wctype_.h.
64154         * build-aux/bootstrap (slurp): Update.
64155         * lib/.cppi-disable: Update.
64156
64157 2007-09-30  Bruno Haible  <bruno@clisp.org>
64158
64159         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
64160         Needed on BeOS.
64161
64162 2007-09-30  Bruno Haible  <bruno@clisp.org>
64163
64164         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
64165
64166 2007-09-29  Bruno Haible  <bruno@clisp.org>
64167
64168         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
64169
64170 2007-09-29  Bruno Haible  <bruno@clisp.org>
64171
64172         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
64173         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
64174         * build-aux/install-reloc: Compile also areadlink.c.
64175         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
64176
64177 2007-09-29  Bruno Haible  <bruno@clisp.org>
64178
64179         * gnulib-tool (func_emit_initmacro_done): Indentation.
64180
64181 2007-09-29  Bruno Haible  <bruno@clisp.org>
64182
64183         * README: Add CVS checkout update instructions.
64184         Info from Bob Proulx <bob@proulx.com>.
64185
64186 2007-09-28  Eric Blake  <ebb9@byu.net>
64187
64188         Provide move-if-change.
64189         * build-aux/move-if-change: New file, based on best practice
64190         rather than any canonical upstream location.
64191
64192 2007-09-28  Jim Meyering  <jim@meyering.net>
64193
64194         Fix canonicalize loop-detection corner case.
64195         Do not attempt to stat the symlink values stored via seen_triple.
64196         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
64197         on linux-2.6.18, (but not 2.6.22).
64198         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
64199         triple_compare.  The former compares dev,ino,filename, while the latter
64200         would actually stat dirname(filename) when dev and ino were equal.
64201         * lib/hash-triple.c: Install <string.h>.
64202         (STREQ): Define.
64203         (triple_compare_ino_str): New function.
64204         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
64205
64206 2007-09-28  Eric Blake  <ebb9@byu.net>
64207
64208         Enforce that AC_REPLACE_FUNCS files exist.
64209         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
64210         override check for typos.
64211
64212         Fix test-closein on Solaris 10.
64213         * tests/test-closein.c (main): Don't assume stdin can be inherited
64214         closed on all systems.
64215         * tests/test-closein.sh: Likewise.
64216         Reported by Piotr Tarnowski.
64217
64218 2007-09-28  Jim Meyering  <jim@meyering.net>
64219
64220         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
64221
64222 2007-09-27  Jim Meyering  <jim@meyering.net>
64223
64224         canonicalize: Avoid a false-positive cycle failure.
64225         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
64226         Sort.  Remove cycle-check.
64227         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
64228         not cycle-check.h.
64229         (seen_triple): New function.
64230         (canonicalize_filename_mode): Use it instead of cycle-check.
64231         * tests/test-canonicalize.c: Add a test for this bug.
64232         * tests/test-canonicalize.sh: Set up and run the test.
64233
64234         New module, file-set, from coreutils.
64235         * modules/file-set: Define it.
64236         * lib/file-set.c, lib/file-set.h: Implement.
64237
64238         New module, hash-triple, from coreutils.
64239         * modules/hash-triple: Define it.
64240         * lib/hash-triple.c, lib/hash-triple.h: Implement.
64241
64242 2007-09-25  Eric Blake  <ebb9@byu.net>
64243
64244         Fix strerror on Interix.
64245         * lib/string_.h (strerror): Declare replacement.
64246         * doc/functions/strerror.texi (strerror): Document the Interix
64247         shortcoming.
64248         * modules/string (Makefile.am): Support new hooks.
64249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
64250         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
64251         gl_FUNC_STRERROR_SEPARATE.
64252         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
64253         * lib/strerror.c (rpl_strerror): Provide replacement.
64254         * modules/strerror (Depends-on): Add string.
64255         (configure.ac): Detect use of module.
64256         * tests/test-strerror.c: New file.
64257         * modules/strerror-tests: New test module.
64258         * modules/argp (Depends-on): Add strerror.
64259         * modules/error (Depends-on): Likewise.
64260         Reported by Martin Koeppe.
64261
64262 2007-09-24  Bruno Haible  <bruno@clisp.org>
64263
64264         * README: Update git instructions.
64265
64266 2007-09-24  Eric Blake  <ebb9@byu.net>
64267
64268         Revert fpending breakage from 2007-09-08.
64269         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
64270         __fpending.c.
64271
64272 2007-09-24  Jim Meyering  <jim@meyering.net>
64273
64274         filenamecat.c: Add a test.
64275         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
64276         showing how the function works when DIR is the empty string.
64277
64278 2007-09-21  Simon Josefsson  <simon@josefsson.org>
64279
64280         * tests/test-canonicalize.sh: Turn on executable bit.
64281
64282 2007-09-19  Eric Blake  <ebb9@byu.net>
64283
64284         * README: Update CVS instructions.
64285
64286 2007-09-18  Bruno Haible  <bruno@clisp.org>
64287
64288         * modules/areadlink: New file.
64289         * lib/areadlink.h (areadlink): New declaration.
64290         * lib/areadlink.c: New file, based on lib/xreadlink.c.
64291
64292 2007-09-17  Jim Meyering  <jim@meyering.net>
64293
64294         * lib/savewd.c (ESTALE) [!defined]: Define.
64295         Reported to be required on Interix by Martin Koeppe.
64296
64297 2007-09-17  Bruno Haible  <bruno@clisp.org>
64298
64299         * gnulib-tool (func_version): Use $version.
64300
64301 2007-09-16  Bruno Haible  <bruno@clisp.org>
64302
64303         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
64304         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
64305         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
64306         Reported by Greg Schafer <gschafer@zip.com.au>.
64307
64308 2007-09-15  Bruno Haible  <bruno@clisp.org>
64309
64310         * gnulib-tool (sed): Try a little harder to make bash understand the
64311         alias.
64312         Reported by Bruce Korb <bruce.korb@gmail.com>.
64313
64314 2007-09-13  Eric Blake  <ebb9@byu.net>
64315
64316         * ChangeLog: Remove conflict markers.
64317
64318 2007-09-13  Simon Josefsson  <simon@josefsson.org>
64319
64320         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
64321         Reported by Bruno Haible <bruno@clisp.org>.
64322
64323 2007-09-12  Bruno Haible  <bruno@clisp.org>
64324
64325         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
64326         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
64327         is not defined.
64328
64329 2007-09-12  Eric Blake  <ebb9@byu.net>
64330
64331         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
64332         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
64333         Autoconf definition.
64334         * modules/euidaccess (Depends-on): Add extensions, for
64335         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
64336         * modules/fnmatch (Depends-on): Likewise.
64337         * modules/getaddrinfo (Depends-on): Likewise.
64338         * modules/getdelim (Depends-on): Likewise.
64339         * modules/getline (Depends-on): Likewise.
64340         * modules/getsubopt (Depends-on): Likewise.
64341         * modules/gettext (Depends-on): Likewise.
64342         * modules/group-member (Depends-on): Likewise.
64343         * modules/mbchar (Depends-on): Likewise.
64344         * modules/memmem (Depends-on): Likewise.
64345         * modules/mempcpy (Depends-on): Likewise.
64346         * modules/memrchr (Depends-on): Likewise.
64347         * modules/pagealign_alloc (Depends-on): Likewise.
64348         * modules/readutmp (Depends-on): Likewise.
64349         * modules/stpcpy (Depends-on): Likewise.
64350         * modules/stpncpy (Depends-on): Likewise.
64351         * modules/strchrnul (Depends-on): Likewise.
64352         * modules/strndup (Depends-on): Likewise.
64353         * modules/strsep (Depends-on): Likewise.
64354         * modules/strverscmp (Depends-on): Likewise.
64355         * modules/vasprintf (Depends-on): Likewise.
64356         * modules/wcwidth (Depends-on): Likewise.
64357         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64358         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64359         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64360         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64361         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64362         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64363         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64364         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64365         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64366         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64367         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64368         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64369         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64370         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64371         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64372         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64373         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64374         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64375         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64376         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64377         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64378         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64379         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64380         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64381         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64382         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64383         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64384         so that lock.m4 can be used in gettext without extensions module.
64385
64386 2007-09-11  Bruno Haible  <bruno@clisp.org>
64387
64388         * m4/isc-posix.m4: Remove file.
64389         Suggested by Eric Blake.
64390
64391 2007-09-11  Eric Blake  <ebb9@byu.net>
64392
64393         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64394
64395 2007-09-10  Bruno Haible  <bruno@clisp.org>
64396
64397         * posix-modules: Fix typo in error message.
64398         Reported by Matt <mkraai@beckman.com>.
64399
64400 2007-09-09  Bruno Haible  <bruno@clisp.org>
64401
64402         * doc/functions/getdelim.texi: Update list of platforms lacking the
64403         function.
64404         * doc/functions/getline.texi: Likewise.
64405
64406 2007-09-09  Jim Meyering  <jim@meyering.net>
64407
64408         * lib/hash.c (hash_initialize): Detect calloc failure.
64409         Reported by Bruno Haible.
64410
64411 2007-09-09  Bruno Haible  <bruno@clisp.org>
64412
64413         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
64414         malloc or realloc fails.
64415
64416 2007-09-09  Bruno Haible  <bruno@clisp.org>
64417
64418         * modules/getcwd (Depends-on): Add malloc-posix.
64419         * modules/glob (Depends-on): Likewise.
64420         * modules/putenv (Depends-on): Likewise.
64421         * modules/strdup (Depends-on): Likewise.
64422         * modules/getdelim (Depends-on): Add realloc-posix.
64423         * modules/read-file (Depends-on): Likewise.
64424
64425 2007-09-09  Bruno Haible  <bruno@clisp.org>
64426
64427         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
64428         (gl_FUNC_MALLOC_POSIX): Require it.
64429         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
64430         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
64431         * modules/realloc (Files): Add m4/malloc.m4.
64432         * modules/calloc (Files): Likewise.
64433
64434 2007-09-09  Bruno Haible  <bruno@clisp.org>
64435
64436         * modules/malloc-posix: New file.
64437         * modules/malloc (Depends-on): Add malloc-posix.
64438         * lib/malloc.c: Include errno.h.
64439         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
64440         and a POSIX-compatible malloc into a single function. Set ENOMEM
64441         when returning NULL.
64442         * m4/malloc.m4: New file.
64443         * doc/functions/malloc.texi: Mention the malloc-posix module.
64444         * lib/stdlib_.h (malloc): New declaration.
64445         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64446         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
64447         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
64448         and HAVE_MALLOC_POSIX.
64449
64450 2007-09-09  Bruno Haible  <bruno@clisp.org>
64451
64452         * modules/realloc-posix: New file.
64453         * modules/realloc (Depends-on): Add realloc-posix.
64454         * lib/realloc.c: Include errno.h.
64455         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
64456         and a POSIX-compatible realloc into a single function. Set ENOMEM
64457         when returning NULL.
64458         * m4/realloc.m4: New file.
64459         * doc/functions/realloc.texi: Mention the realloc-posix module.
64460         * lib/stdlib_.h (realloc): New declaration.
64461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64462         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
64463         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
64464         and HAVE_REALLOC_POSIX.
64465
64466 2007-09-09  Bruno Haible  <bruno@clisp.org>
64467
64468         * modules/calloc-posix: New file.
64469         * modules/calloc (Depends-on): Add calloc-posix.
64470         * lib/calloc.c: Include errno.h.
64471         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
64472         and a POSIX-compatible calloc into a single function. Set ENOMEM
64473         when returning NULL.
64474         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
64475         * doc/functions/calloc.texi: Mention the calloc-posix module.
64476         * lib/stdlib_.h (calloc): New declaration.
64477         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64478         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
64479         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
64480         and HAVE_CALLOC_POSIX.
64481
64482 2007-09-09  Bruno Haible  <bruno@clisp.org>
64483
64484         Allow for modules to show an arbitrary notice.
64485         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
64486         * gnulib-tool: New option --extract-notice.
64487         (func_usage): Document it.
64488         (sed_extract_prog): Update.
64489         (func_get_notice): New function.
64490         (func_modules_notice): New function.
64491         (func_import, func_create_testdir): Invoke it.
64492         Suggested by Jim Meyering.
64493
64494 2007-09-09  Bruno Haible  <bruno@clisp.org>
64495
64496         * gnulib-tool: New options --verbose, --quiet.
64497         (func_usage): Document them.
64498         (verbose): New variable.
64499         (func_execute_command): New function.
64500         (func_import): Don't show the module list and the file list if
64501         $verbose < 0.
64502         (func_create_testdir): Likewise. Use func_execute_command.
64503         (func_create_megatestdir): Use func_execute_command.
64504
64505 2007-09-08  Bruno Haible  <bruno@clisp.org>
64506
64507         * gnulib-tool (func_import): Prefer rsync over wget when available,
64508         for fetching the PO files.
64509
64510 2007-09-08  Bruno Haible  <bruno@clisp.org>
64511
64512         * posix-modules: New file. Portions copied from gnulib-tool.
64513         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
64514
64515 2007-09-08  Jim Meyering  <jim@meyering.net>
64516
64517         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
64518         * lib/fpending.h: Rename from __fpending.h.
64519         * lib/fpending.c: Rename from __fpending.c.
64520         Include "fpending.h", not "__fpending.h".
64521         * lib/__fpending.h, lib/__fpending.c: Remove files.
64522         * modules/fpending (Files): Reflect new file names.
64523         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
64524
64525 2007-09-08  Bruno Haible  <bruno@clisp.org>
64526
64527         * m4/inttypes-h.m4: Remove stub file.
64528
64529 2007-09-07  Simon Josefsson  <simon@josefsson.org>
64530
64531         * doc/headers/stdint.texi: Discuss #include_next issue.
64532
64533 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64534
64535         * build-aux/bootstrap: Remove obsolete comment about wget --help.
64536
64537 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64538
64539         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
64540         in variable name.
64541
64542 2007-09-03  Jim Meyering  <jim@meyering.net>
64543
64544         New module: git-version-gen.
64545         * modules/git-version-gen: New file.
64546
64547         Import changes from coreutils for bootstrap script.
64548
64549         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
64550
64551         bootstrap: uses rsync to download the .po files
64552         * build-aux/bootstrap (po_download_command_format): New global.
64553         (download_po_files): Use rsync.
64554         (update_po_files): Don't remove .po files after download,
64555         so future rsync runs can take advantage of the copies.
64556
64557         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
64558
64559         Solve the unnecessary-.po-file-regeneration problem once and for all.
64560         * build-aux/bootstrap (download_po_files): New function, renamed from
64561         get_translations.  Now, downloads, but doesn't update LINGUAS.
64562         (update_po_files): New function.
64563
64564         bootstrap: Ignore more.
64565         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
64566         uniwidth to e.g., lib/.gitignore.
64567         (slurp): Handle the sys_stat_.h -> sys mapping, too.
64568
64569         * build-aux/bootstrap: New setting: vc_ignore.
64570         (insert_sorted_if_absent): Create $file if absent.
64571         Adapt to new, possibly empty, list: $vc_ignore.
64572
64573         bootstrap: generate more ignorable names
64574         * build-aux/bootstrap (slurp): When generating ignorable names,
64575         also map .sin to .sed, .gperf to .c, and .y to .c.
64576
64577 2007-09-03  Jim Meyering  <jim@meyering.net>
64578
64579         * build-aux/git-version-gen: New file, from coreutils.  For details, see
64580         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
64581
64582 2007-09-02  Bruno Haible  <bruno@clisp.org>
64583
64584         Fix mis-recognition of 'mcs' on QNX 6.
64585         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
64586         output contains the string "Mono".
64587         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
64588         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
64589
64590 2007-09-01  Bruno Haible  <bruno@clisp.org>
64591
64592         Fix collision between uniwidth/* and linebreak modules.
64593         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
64594         u32_width): Remove declarations.
64595         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
64596         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
64597         streq3, streq2, streq1, streq0): Remove functions.
64598         (STREQ): Remove macro.
64599         (is_cjk_encoding): Remove function.
64600         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
64601         (uc_width, u8_width, u16_width, u32_width): Remove functions.
64602         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
64603         * NEWS: Document the change.
64604
64605 2007-09-01  Bruno Haible  <bruno@clisp.org>
64606
64607         * lib/streq.h: Add double-inclusion guard.
64608
64609 2007-09-01  Karl Berry  <karl@gnu.org>
64610
64611         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
64612
64613 2007-08-28  Jim Meyering  <jim@meyering.net>
64614
64615         Rename mreadlink_with_size to areadlink_with_size.
64616         * NEWS: Document the change.
64617         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
64618         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
64619         * lib/mreadlink.h: Rename this to...
64620         * lib/areadlink.h: ...this.
64621         * modules/mreadlink-with-size: Rename this to...
64622         * modules/areadlink-with-size: ...this.
64623         * lib/canonicalize.c: Reflect the renaming.
64624         * modules/canonicalize: Likewise.
64625
64626 2007-08-26  Bruno Haible  <bruno@clisp.org>
64627
64628         * gnulib-tool (func_import): When deciding which files to remove,
64629         consider also dangling symbolic links.
64630         Reported by Eric Blake.
64631
64632 2007-08-26  Bruno Haible  <bruno@clisp.org>
64633
64634         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
64635
64636 2007-08-23  Simon Josefsson  <simon@josefsson.org>
64637
64638         * lib/readline.c: Don't include getline.h, the prototype is now
64639         found in stdio.h.
64640
64641 2007-08-23  Jim Meyering  <jim@meyering.net>
64642
64643         Getdelim touchup.
64644         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
64645         around the funlockfile call, since funlockfile never sets errno.
64646         Don't set errno upon failed realloc.
64647
64648 2007-08-22  Eric Blake  <ebb9@byu.net>
64649
64650         Getline touchups.
64651         * lib/getdelim.c (getdelim): Revert regression that required *n to
64652         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
64653         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
64654         getdelim, rather than whether implementation is missing.
64655         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
64656         * lib/stdio_.h (getline): Also declare if replacement is
64657         required.
64658         * doc/functions/getdelim.texi: New file.
64659         * doc/functions/getline.texi: Likewise.
64660         * doc/gnulib.texi (Function Substitutes): Add new files.
64661         Reported by Bruno Haible.
64662
64663 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
64664
64665         * users.txt: Add Guile.
64666
64667 2007-08-22  Eric Blake  <ebb9@byu.net>
64668
64669         * tests/test-getdelim.c (main): Use remove, not unlink.
64670         * tests/test-getline.c (main): Likewise.
64671
64672         Move getline and getdelim into stdio.h, per POSIX 200x.
64673         * modules/getline (Files): Remove getline.h.
64674         (Depends-on): Add stdio.
64675         (configure.ac): Add module indicator.
64676         * modules/getdelim (Files): Remove getdelim.h.
64677         (Depends-on): Add stdio.
64678         (configure.ac): Add module indicator.
64679         * modules/stdio (Makefile.am): Work with new indicators.
64680         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64681         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
64682         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64683         * lib/getdelim.h: Delete.
64684         * lib/getline.h: Delete.
64685         * lib/stdio_.h (getdelim, getline): Declare.
64686         * modules/getdelim-tests: New module.
64687         * modules/getline-tests: Likewise.
64688         * tests/test-getdelim.c: New file.
64689         * tests/test-getline.c: Likewise.
64690         * NEWS: Document the change.
64691         * lib/getline.c: Update choice of header.
64692         * lib/csharpcomp.c: Likewise.
64693         * lib/getpass.c: Likewise.
64694         * lib/javacomp.c: Likewise.
64695         * lib/javaversion.c: Likewise.
64696         * lib/yesno.c: Likewise.
64697         * lib/getdelim.c: Likewise.
64698         (getdelim): Set errno on failure, and avoid memory leak.
64699
64700 2007-08-19  Bruno Haible  <bruno@clisp.org>
64701
64702         * modules/closein (Depends-on): Add freadahead.
64703         * lib/closein.c: Include freadahead.h.
64704         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
64705         is zero.
64706
64707 2007-08-19  Bruno Haible  <bruno@clisp.org>
64708
64709         * modules/freadahead-tests: New file.
64710         * tests/test-freadahead.sh: New file.
64711         * tests/test-freadahead.c: New file.
64712
64713         * modules/freadahead: New file.
64714         * lib/freadahead.h: New file.
64715         * lib/freadahead.c: New file.
64716         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
64717         fbufmode, fpurge, freadable, fwritable.
64718
64719 2007-08-19  Eric Blake  <ebb9@byu.net>
64720
64721         Test yesno in combination with closein.
64722         * lib/yesno.c (yesno): Document use of stdin.
64723         * modules/yesno-tests (Files): New module.
64724         * tests/test-yesno.c (main): New file.
64725         * tests/test-yesno.sh: Likewise.
64726
64727 2007-08-19  Bruno Haible  <bruno@clisp.org>
64728
64729         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
64730         * lib/fseeko.c (rpl_fseeko): Likewise.
64731         * lib/fseterr.c (fseterr): Likewise.
64732
64733 2007-08-19  Bruno Haible  <bruno@clisp.org>
64734
64735         * tests/test-lseek.c (main): Disable a test for BeOS.
64736         * doc/functions/lseek.texi: Document the BeOS bug.
64737
64738 2007-08-19  Bruno Haible  <bruno@clisp.org>
64739             Eric Blake  <ebb9@byu.net>
64740
64741         * lib/lseek.c: Include <sys/stat.h>.
64742         (rpl_lseek): Add workaround code also for Unix platforms.
64743         Needed for BeOS.
64744         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
64745         * doc/functions/lseek.texi: Document BeOS definiency.
64746
64747 2007-08-18  Bruno Haible  <bruno@clisp.org>
64748
64749         * modules/fstrcmp-tests: New file.
64750         * tests/test-fstrcmp.c: New file.
64751
64752 2007-08-18  Bruno Haible  <bruno@clisp.org>
64753
64754         * modules/fstrcmp: New file, from GNU gettext with modifications.
64755         * lib/fstrcmp.h: New file, from GNU gettext.
64756         * lib/fstrcmp.c: New file, from GNU gettext.
64757         * MODULES.html.sh (String handling): Add fstrcmp.
64758
64759 2007-08-18  Bruno Haible  <bruno@clisp.org>
64760
64761         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
64762         'bool'.
64763         (diag, compareseq): Remove const from the ctxt argument.
64764         (USE_HEURISTIC): Undefine at the end.
64765
64766 2007-08-18  Jim Meyering  <jim@meyering.net>
64767
64768         New file: lib/idcache.h
64769         * NEWS: Mention the addition.
64770         * modules/idcache (Files): Add lib/idcache.h
64771         * lib/idcache.c: Include "idcache.h".
64772         Don't include <sys/types.h>.
64773         Add a FIXME comment.
64774         Move file-scoped "static" declarations to the top.
64775         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64776
64777 2007-08-17  Bruno Haible  <bruno@clisp.org>
64778         and Paul Eggert  <eggert@cs.ucla.edu>
64779
64780         * MODULES.html.sh: Add diffseq.
64781         * modules/diffseq: New file.
64782         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64783         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64784
64785 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64786
64787         Import changes from coreutils for bootstrap script.
64788
64789         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64790
64791         * build-aux/bootstrap (slurp): Work even in environments where
64792         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64793         current code does not slurp files whose names start with ".", and
64794         this looks like it might be a troublesome area.
64795
64796         2007-07-11  Jim Meyering  <jim@meyering.net>
64797
64798         If there's a GPL vN copyright comment, require that N == 3.
64799
64800         2007-07-08  Jim Meyering  <jim@meyering.net>
64801
64802         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64803         * build-aux/bootstrap (mam_template): Move definition out of loop.
64804
64805         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64806
64807         * build-aux/bootstrap (symlink_to_dir): Rename function from
64808         symlink_to_gnulib.  Add a directory parameter.  Update all
64809         callers.
64810         (cp_mark_as_generated): Also check for -- and link to -- files in
64811         gl/.
64812
64813         2007-07-08  Jim Meyering  <jim@meyering.net>
64814
64815         Adapt to deeper hierarchy in gnulib.
64816         * build-aux/bootstrap (symlink_to_dir): If the destination
64817         directory doesn't exist, create it. This is required at least for
64818         "lib/uniwidth/cjk.h".
64819
64820         2007-05-15  Jim Meyering  <jim@meyering.net>
64821
64822         * build-aux/bootstrap: Now that generated Makefile.am files
64823         are no longer under version control, they must be created at
64824         bootstrap time.
64825
64826 2007-08-14  Ben Pfaff  <blp@gnu.org>
64827
64828         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64829
64830 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64831
64832         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64833         given the changes below.
64834         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64835         even on hosts that have padding bits beyond the supported 64.
64836
64837 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64838
64839         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64840         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64841         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64842         depends on it.
64843         (xstrtol_error): Remove.
64844         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64845         but with a different signature.
64846         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64847         * lib/xstrtol-error.c: Include exitfail.h.
64848         (xstrtol_fatal): New function, with a different signature from the
64849         old xstrtol_error, so that the caller need not worry about passing
64850         in an exit status, or about storage management of the option argument.
64851         (xstrtol_error): Now a static function.  Redo signature to
64852         implement xstrtol_fatal.  Output the correct number of hyphens in
64853         front of the option so that the caller need not worry about
64854         storage management.
64855         (N_): New macro.
64856         (_): Remove; not used now.
64857         * modules/xstrtol: Depend on getopt.
64858         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64859         of old STRTOL_FATAL_ERROR macro.
64860         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64861         of test program.
64862         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64863         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64864
64865 2007-08-08  Eric Blake  <ebb9@byu.net>
64866
64867         * lib/xstrtol-error.c: Add missing include.
64868
64869         Move xstrtol messages into gnulib domain, when --pobase is used.
64870         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64871         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64872         * modules/xstrtol (Files): Distribute new file.
64873         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64874         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64875         * tests/test-xstrtol.c: ...into new file.
64876         * tests/test-xstrtoul.c: Also test xstrtoul.
64877         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64878         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64879         * tests/test-xstrtol.sh: Drive the tests.
64880         * tests/test-xstrtoimax.sh: Likewise.
64881         * tests/test-xstrtoumax.sh: Likewise.
64882         * modules/xstrtol-tests: New module.
64883         * modules/xstrtoimax-tests: Likewise.
64884         * modules/xstrtoumax-tests: Likewise.
64885
64886 2007-08-08  Jim Meyering  <jim@meyering.net>
64887
64888         New function: mfile_name_concat.
64889         * lib/filenamecat.c (mfile_name_concat): New function, just like
64890         file_name_concat, but return NULL upon failure rather than exiting
64891         with a diagnostic.
64892         * lib/filenamecat.h: Declare it.
64893
64894 2007-08-07  Bruno Haible  <bruno@clisp.org>
64895
64896         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64897         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64898         warning from gcc.
64899         Reported by Eric Blake.
64900
64901 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64902
64903         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64904         * modules/crypto/arcfour (License): Likewise.
64905         * modules/crypto/des-tests (License): Likewise.
64906         * modules/crypto/gc-arctwo-tests (License): Likewise.
64907         * modules/crypto/gc-des-tests (License): Likewise.
64908         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64909         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64910         * modules/crypto/gc-md2-tests (License): Likewise.
64911         * modules/crypto/gc-md4-tests (License): Likewise.
64912         * modules/crypto/gc-md5-tests (License): Likewise.
64913         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64914         * modules/crypto/gc-rijndael-tests (License): Likewise.
64915         * modules/crypto/gc-sha1-tests (License): Likewise.
64916         * modules/crypto/gc-tests (License): Likewise.
64917         * modules/crypto/hmac-md5 (License): Likewise.
64918         * modules/crypto/hmac-sha1 (License): Likewise.
64919         * modules/crypto/md2-tests (License): Likewise.
64920         * modules/crypto/md4-tests (License): Likewise.
64921         * modules/crypto/md5 (License): Likewise.
64922         * modules/crypto/rijndael (License): Likewise.
64923         * modules/crypto/sha1 (License): Likewise.
64924         * modules/memxor (License): Likewise.
64925
64926 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64927         and Bruno Haible  <bruno@clisp.org>
64928
64929         * NEWS: Describe interface changes to human, xstrtol.
64930         * lib/human.h: Include <xstrtol.h>.
64931         (human_options): Return enum strtol_error, not int.  Remove
64932         bool arg; take int * instead.
64933         * lib/human.c: Don't include "gettext.h".
64934         (_): Remove; no longer used.
64935         Don't include <xstrtol.h>, since human.h does it.
64936         (human_options): Adjust to abovementioned interface changes.
64937         Do not report error to stderr; that's now the caller's
64938         responsibility.
64939         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
64940         interface change.
64941         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
64942         Str, Argument_type_string.  All uses changed.  Put " argument"
64943         in diagnostics to make them clearer.  Change wording of suffix
64944         message for clarity.
64945         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
64946         Argument_type_string.
64947         (STRTOL_FATAL_WARN): Remove; no longer used.
64948         * modules/human (Depends-on): Remove gettext-h.
64949
64950 2007-08-06  Simon Josefsson  <simon@josefsson.org>
64951
64952         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
64953
64954 2007-07-31  Bruno Haible  <bruno@clisp.org>
64955
64956         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
64957         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
64958         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
64959
64960 2007-07-31  Bruno Haible  <bruno@clisp.org>
64961
64962         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
64963         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
64964
64965 2007-07-30  Bruno Haible  <bruno@clisp.org>
64966
64967         * modules/base64 (License): Use the synonymous term "LGPLv2+".
64968         * modules/c-ctype (License): Likewise.
64969         * modules/c-strcase (License): Likewise.
64970         * modules/check-version (License): Likewise.
64971         * modules/iconv (License): Likewise.
64972         * modules/iconv_open (License): Likewise.
64973         * modules/read-file (License): Likewise.
64974         * modules/striconv (License): Likewise.
64975         * modules/strverscmp (License): Likewise.
64976         * modules/vasprintf (License): Likewise.
64977         * modules/crypto/des (License): Likewise.
64978         * modules/crypto/gc (License): Likewise.
64979         * modules/crypto/gc-arcfour (License): Likewise.
64980         * modules/crypto/gc-arctwo (License): Likewise.
64981         * modules/crypto/gc-des (License): Likewise.
64982         * modules/crypto/gc-hmac-md5 (License): Likewise.
64983         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64984         * modules/crypto/gc-md2 (License): Likewise.
64985         * modules/crypto/gc-md4 (License): Likewise.
64986         * modules/crypto/gc-md5 (License): Likewise.
64987         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64988         * modules/crypto/gc-random (License): Likewise.
64989         * modules/crypto/gc-rijndael (License): Likewise.
64990         * modules/crypto/gc-sha1 (License): Likewise.
64991         * modules/crypto/md2 (License): Likewise.
64992         * modules/crypto/md4 (License): Likewise.
64993
64994 2007-07-30  Jim Meyering  <jim@meyering.net>
64995
64996         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64997         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64998         it has valid stat data.  This bug would cause du not to count the
64999         sizes of inaccessible directories.
65000         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
65001         in <http://bugzilla.redhat.com/250077>.
65002
65003 2007-07-25  Peter O'Gorman  <peter@pogma.com>
65004             Bruno Haible  <bruno@clisp.org>
65005
65006         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
65007         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
65008         #include_next, gives a diagnostic about it, but reports no error in
65009         the exit code.
65010         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
65011
65012 2007-07-24  Ben Pfaff  <blp@gnu.org>
65013
65014         Improve name: "count-one-bits" is better than "popcount".
65015         * MODULES.html.sh: Update name.
65016         * lib/popcount.h: Renamed lib/count-one-bits.h.
65017         (popcount): Renamed count_one_bits.
65018         (popcountl): Renamed count_one_bits_l.
65019         (popcountll): Renamed count_one_bits_ll.
65020         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
65021         * modules/popcount: Renamed module/count-one-bits.
65022         * modules/popcount-tests: Renamed module/count-one-bits-tests.
65023         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
65024
65025 2007-07-23  Ben Pfaff  <blp@gnu.org>
65026
65027         * lib/popcount.h (popcount32): Reduce size of constants, to allow
65028         better code generation, and add U to large constants to avoid
65029         warnings, in non-GCC case.
65030         Suggested by Bruno Haible.
65031
65032 2007-07-23  Ben Pfaff  <blp@gnu.org>
65033
65034         * lib/popcount.h: Use verify_true instead of if...abort.
65035         * modules/popcount: Depend on verify module.
65036         Suggested by Jim Meyering.
65037
65038 2007-07-23  Bruno Haible  <bruno@clisp.org>
65039
65040         * gnulib-tool (func_import): Create a .cvsignore file also when the
65041         directory is not yet in CVS but the toplevel directory is. When
65042         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
65043         Reported by Karl Berry.
65044
65045 2007-07-22  Ben Pfaff  <blp@gnu.org>
65046
65047         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
65048         case.
65049         Suggested by Eric Blake.
65050
65051 2007-07-22  Ben Pfaff  <blp@gnu.org>
65052
65053         New module: popcount.
65054         * MODULES.html.sh: Add popcount.
65055         * modules/popcount: New file.
65056         * modules/popcount-tests: New file.
65057         * tests/test-popcount.c: New file.
65058         * lib/popcount.h: New file.
65059         * m4/popcount.m4: New file.
65060
65061 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65062
65063         * build-aux/announce-gen: Update to GPLv3.
65064
65065         * build-aux/config.guess: Update from config.
65066
65067 2007-07-21  Bruno Haible  <bruno@clisp.org>
65068
65069         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
65070         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
65071
65072 2007-07-20  Jim Meyering  <jim@meyering.net>
65073
65074         * check-module: Diagnose a self-dependency.
65075
65076 2007-07-19  Bruno Haible  <bruno@clisp.org>
65077
65078         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
65079         empty.
65080         Reported by Eric Blake.
65081
65082 2007-07-18  Bruno Haible  <bruno@clisp.org>
65083
65084         * gnulib-tool: New options --po-base, --po-domain.
65085         (func_usage): Document them.
65086         (pobase, po_domain): New variables.
65087         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
65088         DEFAULT_TEXT_DOMAIN.
65089         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
65090         (func_import): Consider pobase and po_domain. Create a po/ directory.
65091         (func_create_testdir): Set pobase and po_domain to empty.
65092         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
65093         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
65094
65095 2007-07-18  Bruno Haible  <bruno@clisp.org>
65096
65097         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65098         EXTRA_DIST augmentation for files in build-aux/.
65099
65100 2007-07-16  Bruno Haible  <bruno@clisp.org>
65101
65102         * modules/lseek (License): Use the synonymous term "LGPLv2+".
65103         * modules/getdelim (License): Likewise.
65104
65105 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65106
65107         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
65108         * modules/d-type (License): Likewise.
65109         * modules/extensions (License): Likewise.
65110         * modules/fnmatch (License): Likewise.
65111         * modules/fseeko (License): Likewise.
65112         * modules/getaddrinfo (License): Likewise.
65113         * modules/getline (License): Likewise.
65114         * modules/getlogin_r (License): Likewise.
65115         * modules/getpass (License): Likewise.
65116         * modules/gettimeofday (License): Likewise.
65117         * modules/glob (License): Likewise.
65118         * modules/inet_ntop (License): Likewise.
65119         * modules/malloc (License): Likewise.
65120         * modules/malloca (License): Likewise.
65121         * modules/memmem (License): Likewise.
65122         * modules/mempcpy (License): Likewise.
65123         * modules/memset (License): Likewise.
65124         * modules/minmax (License): Likewise.
65125         * modules/mktime (License): Likewise.
65126         * modules/netinet_in (License): Likewise.
65127         * modules/pathmax (License): Likewise.
65128         * modules/poll (License): Likewise.
65129         * modules/regex (License): Likewise.
65130         * modules/snprintf (License): Likewise.
65131         * modules/stdbool (License): Likewise.
65132         * modules/stdint (License): Likewise.
65133         * modules/stdio (License): Likewise.
65134         * modules/strcase (License): Likewise.
65135         * modules/strcasestr (License): Likewise.
65136         * modules/strdup (License): Likewise.
65137         * modules/string (License): Likewise.
65138         * modules/strndup (License): Likewise.
65139         * modules/strnlen (License): Likewise.
65140         * modules/strpbrk (License): Likewise.
65141         * modules/strptime (License): Likewise.
65142         * modules/strsep (License): Likewise.
65143         * modules/sys_select (License): Likewise.
65144         * modules/sys_socket (License): Likewise.
65145         * modules/sys_stat (License): Likewise.
65146         * modules/sys_time (License): Likewise.
65147         * modules/time (License): Likewise.
65148         * modules/time_r (License): Likewise.
65149         * modules/timegm (License): Likewise.
65150         * modules/unistd (License): Likewise.
65151         * modules/vsnprintf (License): Likewise.
65152         * modules/wctype (License): Likewise.
65153
65154 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65155
65156         * modules/argz (License): LGPLv2+.
65157
65158 2007-07-15  Karl Berry  <karl@gnu.org>
65159
65160         * doc/gnulib.texi: revise node structure per new fdl.texi.
65161
65162 2007-07-14  Bruno Haible  <bruno@clisp.org>
65163
65164         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
65165         the output file.
65166         * lib/uniname/uninames.h: Regenerated.
65167
65168 2007-07-14  Karl Berry  <karl@gnu.org>
65169
65170         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
65171         omitting sectioning and index commands.
65172
65173 2007-07-13  Bruno Haible  <bruno@clisp.org>
65174
65175         New gnulib-tool option --more-symlinks.
65176         * gnulib-tool (func_usage): Document --more-symlinks.
65177         (do_copyrights): New variable.
65178         Recognize option --more-symlinks.
65179         (func_import): Don't add a copyright notice transform to
65180         sed_transform_lib_file if do_copyrights is empty.
65181
65182 2007-07-13  Bruno Haible  <bruno@clisp.org>
65183
65184         * lib/vasnprintf.c (decimal_point_char): Define also if
65185         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
65186         && !NEED_PRINTF_DIRECTIVE_A.
65187         Reported by Clemens Koller <clemens.koller@anagramm.de> via
65188         Gary V. Vaughan <gary@gnu.org>.
65189
65190 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
65191
65192         * lib/inttypes_.h: Undo previous change, since it was fixed
65193         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
65194
65195 2007-07-13  Bruno Haible  <bruno@clisp.org>
65196
65197         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
65198         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
65199
65200 2007-07-13  Jim Meyering  <jim@meyering.net>
65201
65202         df: Don't fail for Tru64's "file-on-file mount".
65203         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
65204         so we fall through and use statfs instead.  Details here:
65205         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
65206         Reported by Albert Chin.
65207
65208 2007-07-13  Bruno Haible  <bruno@clisp.org>
65209
65210         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
65211         * modules/configmake (License): Likewise.
65212         * modules/gettext (License): Likewise.
65213         * modules/gettext-h (License): Likewise.
65214         * modules/include_next (License): Likewise.
65215         * modules/link-warning (License): Likewise.
65216         * modules/localcharset (License): Likewise.
65217         * modules/localename (License): Likewise.
65218         * modules/lock (License): Likewise.
65219         * modules/relocatable-lib-lgpl (License): Likewise.
65220         * modules/size_max (License): Likewise.
65221         * modules/vasnprintf (License): Likewise.
65222         * modules/wchar (License): Likewise.
65223         * modules/xsize (License): Likewise.
65224
65225 2007-07-13  Bruno Haible  <bruno@clisp.org>
65226
65227         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
65228         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
65229
65230 2007-07-12  Bruno Haible  <bruno@clisp.org>
65231
65232         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
65233         in the modules files.
65234
65235 2007-07-11  Karl Berry  <karl@gnu.org>
65236
65237         * MODULES.html.sh (func_module): use
65238          sed -e '\|^'"${includefile}"'$|d'
65239          instead of /.../d, to avoid errors on $includefile's containing /.
65240
65241 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65242
65243         * gnulib-tool (func_import): Avoid duplication of --avoid
65244         statements
65245         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
65246         names to `_' in variable names.
65247
65248 2007-07-10  Eric Blake  <ebb9@byu.net>
65249
65250         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
65251         * NEWS: Document this change.
65252
65253 2007-07-08  Bruno Haible  <bruno@clisp.org>
65254
65255         Update to Unicode 5.0.
65256         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
65257         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
65258         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65259         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
65260         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
65261         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
65262         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
65263         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
65264         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
65265         U+10A3F, U+1D242..U+1D244.
65266         (nonspacing_table_ind): Update.
65267         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
65268         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
65269
65270 2007-07-08  Bruno Haible  <bruno@clisp.org>
65271
65272         Update to Unicode 5.0.
65273         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
65274         code transform. Extend the name index field of unicode_name_to_code and
65275         unicode_code_to_name from 16 to 24 bits.
65276         * lib/uniname/uniname.c (unicode_character_name,
65277         unicode_name_character): Add the range 0x12xxx to the code transform.
65278         * lib/uniname/uninames.h: Regenerated.
65279         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
65280
65281 2007-07-07  Bruno Haible  <bruno@clisp.org>
65282
65283         * modules/wcwidth-tests: New file.
65284         * tests/test-wcwidth.c: New file.
65285
65286         Work around MacOS X wcwidth() bug.
65287         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
65288         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
65289         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
65290         original wcwidth in non-UTF-8 locales.
65291         * modules/wcwidth (Depends-on): Add localcharset, streq,
65292         uniwidth/width.
65293         * doc/functions/wcwidth.texi: Update.
65294
65295 2007-07-07  Bruno Haible  <bruno@clisp.org>
65296
65297         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
65298         (wcwidth): New declaration.
65299         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
65300         macros.
65301         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
65302         here. Prepare for creating <wchar.h> unconditionally.
65303         * modules/wchar (Depends-on): Add link-warning.
65304         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
65305         REPLACE_WCWIDTH, and GL_LINK_WARNING.
65306         * lib/wcwidth.h: Remove file.
65307         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
65308         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
65309         * modules/wcwidth (Files): Remove lib/wcwidth.h.
65310         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
65311         (Include): Replace wcwidth.h with <wchar.h>.
65312         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
65313         * lib/mbchar.h: Don't include wcwidth.h.
65314         * lib/mbswidth.c: Likewise.
65315         * NEWS: Mention the change.
65316
65317 2007-07-07  Bruno Haible  <bruno@clisp.org>
65318
65319         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
65320         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
65321         definition with an external declaration.
65322         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
65323         defined as a function. Remove AC_C_INLINE requirement.
65324         * modules/wcwidth (Files): Add lib/wcwidth.c.
65325         (Makefile.am): Remove redundant statement.
65326
65327 2007-07-07  Bruno Haible  <bruno@clisp.org>
65328
65329         * MODULES.html.sh (Unicode string functions): Add the new modules.
65330
65331         * tests/uniwidth/test-u32-strwidth.c: New file.
65332         * modules/uniwidth/u32-strwidth-tests: New file.
65333
65334         * lib/uniwidth/u32-strwidth.c: New file.
65335         * modules/uniwidth/u32-strwidth: New file.
65336
65337         * tests/uniwidth/test-u16-strwidth.c: New file.
65338         * modules/uniwidth/u16-strwidth-tests: New file.
65339
65340         * lib/uniwidth/u16-strwidth.c: New file.
65341         * modules/uniwidth/u16-strwidth: New file.
65342
65343         * tests/uniwidth/test-u8-strwidth.c: New file.
65344         * modules/uniwidth/u8-strwidth-tests: New file.
65345
65346         * lib/uniwidth/u8-strwidth.c: New file.
65347         * modules/uniwidth/u8-strwidth: New file.
65348
65349         * tests/uniwidth/test-u32-width.c: New file.
65350         * modules/uniwidth/u32-width-tests: New file.
65351
65352         * lib/uniwidth/u32-width.c: New file.
65353         * modules/uniwidth/u32-width: New file.
65354
65355         * tests/uniwidth/test-u16-width.c: New file.
65356         * modules/uniwidth/u16-width-tests: New file.
65357
65358         * lib/uniwidth/u16-width.c: New file.
65359         * modules/uniwidth/u16-width: New file.
65360
65361         * tests/uniwidth/test-u8-width.c: New file.
65362         * modules/uniwidth/u8-width-tests: New file.
65363
65364         * lib/uniwidth/u8-width.c: New file.
65365         * modules/uniwidth/u8-width: New file.
65366
65367         * tests/uniwidth/test-uc_width.c: New file.
65368         * modules/uniwidth/width-tests: New file.
65369
65370         * lib/uniwidth/width.c: New file, from GNU libiconv.
65371         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65372         * modules/uniwidth/width: New file.
65373
65374         * lib/uniwidth.h: New file, from GNU libiconv.
65375         * modules/uniwidth/base: New file.
65376
65377 2007-07-07  Bruno Haible  <bruno@clisp.org>
65378
65379         * lib/uniname.h: New file, from GNU gettext.
65380         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65381         * lib/uniname/uninames.h: New file, from GNU gettext.
65382         * lib/uniname/uniname.c: New file, from GNU gettext.
65383         * tests/uniname/test-uninames.sh: New file.
65384         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65385         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65386         * modules/uniname/base: New file.
65387         * modules/uniname/uniname: New file.
65388         * modules/uniname/uniname-tests: New file.
65389         * MODULES.html.sh (Unicode string functions): Add the new modules.
65390
65391 2007-07-06  Bruno Haible  <bruno@clisp.org>
65392
65393         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65394
65395 2007-07-06  Bruno Haible  <bruno@clisp.org>
65396
65397         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65398         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65399         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65400         include <sys/time.h>.
65401         Reported by Eric Blake.
65402
65403 2007-07-06  Eric Blake  <ebb9@byu.net>
65404
65405         Fix testing canonicalize on cygwin.
65406         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65407         Revert patch from 2007-06-19.
65408         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
65409         canonicalize module is also in use.
65410         * tests/test-canonicalize.c: New file.
65411         * tests/test-canonicalize.sh: Likewise.
65412         * modules/canonicalize-tests: Likewise.
65413
65414 2007-07-06  Jim Meyering  <jim@meyering.net>
65415
65416         * lib/getugroups.c (getugroups): Detect getgrent failure.
65417         Adjust comment to reflect reality: this function may return -1.
65418
65419 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65420
65421         * build-aux/bootstrap (TP_URL,get_translations): Update to use
65422         the new TP address.
65423         (usage): Fix typo
65424         (gnulib_mk): New variable.
65425
65426 2007-07-05  Jim Meyering  <jim@meyering.net>
65427
65428         Don't let endgrent clobber errno, no matter how improbable.
65429         * lib/getugroups.c (getugroups): Save and restore errno around
65430         endgrent call.
65431
65432         Close the group DB even when failing with 2^31 or more members.
65433         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
65434
65435 2007-07-04  Jim Meyering  <jim@meyering.net>
65436
65437         * lib/getugroups.h: New file.
65438         * lib/getugroups.c: Include "getugroups.h".
65439         Remove uses of "register" keyword.
65440         Move local variable, "cp", down into scope where used.
65441         Give "username" parameter the "const" attribute.
65442         * modules/getugroups (Files): Add lib/getugroups.h
65443
65444 2007-07-04  Karl Berry  <karl@gnu.org>
65445
65446         * MODULES.html.sh (func_all_modules): Complete rename of
65447         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
65448
65449 2007-07-02  Bruno Haible  <bruno@clisp.org>
65450
65451         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
65452         mode, when inttypes.h comes from gnulib.
65453         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65454
65455 2007-07-02  Simon Josefsson  <simon@josefsson.org>
65456
65457         * NEWS: Mention lgpl module name change.
65458
65459         * modules/lgpl-2.1: Renamed from lgpl.
65460
65461         * NEWS: Mention gpl module name change.
65462
65463         * modules/gpl-3.0: New file, based on gpl-2.0.
65464
65465         * modules/gpl-2.0: Renamed from gpl.
65466
65467         * modules/gpl: Fix filename, doc/gpl.texi is now found at
65468         doc/gpl-2.0.texi.
65469
65470 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
65471
65472         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
65473         #define __STDC_LIMIT_MACROS temporarily while including
65474         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
65475         Problem reported by Joel E. Denny in
65476         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
65477
65478 2007-07-01  Bruno Haible  <bruno@clisp.org>
65479
65480         * lib/unistdio.h: New file.
65481         * lib/unistdio/u-asnprintf.h: New file.
65482         * lib/unistdio/u-asprintf.h: New file.
65483         * lib/unistdio/u-printf-args.c: New file.
65484         * lib/unistdio/u-printf-args.h: New file.
65485         * lib/unistdio/u-printf-parse.h: New file.
65486         * lib/unistdio/u-snprintf.h: New file.
65487         * lib/unistdio/u-sprintf.h: New file.
65488         * lib/unistdio/u-vasprintf.h: New file.
65489         * lib/unistdio/u-vsnprintf.h: New file.
65490         * lib/unistdio/u-vsprintf.h: New file.
65491         * lib/unistdio/ulc-asnprintf.c: New file.
65492         * lib/unistdio/ulc-asprintf.c: New file.
65493         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
65494         * lib/unistdio/ulc-printf-parse.c: New file.
65495         * lib/unistdio/ulc-snprintf.c: New file.
65496         * lib/unistdio/ulc-sprintf.c: New file.
65497         * lib/unistdio/ulc-vasnprintf.c: New file.
65498         * lib/unistdio/ulc-vasprintf.c: New file.
65499         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
65500         * lib/unistdio/ulc-vsnprintf.c: New file.
65501         * lib/unistdio/ulc-vsprintf.c: New file.
65502         * lib/unistdio/u8-asnprintf.c: New file.
65503         * lib/unistdio/u8-asprintf.c: New file.
65504         * lib/unistdio/u8-printf-parse.c: New file.
65505         * lib/unistdio/u8-snprintf.c: New file.
65506         * lib/unistdio/u8-sprintf.c: New file.
65507         * lib/unistdio/u8-vasnprintf.c: New file.
65508         * lib/unistdio/u8-vasprintf.c: New file.
65509         * lib/unistdio/u8-vsnprintf.c: New file.
65510         * lib/unistdio/u8-vsprintf.c: New file.
65511         * lib/unistdio/u8-u8-asnprintf.c: New file.
65512         * lib/unistdio/u8-u8-asprintf.c: New file.
65513         * lib/unistdio/u8-u8-snprintf.c: New file.
65514         * lib/unistdio/u8-u8-sprintf.c: New file.
65515         * lib/unistdio/u8-u8-vasnprintf.c: New file.
65516         * lib/unistdio/u8-u8-vasprintf.c: New file.
65517         * lib/unistdio/u8-u8-vsnprintf.c: New file.
65518         * lib/unistdio/u8-u8-vsprintf.c: New file.
65519         * lib/unistdio/u16-asnprintf.c: New file.
65520         * lib/unistdio/u16-asprintf.c: New file.
65521         * lib/unistdio/u16-printf-parse.c: New file.
65522         * lib/unistdio/u16-snprintf.c: New file.
65523         * lib/unistdio/u16-sprintf.c: New file.
65524         * lib/unistdio/u16-vasnprintf.c: New file.
65525         * lib/unistdio/u16-vasprintf.c: New file.
65526         * lib/unistdio/u16-vsnprintf.c: New file.
65527         * lib/unistdio/u16-vsprintf.c: New file.
65528         * lib/unistdio/u16-u16-asnprintf.c: New file.
65529         * lib/unistdio/u16-u16-asprintf.c: New file.
65530         * lib/unistdio/u16-u16-snprintf.c: New file.
65531         * lib/unistdio/u16-u16-sprintf.c: New file.
65532         * lib/unistdio/u16-u16-vasnprintf.c: New file.
65533         * lib/unistdio/u16-u16-vasprintf.c: New file.
65534         * lib/unistdio/u16-u16-vsnprintf.c: New file.
65535         * lib/unistdio/u16-u16-vsprintf.c: New file.
65536         * lib/unistdio/u32-asnprintf.c: New file.
65537         * lib/unistdio/u32-asprintf.c: New file.
65538         * lib/unistdio/u32-printf-parse.c: New file.
65539         * lib/unistdio/u32-snprintf.c: New file.
65540         * lib/unistdio/u32-sprintf.c: New file.
65541         * lib/unistdio/u32-vasnprintf.c: New file.
65542         * lib/unistdio/u32-vasprintf.c: New file.
65543         * lib/unistdio/u32-vsnprintf.c: New file.
65544         * lib/unistdio/u32-vsprintf.c: New file.
65545         * lib/unistdio/u32-u32-asnprintf.c: New file.
65546         * lib/unistdio/u32-u32-asprintf.c: New file.
65547         * lib/unistdio/u32-u32-snprintf.c: New file.
65548         * lib/unistdio/u32-u32-sprintf.c: New file.
65549         * lib/unistdio/u32-u32-vasnprintf.c: New file.
65550         * lib/unistdio/u32-u32-vasprintf.c: New file.
65551         * lib/unistdio/u32-u32-vsnprintf.c: New file.
65552         * lib/unistdio/u32-u32-vsprintf.c: New file.
65553         * tests/unistdio/test-ulc-asnprintf1.c: New file.
65554         * tests/unistdio/test-ulc-asnprintf1.h: New file.
65555         * tests/unistdio/test-ulc-printf1.h: New file.
65556         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
65557         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
65558         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
65559         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
65560         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
65561         * tests/unistdio/test-ulc-vasprintf1.c: New file.
65562         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
65563         * tests/unistdio/test-ulc-vsprintf1.c: New file.
65564         * tests/unistdio/test-u8-asnprintf1.c: New file.
65565         * tests/unistdio/test-u8-asnprintf1.h: New file.
65566         * tests/unistdio/test-u8-printf1.h: New file.
65567         * tests/unistdio/test-u8-vasnprintf1.c: New file.
65568         * tests/unistdio/test-u8-vasnprintf2.c: New file.
65569         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
65570         * tests/unistdio/test-u8-vasnprintf3.c: New file.
65571         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
65572         * tests/unistdio/test-u8-vasprintf1.c: New file.
65573         * tests/unistdio/test-u8-vsnprintf1.c: New file.
65574         * tests/unistdio/test-u8-vsprintf1.c: New file.
65575         * tests/unistdio/test-u16-asnprintf1.c: New file.
65576         * tests/unistdio/test-u16-asnprintf1.h: New file.
65577         * tests/unistdio/test-u16-printf1.h: New file.
65578         * tests/unistdio/test-u16-vasnprintf1.c: New file.
65579         * tests/unistdio/test-u16-vasnprintf2.c: New file.
65580         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
65581         * tests/unistdio/test-u16-vasnprintf3.c: New file.
65582         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
65583         * tests/unistdio/test-u16-vasprintf1.c: New file.
65584         * tests/unistdio/test-u16-vsnprintf1.c: New file.
65585         * tests/unistdio/test-u16-vsprintf1.c: New file.
65586         * tests/unistdio/test-u32-asnprintf1.c: New file.
65587         * tests/unistdio/test-u32-asnprintf1.h: New file.
65588         * tests/unistdio/test-u32-printf1.h: New file.
65589         * tests/unistdio/test-u32-vasnprintf1.c: New file.
65590         * tests/unistdio/test-u32-vasnprintf2.c: New file.
65591         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
65592         * tests/unistdio/test-u32-vasnprintf3.c: New file.
65593         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
65594         * tests/unistdio/test-u32-vasprintf1.c: New file.
65595         * tests/unistdio/test-u32-vsnprintf1.c: New file.
65596         * tests/unistdio/test-u32-vsprintf1.c: New file.
65597         * modules/unistdio/base: New file.
65598         * modules/unistdio/u-printf-args: New file.
65599         * modules/unistdio/ulc-asnprintf: New file.
65600         * modules/unistdio/ulc-asprintf: New file.
65601         * modules/unistdio/ulc-fprintf: New file.
65602         * modules/unistdio/ulc-printf-parse: New file.
65603         * modules/unistdio/ulc-snprintf: New file.
65604         * modules/unistdio/ulc-sprintf: New file.
65605         * modules/unistdio/ulc-vasnprintf: New file.
65606         * modules/unistdio/ulc-vasprintf: New file.
65607         * modules/unistdio/ulc-vfprintf: New file.
65608         * modules/unistdio/ulc-vsnprintf: New file.
65609         * modules/unistdio/ulc-vsprintf: New file.
65610         * modules/unistdio/u8-asnprintf: New file.
65611         * modules/unistdio/u8-asprintf: New file.
65612         * modules/unistdio/u8-printf-parse: New file.
65613         * modules/unistdio/u8-snprintf: New file.
65614         * modules/unistdio/u8-sprintf: New file.
65615         * modules/unistdio/u8-vasnprintf: New file.
65616         * modules/unistdio/u8-vasprintf: New file.
65617         * modules/unistdio/u8-vsnprintf: New file.
65618         * modules/unistdio/u8-vsprintf: New file.
65619         * modules/unistdio/u8-u8-asnprintf: New file.
65620         * modules/unistdio/u8-u8-asprintf: New file.
65621         * modules/unistdio/u8-u8-snprintf: New file.
65622         * modules/unistdio/u8-u8-sprintf: New file.
65623         * modules/unistdio/u8-u8-vasnprintf: New file.
65624         * modules/unistdio/u8-u8-vasprintf: New file.
65625         * modules/unistdio/u8-u8-vsnprintf: New file.
65626         * modules/unistdio/u8-u8-vsprintf: New file.
65627         * modules/unistdio/u16-asnprintf: New file.
65628         * modules/unistdio/u16-asprintf: New file.
65629         * modules/unistdio/u16-printf-parse: New file.
65630         * modules/unistdio/u16-snprintf: New file.
65631         * modules/unistdio/u16-sprintf: New file.
65632         * modules/unistdio/u16-vasnprintf: New file.
65633         * modules/unistdio/u16-vasprintf: New file.
65634         * modules/unistdio/u16-vsnprintf: New file.
65635         * modules/unistdio/u16-vsprintf: New file.
65636         * modules/unistdio/u16-u16-asnprintf: New file.
65637         * modules/unistdio/u16-u16-asprintf: New file.
65638         * modules/unistdio/u16-u16-snprintf: New file.
65639         * modules/unistdio/u16-u16-sprintf: New file.
65640         * modules/unistdio/u16-u16-vasnprintf: New file.
65641         * modules/unistdio/u16-u16-vasprintf: New file.
65642         * modules/unistdio/u16-u16-vsnprintf: New file.
65643         * modules/unistdio/u16-u16-vsprintf: New file.
65644         * modules/unistdio/u32-asnprintf: New file.
65645         * modules/unistdio/u32-asprintf: New file.
65646         * modules/unistdio/u32-printf-parse: New file.
65647         * modules/unistdio/u32-snprintf: New file.
65648         * modules/unistdio/u32-sprintf: New file.
65649         * modules/unistdio/u32-vasnprintf: New file.
65650         * modules/unistdio/u32-vasprintf: New file.
65651         * modules/unistdio/u32-vsnprintf: New file.
65652         * modules/unistdio/u32-vsprintf: New file.
65653         * modules/unistdio/u32-u32-asnprintf: New file.
65654         * modules/unistdio/u32-u32-asprintf: New file.
65655         * modules/unistdio/u32-u32-snprintf: New file.
65656         * modules/unistdio/u32-u32-sprintf: New file.
65657         * modules/unistdio/u32-u32-vasnprintf: New file.
65658         * modules/unistdio/u32-u32-vasprintf: New file.
65659         * modules/unistdio/u32-u32-vsnprintf: New file.
65660         * modules/unistdio/u32-u32-vsprintf: New file.
65661         * modules/unistdio/ulc-asnprintf-tests: New file.
65662         * modules/unistdio/ulc-vasnprintf-tests: New file.
65663         * modules/unistdio/ulc-vasprintf-tests: New file.
65664         * modules/unistdio/ulc-vsnprintf-tests: New file.
65665         * modules/unistdio/ulc-vsprintf-tests: New file.
65666         * modules/unistdio/u8-asnprintf-tests: New file.
65667         * modules/unistdio/u8-vasnprintf-tests: New file.
65668         * modules/unistdio/u8-vasprintf-tests: New file.
65669         * modules/unistdio/u8-vsnprintf-tests: New file.
65670         * modules/unistdio/u8-vsprintf-tests: New file.
65671         * modules/unistdio/u16-asnprintf-tests: New file.
65672         * modules/unistdio/u16-vasnprintf-tests: New file.
65673         * modules/unistdio/u16-vasprintf-tests: New file.
65674         * modules/unistdio/u16-vsnprintf-tests: New file.
65675         * modules/unistdio/u16-vsprintf-tests: New file.
65676         * modules/unistdio/u32-asnprintf-tests: New file.
65677         * modules/unistdio/u32-vasnprintf-tests: New file.
65678         * modules/unistdio/u32-vasprintf-tests: New file.
65679         * modules/unistdio/u32-vsnprintf-tests: New file.
65680         * modules/unistdio/u32-vsprintf-tests: New file.
65681         * MODULES.html.sh (Unicode string functions): Add the new modules.
65682
65683 2007-07-01  Bruno Haible  <bruno@clisp.org>
65684
65685         * lib/sprintf.c (sprintf): Limit the available length estimation,
65686         to avoid address wraparound.
65687         * lib/vsprintf.c (vsprintf): Likewise.
65688         * modules/sprintf-posix (Dependencies): Add stdint.
65689         * modules/vsprintf-posix (Dependencies): Likewise.
65690
65691 2007-07-01  Bruno Haible  <bruno@clisp.org>
65692
65693         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
65694         Windows PATH as well. Conservative double-quoting. Comments.
65695
65696 2007-07-01  Bruno Haible  <bruno@clisp.org>
65697             Eric Blake  <ebb9@byu.net>
65698             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65699
65700         * gnulib-tool (self_abspathname): Fix algorithm to cope with
65701         empty components in $PATH, denoting '.'.
65702
65703 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65704
65705         * gnulib-tool: Fix indentation.
65706         (func_create_megatestdir): Likewise.
65707         Report by Bruno Haible.
65708
65709 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65710
65711         Sync from Automake.
65712         * build-aux/gnupload: Fix shell portability issues with for loops.
65713         Report by Karl Berry.
65714
65715 2007-06-29  Simon Josefsson  <simon@josefsson.org>
65716
65717         * build-aux/maint.mk (POURL): Use translationproject.org.
65718
65719 2007-06-27  Simon Josefsson  <simon@josefsson.org>
65720             Bruno Haible  <bruno@clisp.org>
65721
65722         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
65723         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
65724         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
65725         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
65726         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
65727
65728 2007-06-27  Bruno Haible  <bruno@clisp.org>
65729
65730         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
65731         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
65732
65733 2007-06-26  Karl Berry  <karl@gnu.org>
65734
65735         * MODULES.html.sh: remove xreadlink-with-size.
65736
65737 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65738
65739         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
65740         method that I hope also handles the double-include problem noted
65741         by Bruno Haible in
65742         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
65743
65744 2007-06-23  Bruno Haible  <bruno@clisp.org>
65745
65746         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65747         Don't let the 'mostlyclean' target fail if the last subdirectory could
65748         not be removed.
65749         Reported by Karl Berry.
65750
65751 2007-06-23  Bruno Haible  <bruno@clisp.org>
65752
65753         * gnulib-tool (echo): Add a speedier workaround for ksh.
65754         * tests/test-echo.sh: Likewise.
65755
65756 2007-06-23  Bruno Haible  <bruno@clisp.org>
65757
65758         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
65759         * tests/test-echo.sh: Likewise.
65760
65761 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65762
65763         * gnulib-tool (IFS): Initialize early, so we don't set it to
65764         empty later.
65765         (self_abspathname): Rewrite algorithm to set it, reindent.
65766         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65767         (func_create_megatestdir): Merge some sed scripts.
65768
65769 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65770
65771         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65772         exposed by Sun Studio 11 cc on Solaris 8.
65773
65774 2007-06-22  Bruno Haible  <bruno@clisp.org>
65775
65776         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65777         backslashes.
65778         * tests/test-echo.sh: New file.
65779
65780 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65781
65782         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65783         simplify `sed_replace_build_aux' scripts, they are portable but
65784         echoing them with `echo' is not.
65785         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65786
65787 2007-06-21  Karl Berry  <karl@gnu.org>
65788
65789         * config/srclist.txt: guess we can't handle the licenses via
65790         srclist at the moment.
65791
65792 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65793
65794         * MODULES.html.sh: Add include_next.
65795         * modules/include_next: New file.
65796
65797 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65798
65799         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65800         INCLUDE_NEXT.
65801         (gl_CHECK_NEXT_HEADERS): New macro.
65802         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65803         the obsolescent gl_ABSOLUTE_HEADER.
65804         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65805         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65806         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65807         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65808         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65809         * m4/math_h.m4 (gl_MATH_H): Likewise.
65810         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65811         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65812         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65813         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65814         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65815         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65816         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65817         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65818         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65819         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65820         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65821         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65822         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65823         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65824         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65825         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65826         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65827         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65828         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65829         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65830         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65831         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65832         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65833         * lib/float_.h: Likewise.
65834         * lib/inttypes_.h: Likewise.
65835         * lib/math_.h: Likewise.
65836         * lib/search_.h: Likewise.
65837         * lib/signal_.h: Likewise.
65838         * lib/stdint_.h: Likewise.
65839         * lib/stdio_.h: Likewise.
65840         * lib/stdlib_.h: Likewise.
65841         * lib/string_.h: Likewise.
65842         * lib/sys_stat_.h: Likewise.
65843         * lib/sys_time_.h: Likewise.
65844         * lib/time_.h: Likewise.
65845         * lib/unistd_.h: Likewise.
65846         * lib/wchar_.h: Likewise.
65847         * lib/wctype_.h: Likewise.
65848         * lib/dirent_.h: Likewise.
65849         * lib/iconv_.h: Likewise.
65850         * lib/locale_.h: Likewise.
65851         * lib/netinet_in_.h: Likewise.
65852         * lib/sys_select_.h: Likewise.
65853         * lib/sys_socket_.h: Likewise.
65854         * lib/sysexits_.h: Likewise.
65855         * modules/fcntl (Depends-on): Depend on include_next, not
65856         absolute_header.
65857         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65858         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65859         * modules/fchdir: Likewise.
65860         * modules/float: Likewise.
65861         * modules/iconv_open: Likewise.
65862         * modules/inttypes: Likewise.
65863         * modules/locale: Likewise.
65864         * modules/math: Likewise.
65865         * modules/netinet_in: Likewise.
65866         * modules/search: Likewise.
65867         * modules/signal: Likewise.
65868         * modules/stdint: Likewise.
65869         * modules/stdio: Likewise.
65870         * modules/stdlib: Likewise.
65871         * modules/string: Likewise.
65872         * modules/sys_select: Likewise.
65873         * modules/sys_socket: Likewise.
65874         * modules/sys_stat: Likewise.
65875         * modules/sys_time: Likewise.
65876         * modules/sysexits: Likewise.
65877         * modules/time: Likewise.
65878         * modules/unistd: Likewise.
65879         * modules/wchar: Likewise.
65880         * modules/wctype: Likewise.
65881         * modules/sys_stat: Change maintainer to "all".
65882         * modules/unistd: Likewise.
65883
65884 2007-06-20  Karl Berry  <karl@gnu.org>
65885
65886         * config/srclist.txt: track www changes in license files.
65887
65888 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65889
65890         * build-aux/bootstrap: Remove stray dot.
65891         Make sure build_aux settings are honored when linking
65892         gnulib_extra_files.
65893
65894 2007-06-19  Eric Blake  <ebb9@byu.net>
65895
65896         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65897         Allow compilation on cygwin.
65898
65899 2007-06-19  Jim Meyering  <jim@meyering.net>
65900
65901         xreadlink-with-size: Remove module.  No longer used.
65902         Ex-callers now use xreadlink or mreadlink-with-size.
65903         * modules/xreadlink-with-size: Remove module.
65904         * lib/xreadlink-with-size.c: Remove file.
65905         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65906         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65907         just before the function definition *is* accurate.
65908
65909         Eliminate one way canonicalize_filename_mode could exit.
65910         * lib/canonicalize.c (canonicalize_filename_mode):
65911         Use mreadlink_with_size, not xreadlink_with_size.
65912
65913 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65914
65915         Detect porting problems to FreeBSD/arm, which has time_t wider than
65916         long int.  Original problem reported for GNU diff by Xin Li in
65917         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65918         * modules/getdate (Depends-on): Add intprops, verify.
65919         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65920         is an integer type no wider than long int.
65921
65922 2007-06-18  Jim Meyering  <jim@meyering.net>
65923
65924         New module: mreadlink-with-size.
65925         * MODULES.html.sh: Add mreadlink-with-size.
65926         * modules/mreadlink-with-size: New module
65927         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65928         not xreadlink-with-size.
65929         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65930
65931 2007-06-16  Bruno Haible  <bruno@clisp.org>
65932
65933         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65934         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65935         Reported by Gary V. Vaughan <gary@gnu.org>.
65936
65937 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
65938
65939         Revamp lchown so that it lives in unistd.h where it belongs.
65940         * lib/lchown.h: Remove.
65941         * lib/dirchownmod.c: Don't include lib/lchown.h.
65942         * lib/fchownat.c: Likewise.
65943         * lib/openat.c: Likewise.
65944         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
65945         does not follow symlinks.
65946         (EOPNOTSUPP): Define if not defined.
65947         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
65948         is defined to 0.
65949         (lchown): New decl.
65950         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
65951         Do not check for lchown decl.
65952         Set REPLACE_LCHOWN.
65953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
65954         REPLACE_LCHOWN.
65955         * modules/chown: Make it clear it follows symlinks.
65956         * modules/lchown: Make it clear it doesn't follow symlinks.
65957         (Files): Remove lib/lchown.h
65958         (Depends-on): Add unistd.
65959         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
65960         (Include): Include <unistd.h>, not "lchown.h".
65961         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
65962         REPLACE_LCHOWN.
65963
65964 2007-06-15  Jim Meyering  <jim@meyering.net>
65965
65966         Change license (GPL to LGPL) of fsusage and dependents.
65967         * modules/fsusage (License): Change to LGPL.
65968         * modules/full-read (License): Likewise.
65969         * modules/full-write (License): Likewise.
65970         * modules/safe-read (License): Likewise.
65971         * modules/safe-write (License): Likewise.
65972
65973 2007-06-14  Ben Pfaff  <blp@gnu.org>
65974
65975         Missing part of allocsa -> malloca transition.
65976         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
65977         gl_MALLOCA.
65978
65979 2007-06-12  Bruno Haible  <bruno@clisp.org>
65980
65981         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65982         to ia64, x86_64, i386.
65983         Reported by Eric Blake.
65984
65985 2007-06-12  Bruno Haible  <bruno@clisp.org>
65986
65987         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65988         cross-compiling to x86_64.
65989
65990 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65991
65992         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65993         glitch reported by Ralf Wildenhues in
65994         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65995
65996         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65997         Vin Shelton.
65998
65999 2007-06-11  Bruno Haible  <bruno@clisp.org>
66000
66001         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
66002         replacement string.
66003         Reported by Eric Blake.
66004
66005 2007-06-10  Bruno Haible  <bruno@clisp.org>
66006
66007         Prepare vasnprintf code for use with Unicode strings.
66008         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
66009         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
66010         TYPE_U32_STRING.
66011         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
66012         a_u32_string variants.
66013         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66014         * lib/printf-args.c: Don't include config.h and the specification
66015         header if PRINTF_FETCHARGS is already defined.
66016         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66017         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
66018         TYPE_U16_STRING, TYPE_U32_STRING.
66019         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
66020         u16_directive, u16_directives, u32_directive, u32_directives): New
66021         types.
66022         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
66023         New declarations.
66024         * lib/printf-parse.c: Don't include config.h and the specification
66025         header if PRINTF_PARSE is already defined. Eliminate the set of
66026         parameters for WIDE_CHAR_VERSION; the user of this file must provide
66027         them now. Include c-ctype.h.
66028         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
66029         directive and CHAR_T_ONLY_ASCII.
66030         * lib/vasnprintf.c: Don't include config.h and the specification header
66031         if VASNPRINTF is already defined.
66032         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
66033         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
66034         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
66035         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
66036         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
66037         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
66038         code accordingly.
66039         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
66040         pad_ourselves also in this case, with the 'c' and 's' directives, and
66041         with a different notion of "width".
66042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
66043
66044 2007-06-10  Bruno Haible  <bruno@clisp.org>
66045
66046         * modules/unistr/u32-mbsnlen: New file.
66047         * lib/unistr/u32-mbsnlen.c: New file.
66048
66049         * modules/unistr/u16-mbsnlen: New file.
66050         * lib/unistr/u16-mbsnlen.c: New file.
66051
66052         * modules/unistr/u8-mbsnlen: New file.
66053         * lib/unistr/u8-mbsnlen.c: New file.
66054
66055         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
66056         declarations.
66057
66058 2007-06-10  Bruno Haible  <bruno@clisp.org>
66059
66060         * lib/string_.h (mbsnlen): New declaration.
66061         * lib/mbsnlen.c: New file.
66062         * m4/mbsnlen.m4: New file.
66063         * modules/mbsnlen: New file.
66064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
66065         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
66066         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
66067
66068 2007-06-10  Bruno Haible  <bruno@clisp.org>
66069
66070         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
66071
66072 2007-06-10  Bruno Haible  <bruno@clisp.org>
66073
66074         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
66075         * lib/mbuiter.h: Likewise.
66076
66077 2007-06-10  Bruno Haible  <bruno@clisp.org>
66078
66079         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
66080         declaration.
66081
66082 2007-06-10  Karl Berry  <karl@gnu.org>
66083
66084         * config/srclist.txt: remove gettext entries, Bruno prefers
66085         to update individually.
66086
66087 2007-06-10  Bruno Haible  <bruno@clisp.org>
66088
66089         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
66090         'maxlen'. Ensure only length + width bytes are allocated, not
66091         length + 1 + width.
66092
66093 2007-06-09  Bruno Haible  <bruno@clisp.org>
66094
66095         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
66096         (CHAR_T): Remove macro.
66097         (VASNPRINTF): Update.
66098
66099 2007-06-09  Bruno Haible  <bruno@clisp.org>
66100
66101         * MODULES.html.sh (Unicode string functions): Add the new modules.
66102
66103         * modules/uniconv/u32-conv-to-enc: New file.
66104         * lib/uniconv/u32-conv-to-enc.c: New file.
66105         * modules/uniconv/u32-conv-to-enc-tests: New file.
66106         * tests/uniconv/test-u32-conv-to-enc.c: New file.
66107
66108         * modules/uniconv/u16-conv-to-enc: New file.
66109         * lib/uniconv/u16-conv-to-enc.c: New file.
66110         * lib/uniconv/u-conv-to-enc.h: New file.
66111         * modules/uniconv/u16-conv-to-enc-tests: New file.
66112         * tests/uniconv/test-u16-conv-to-enc.c: New file.
66113
66114         * modules/uniconv/u8-conv-to-enc: New file.
66115         * lib/uniconv/u8-conv-to-enc.c: New file.
66116         * modules/uniconv/u8-conv-to-enc-tests: New file.
66117         * tests/uniconv/test-u8-conv-to-enc.c: New file.
66118
66119         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66120         u32_conv_to_encoding): New declarations.
66121
66122 2007-06-09  Bruno Haible  <bruno@clisp.org>
66123
66124         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
66125
66126 2007-06-09  Bruno Haible  <bruno@clisp.org>
66127
66128         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
66129         * modules/malloca: Renamed from modules/allocsa, updated.
66130         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
66131         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
66132         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
66133         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
66134         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
66135         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
66136         * modules/xmalloca: Renamed from modules/xallocsa, updated.
66137         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
66138         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
66139         * modules/c-strcasestr (Depends-on): Update.
66140         * lib/c-strcasestr.c: Update.
66141         * modules/c-strstr (Depends-on): Update.
66142         * lib/c-strstr.c: Update.
66143         * modules/canonicalize-lgpl (Depends-on): Update.
66144         * lib/canonicalize-lgpl.c: Update.
66145         * modules/clean-temp (Depends-on): Update.
66146         * lib/clean-temp.c: Update.
66147         * modules/csharpcomp (Depends-on): Update.
66148         * lib/csharpcomp.c: Update.
66149         * modules/csharpexec (Depends-on): Update.
66150         * lib/csharpexec.c: Update.
66151         * modules/javacomp (Depends-on): Update.
66152         * lib/javacomp.c: Update.
66153         * modules/javaexec (Depends-on): Update.
66154         * lib/javaexec.c: Update.
66155         * modules/mbscasestr (Depends-on): Update.
66156         * lib/mbscasestr.c: Update.
66157         * modules/mbsstr (Depends-on): Update.
66158         * lib/mbsstr.c: Update.
66159         * modules/setenv (Depends-on): Update.
66160         * lib/setenv.c: Update.
66161         * modules/strcasestr (Depends-on): Update.
66162         * lib/strcasestr.c: Update.
66163         * modules/striconveha (Depends-on): Update.
66164         * lib/striconveha.c: Update.
66165         * modules/relocatable-prog-wrapper (Files): Update.
66166         * lib/relocwrapper.c: Update.
66167         * build-aux/install-reloc: Update.
66168         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
66169
66170 2007-06-08  Bruno Haible  <bruno@clisp.org>
66171
66172         Port to uClibc.
66173         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
66174         * lib/fpurge.c (fpurge): Likewise.
66175         * lib/freading.c (freading): Likewise.
66176         * lib/fseeko.c (rpl_fseeko): Likewise.
66177         * lib/fseterr.c (fseterr): Likewise.
66178         * lib/fwriting.c (fwriting): Likewise.
66179         * tests/test-fflush.c (main): Avoid a failure on uClibc.
66180
66181 2007-06-08  Bruno Haible  <bruno@clisp.org>
66182
66183         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
66184         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
66185         * modules/gettext (Files): Add m4/intlmacosx.m4.
66186
66187 2007-06-07  Bruno Haible  <bruno@clisp.org>
66188
66189         * modules/localename-tests: New file.
66190         * tests/test-localename.c: New file.
66191
66192         New module 'localename'.
66193         * lib/localename.h: New file.
66194         * lib/localename.c: New file, from GNU gettext.
66195         * m4/localename.m4: New file.
66196         * modules/localename: New file.
66197
66198 2007-06-07  Bruno Haible  <bruno@clisp.org>
66199
66200         Work around the lack of <wchar.h> on some builds of uClibc.
66201         * doc/headers/wchar.texi: Update.
66202         * lib/wchar_.h: Include <wchar.h> only if it exists.
66203         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
66204         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
66205         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
66206         doesn't exist.
66207         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
66208         * modules/mbfile (Depends-on): Add wchar.
66209         * modules/mbiter (Depends-on): Likewise.
66210         * modules/mbuiter (Depends-on): Likewise.
66211         Reported by Simon Josefsson.
66212
66213 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
66214
66215         Work around problem reported by Steven M. Schweda in
66216         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
66217         Tru64 5.1B with the Compaq compiler environment installed declares
66218         an 'isblank' function but does not define it in the C library.
66219         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
66220         * lib/regex_internal.h (isblank): Likewise.
66221         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
66222         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66223
66224 2007-06-05  Bruno Haible  <bruno@clisp.org>
66225
66226         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
66227         ia64.
66228         * modules/printf-safe: New file.
66229         * modules/fprintf-posix (Depends-on): Add printf-safe.
66230         * modules/printf-posix (Depends-on): Likewise.
66231         * modules/snprintf-posix (Depends-on): Likewise.
66232         * modules/sprintf-posix (Depends-on): Likewise.
66233         * modules/vasnprintf-posix (Depends-on): Likewise.
66234         * modules/vasprintf-posix (Depends-on): Likewise.
66235         * modules/vfprintf-posix (Depends-on): Likewise.
66236         * modules/vprintf-posix (Depends-on): Likewise.
66237         * modules/vsnprintf-posix (Depends-on): Likewise.
66238         * modules/vsprintf-posix (Depends-on): Likewise.
66239         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
66240         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
66241         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
66242         "no" on i386, x86_64, ia64.
66243         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
66244         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66245         on i386, x86_64, ia64.
66246         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
66247         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66248         on i386, x86_64, ia64.
66249         * tests/test-vasnprintf-posix.c: Include float.h.
66250         (LDBL80_WORDS): New macro.
66251         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66252         on i386, x86_64, ia64.
66253         * tests/test-vasprintf-posix.c: Include float.h.
66254         (LDBL80_WORDS): New macro.
66255         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66256         on i386, x86_64, ia64.
66257         * tests/test-snprintf-posix.c: Include float.h.
66258         * tests/test-sprintf-posix.c: Likewise.
66259         * tests/test-vsnprintf-posix.c: Likewise.
66260         * tests/test-vsprintf-posix.c: Likewise.
66261
66262 2007-06-05  Bruno Haible  <bruno@clisp.org>
66263
66264         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
66265         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
66266         non-IEEE numbers on i386, x86_64, ia64.
66267         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
66268         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
66269         * tests/test-isnanl.h: Include float.h.
66270         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
66271
66272 2007-06-05  Bruno Haible  <bruno@clisp.org>
66273
66274         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
66275         also the %a / %A. Handle the %a / %A code before this extra handling.
66276
66277 2007-06-05  Bruno Haible  <bruno@clisp.org>
66278
66279         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
66280         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
66281
66282 2007-06-05  Bruno Haible  <bruno@clisp.org>
66283
66284         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
66285         typo in variable name.
66286
66287 2007-06-05  Eric Blake  <ebb9@byu.net>
66288
66289         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
66290         Reported by Simon Josefsson.
66291
66292 2007-06-04  Bruno Haible  <bruno@clisp.org>
66293
66294         Avoid test failures on some PowerPC platforms.
66295         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
66296         Define differently for PowerPC.
66297         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
66298         Reported by Gary V. Vaughan <gary@gnu.org>.
66299
66300 2007-06-02  Bruno Haible  <bruno@clisp.org>
66301
66302         Fix test-stdint failure on FreeBSD/ia64.
66303         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
66304         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
66305         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
66306         * doc/headers/stdint.texi: Update.
66307
66308 2007-06-01  Bruno Haible  <bruno@clisp.org>
66309
66310         * tests/test-binary-io.c (main): Pass a third argument to open().
66311         Reported by Gary V. Vaughan <gary@gnu.org>.
66312
66313 2007-06-01  Bruno Haible  <bruno@clisp.org>
66314
66315         * doc/functions/frexpl.texi: Update for mingw.
66316
66317 2007-06-01  Bruno Haible  <bruno@clisp.org>
66318
66319         * tests/test-lseek.c (main): Disable test of errno for invalid third
66320         argument.
66321         * doc/functions/lseek.texi: Update.
66322         Reported by Gary V. Vaughan <gary@gnu.org>.
66323
66324 2007-05-28  Bruno Haible  <bruno@clisp.org>
66325
66326         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
66327
66328 2007-05-31  Eric Blake  <ebb9@byu.net>
66329
66330         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
66331         cross compiling.
66332
66333 2007-05-30  Eric Blake  <ebb9@byu.net>
66334         and Bruno Haible  <bruno@clisp.org>
66335
66336         Work around mingw test failures exposed by m4-1.4.9b.
66337         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
66338         * tests/test-unistd.c: Disable uid_t and git_t tests for the
66339         moment.
66340
66341 2007-05-30  Bruno Haible  <bruno@clisp.org>
66342
66343         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66344         assuming that they are closed. Needed on HP-UX 11.
66345
66346 2007-05-29  Bruno Haible  <bruno@clisp.org>
66347
66348         Fix a problem with #include_next.
66349         * lib/dirent_.h: Split the double-inclusion guard.
66350         * lib/fcntl_.h: Likewise.
66351         * lib/float_.h: Likewise.
66352         * lib/iconv_.h: Likewise.
66353         * lib/inttypes_.h: Likewise.
66354         * lib/locale_.h: Likewise.
66355         * lib/math_.h: Likewise.
66356         * lib/netinet_in_.h: Likewise.
66357         * lib/search_.h: Likewise.
66358         * lib/signal_.h: Likewise.
66359         * lib/stdint_.h: Likewise.
66360         * lib/stdio_.h: Likewise.
66361         * lib/stdlib_.h: Likewise.
66362         * lib/string_.h: Likewise.
66363         * lib/sys_select_.h: Likewise.
66364         * lib/sys_socket_.h: Likewise.
66365         * lib/sys_stat_.h: Likewise.
66366         * lib/sys_time_.h: Likewise.
66367         * lib/sysexits_.h: Likewise.
66368         * lib/time_.h: Likewise.
66369         * lib/unistd_.h: Likewise.
66370         * lib/wchar_.h: Likewise.
66371         * lib/wctype_.h: Likewise.
66372
66373 2007-05-29  Bruno Haible  <bruno@clisp.org>
66374
66375         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66376         for the moment.
66377
66378 2007-05-29  Bruno Haible  <bruno@clisp.org>
66379
66380         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66381         invocation.
66382         Reported by Eric Blake.
66383
66384 2007-05-29  Bruno Haible  <bruno@clisp.org>
66385
66386         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66387         compiling case.
66388
66389 2007-05-29  Eric Blake  <ebb9@byu.net>
66390             Bruno Haible  <bruno@clisp.org>
66391
66392         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66393         cross compiles.
66394
66395 2007-05-28  Eric Blake  <ebb9@byu.net>
66396
66397         * modules/closein-tests (test_closein_LDADD): Support test on
66398         cygwin with libtool.
66399
66400 2007-05-28  Bruno Haible  <bruno@clisp.org>
66401
66402         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
66403         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66404         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66405         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66406         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66407         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66408         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66409         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66410         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66411
66412 2007-05-28  Eric Blake  <ebb9@byu.net>
66413
66414         Unconditionally include <config.h> in unit tests.
66415         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
66416         * tests/test-allocsa.c, tests/test-arcfour.c,
66417         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
66418         tests/test-array_list.c, tests/test-array_oset.c,
66419         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
66420         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
66421         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
66422         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
66423         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
66424         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
66425         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
66426         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
66427         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
66428         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
66429         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
66430         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
66431         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
66432         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
66433         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
66434         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
66435         test-md5.c, test-memmem.c, test-printf-posix.c,
66436         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
66437         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
66438         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
66439         test-strcasestr.c, test-striconv.c, test-striconveh.c,
66440         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
66441         test-vasnprintf-posix2.c, test-vasnprintf.c,
66442         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
66443         test-vfprintf-posix.c, test-vprintf-posix.c,
66444         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
66445         test-xvasprintf.c: Likewise.
66446
66447 2007-05-28  Bruno Haible  <bruno@clisp.org>
66448
66449         * gnulib-tool (func_import): Remember the --with-tests command-line
66450         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
66451         Reported by Eric Blake.
66452
66453 2007-05-28  Bruno Haible  <bruno@clisp.org>
66454
66455         * modules/ftell-tests: New file.
66456         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
66457         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
66458
66459         * lib/ftell.c: New file.
66460         * modules/ftell: New file.
66461         * m4/ftell.m4: New file.
66462         * doc/functions/ftell.texi: Update.
66463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
66464         REPLACE_FTELL.
66465         * lib/stdio_.h (rpl_ftell): New declaration.
66466         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
66467         REPLACE_FTELL.
66468
66469 2007-05-28  Eric Blake  <ebb9@byu.net>
66470
66471         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
66472
66473 2007-05-28  Bruno Haible  <bruno@clisp.org>
66474
66475         * modules/fseek-tests: New file.
66476         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
66477         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
66478
66479         * lib/fseek.c: New file.
66480         * modules/fseek: New file.
66481         * m4/fseek.m4: New file.
66482         * doc/functions/fseek.texi: Update.
66483         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
66484         REPLACE_FSEEK.
66485         * lib/stdio_.h (rpl_fseek): New declaration.
66486         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
66487         REPLACE_FSEEK.
66488
66489 2007-05-28  Bruno Haible  <bruno@clisp.org>
66490
66491         * lib/stdio_.h (fflush): More comments.
66492
66493 2007-05-28  Bruno Haible  <bruno@clisp.org>
66494
66495         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
66496         runtime test.
66497
66498 2007-05-28  Eric Blake  <ebb9@byu.net>
66499
66500         Improve lseek module.
66501         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
66502         * lib/unistd_.h (lseek): Scale back link warning message.
66503         * tests/test-lseek.c: Beef up test.
66504         * tests/test-lseek.sh: Exercise more facets of lseek.
66505         Reported by Bruno Haible.
66506
66507 2007-05-28  Bruno Haible  <bruno@clisp.org>
66508
66509         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
66510         to define.
66511
66512 2007-05-27  Bruno Haible  <bruno@clisp.org>
66513
66514         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
66515
66516 2007-05-27  Bruno Haible  <bruno@clisp.org>
66517
66518         * modules/openmp: New file.
66519         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
66520         Noah Misch.
66521
66522 2007-05-26  Bruno Haible  <bruno@clisp.org>
66523
66524         * modules/chdir-long (Depends-on): Add fchdir.
66525         * modules/chdir-safer (Depends-on): Likewise.
66526         * modules/fts (Depends-on): Likewise.
66527         * modules/fts-lgpl (Depends-on): Likewise.
66528         * modules/openat (Depends-on): Likewise.
66529         * modules/savewd (Depends-on): Likewise.
66530
66531 2007-05-24  Eric Blake  <ebb9@byu.net>
66532
66533         Fix lseek on mingw.
66534         * modules/lseek: New module.
66535         * m4/lseek.m4: New file.
66536         * lib/lseek.c: New file.
66537         * modules/lseek-tests: New file.
66538         * tests/test-lseek.c: New file.
66539         * tests/test-lseek.sh: New file.
66540         * MODULES.html.sh: Document lseek module.
66541         * modules/fflush (Depends-on): Add lseek, fseeko.
66542         * modules/fseeko (Depends-on): Likewise.
66543         * modules/ftello (Depends-on): Likewise.
66544         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
66545         broken.
66546         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
66547         broken.
66548         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
66549         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
66550         * lib/ftello.c (rpl_ftello): Likewise.
66551         * tests/test-fseeko.c (main): Test this.
66552         * tests/test-fseeko.sh: Likewise.
66553         * tests/test-ftello.c (main): Likewise.
66554         * tests/test-ftello.sh: Likewise.
66555         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
66556         implies replacing fseek.
66557         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
66558         HAVE_FTELLO.
66559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
66560         * modules/unistd (Makefile.am): Likewise.
66561         * lib/unistd_.h (lseek): Declare a replacement.
66562         * doc/functions/lseek.texi (lseek): Document this fix.
66563         * doc/functions/fseek.texi (fseek): Likewise.
66564         * doc/functions/ftell.texi (ftell): Likewise.
66565
66566 2007-05-24  Bruno Haible  <bruno@clisp.org>
66567
66568         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
66569         in the printed representation of a NaN.
66570         * tests/test-vasprintf-posix.c (test_function): Likewise.
66571         * tests/test-snprintf-posix.h (test_function): Likewise.
66572         * tests/test-sprintf-posix.h (test_function): Likewise.
66573         Reported by Eric Blake.
66574
66575 2007-05-23  Eric Blake  <ebb9@byu.net>
66576
66577         Fix fseeko/ftello on cygwin 1.5.24.
66578         * doc/functions/fseeko.texi (fseeko): Document the fix.
66579         * doc/functions/ftello.texi (ftello): Document the fix.
66580         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
66581         * doc/functions/stdout.text (stdout): New file.
66582         * doc/functions/stderr.text (stderr): New file.
66583         * doc/gnulib.texi (Function Substitutes): Use new files.
66584         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
66585         prior to 1.7.0.
66586         * tests/test-ftello.c (main): Likewise for ftello.
66587         * tests/test-fseeko.sh: New file.
66588         * tests/test-ftello.sh: New file.
66589         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
66590         with seekable stdin.
66591         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
66592         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
66593         (gl_REPLACE_FSEEKO): New macro.
66594         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
66595         * modules/fseeko (Files): Distribute fseeko.c.
66596         * modules/ftello (Files): Distribute ftello.c.
66597         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
66598         mode.
66599         * lib/ftello.c (rpl_ftello): New file.
66600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
66601         fseeko, ftello.
66602         (gl_STDIN_LARGE_OFFSET): New macro.
66603         * modules/stdio (Makefile.am): Perform the replacement.
66604         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
66605
66606 2007-05-23  Bruno Haible  <bruno@clisp.org>
66607
66608         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
66609         GNULIB_POSIXCHECK is defined.
66610
66611 2007-05-21  Bruno Haible  <bruno@clisp.org>
66612
66613         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
66614         Check also the output for NaN arguments. When cross-compiling, guess
66615         no on IRIX.
66616         * lib/vasnprintf.c: Update comments.
66617         * tests/test-vasnprintf-posix.c (strisnan): New function.
66618         (test_function): Use it.
66619         * tests/test-vasprintf-posix.c (strisnan): New function.
66620         (test_function): Use it.
66621         * tests/test-snprintf-posix.h (strisnan): New function.
66622         (test_function): Use it.
66623         * tests/test-sprintf-posix.h (strisnan): New function.
66624         (test_function): Use it.
66625         Reported by Eric Blake.
66626
66627 2007-05-20  Bruno Haible  <bruno@clisp.org>
66628
66629         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
66630         numbers that fails on BeOS.
66631         * doc/functions/frexpl.texi: Update.
66632
66633 2007-05-20  Jim Meyering  <jim@meyering.net>
66634
66635         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
66636         forced upon us by glibc-2.6.
66637
66638 2007-05-20  Bruno Haible  <bruno@clisp.org>
66639
66640         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
66641         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
66642         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
66643         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
66644         NEED_PRINTF_INFINITE.
66645         (is_infinitel): New function.
66646         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
66647         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
66648         gl_PREREQ_VASNPRINTF_INFINITE.
66649         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
66650         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66651         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
66652         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
66653         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
66654         gl_PREREQ_VASNPRINTF_INFINITE.
66655         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66656         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66657         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66658         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66659         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66660         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66661         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66662         * doc/functions/fprintf.texi: Update.
66663         * doc/functions/printf.texi: Update.
66664         * doc/functions/snprintf.texi: Update.
66665         * doc/functions/sprintf.texi: Update.
66666         * doc/functions/vfprintf.texi: Update.
66667         * doc/functions/vprintf.texi: Update.
66668         * doc/functions/vsnprintf.texi: Update.
66669         * doc/functions/vsprintf.texi: Update.
66670
66671 2007-05-20  Bruno Haible  <bruno@clisp.org>
66672
66673         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
66674         was not found in libc.
66675         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66676
66677 2007-05-20  Bruno Haible  <bruno@clisp.org>
66678
66679         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66680         printed as "-nan" instead of "nan".
66681         * tests/test-vasprintf-posix.c (test_function): Likewise.
66682         * tests/test-snprintf-posix.h (test_function): Likewise.
66683         * tests/test-sprintf-posix.h (test_function): Likewise.
66684         Needed for HP-UX 11.
66685
66686 2007-05-20  Jim Meyering  <jim@meyering.net>
66687
66688         Fix buggy test for the fchownat-deref bug.
66689         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
66690         symlink required for the run-test.  Without it, this test would
66691         always declare that fchownat doesn't work, and client code would
66692         unnecessarily use the replacement function with fixed libc.
66693         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
66694         Reported by Greg Schafer.
66695
66696 2007-05-19  Bruno Haible  <bruno@clisp.org>
66697
66698         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
66699         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
66700         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
66701         Needed for IRIX 6.5 and Solaris 2.5.1.
66702
66703 2007-05-19  Bruno Haible  <bruno@clisp.org>
66704
66705         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
66706         (test_function): Skip tests involving -0.0 on platforms where
66707         -0.0 = 0.0.
66708         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
66709         (test_function): Skip tests involving -0.0 on platforms where
66710         -0.0 = 0.0.
66711         * tests/test-snprintf-posix.h (have_minus_zero): New function.
66712         (test_function): Skip tests involving -0.0 on platforms where
66713         -0.0 = 0.0.
66714         * tests/test-sprintf-posix.h (have_minus_zero): New function.
66715         (test_function): Skip tests involving -0.0 on platforms where
66716         -0.0 = 0.0.
66717         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
66718         tests.
66719         * tests/test-printf-posix.h (test_function): Likewise.
66720         * tests/test-printf-posix.output: Remove all -0.0 related results.
66721         Needed for IRIX 6.5.
66722
66723 2007-05-19  Bruno Haible  <bruno@clisp.org>
66724
66725         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66726         printed as "nan0x7fffffff" instead of "nan".
66727         * tests/test-vasprintf-posix.c (test_function): Likewise.
66728         * tests/test-snprintf-posix.h (test_function): Likewise.
66729         * tests/test-sprintf-posix.h (test_function): Likewise.
66730         * tests/test-fprintf-posix.h (NaN): Remove macro.
66731         (test_function): Remove all NaN related tests.
66732         * tests/test-printf-posix.h (NaN): Remove macro.
66733         (test_function): Remove all NaN related tests.
66734         * tests/test-printf-posix.output: Remove all NaN related results.
66735         Needed for IRIX 6.5.
66736
66737 2007-05-19  Bruno Haible  <bruno@clisp.org>
66738
66739         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
66740         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66741
66742 2007-05-19  Bruno Haible  <bruno@clisp.org>
66743
66744         * lib/float_.h: New file.
66745         * m4/float_h.m4: New file.
66746         * modules/float: New file.
66747         * modules/isnanl (Dependencies): Add float.
66748         * modules/isnanl-nolibm (Dependencies): Likewise.
66749         * modules/mathl (Dependencies): Likewise.
66750         * modules/printf-frexpl (Dependencies): Likewise.
66751         * modules/signbit (Dependencies): Likewise.
66752         * modules/vasnprintf (Dependencies): Likewise.
66753         * doc/headers/float.texi: Update.
66754
66755 2007-05-19  Jim Meyering  <jim@meyering.net>
66756
66757         * lib/utimens.c (gl_futimens): Rename from futimens,
66758         now that glibc-2.6 declares futimens.
66759         * lib/utimens.h: Likewise.
66760
66761 2007-05-19  Bruno Haible  <bruno@clisp.org>
66762
66763         Avoid test failures on mingw.
66764         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
66765         * tests/test-printf-posix.sh: Likewise.
66766         * tests/test-vfprintf-posix.sh: Likewise.
66767         * tests/test-vprintf-posix.sh: Likewise.
66768
66769 2007-05-19  Bruno Haible  <bruno@clisp.org>
66770
66771         Fix *printf result for NaN, Inf, -0.0 on mingw.
66772         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66773         * lib/vasnprintf.c: Include math.h and isnan.h.
66774         (is_infinite_or_zero): New function.
66775         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66776         values in the %f, %F, %e, %E, %g, %G directives.
66777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66778         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66779         gl_PRINTF_INFINITE and test its result. Invoke
66780         gl_PREREQ_VASNPRINTF_INFINITE.
66781         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66782         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66783         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66784         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66785         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66786         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66787         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66788         * doc/functions/fprintf.texi: Update.
66789         * doc/functions/printf.texi: Update.
66790         * doc/functions/snprintf.texi: Update.
66791         * doc/functions/sprintf.texi: Update.
66792         * doc/functions/vfprintf.texi: Update.
66793         * doc/functions/vprintf.texi: Update.
66794         * doc/functions/vsnprintf.texi: Update.
66795         * doc/functions/vsprintf.texi: Update.
66796
66797 2007-05-19  Bruno Haible  <bruno@clisp.org>
66798
66799         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66800         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66801         Instead of multiplying with 10^k, set extra_zeroes to k.
66802         (scale10_round_long_double): Remove function.
66803
66804 2007-05-18  Bruno Haible  <bruno@clisp.org>
66805
66806         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66807         introduced on 2007-05-06.
66808
66809 2007-05-18  Bruno Haible  <bruno@clisp.org>
66810
66811         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66812         %g directives.
66813         * tests/test-vasprintf-posix.c (test_function): Likewise.
66814         * tests/test-snprintf-posix.h (test_function): Likewise.
66815         * tests/test-sprintf-posix.h (test_function): Likewise.
66816
66817 2007-05-18  Bruno Haible  <bruno@clisp.org>
66818
66819         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66820         (strmatch): New function.
66821         (test_function): Test the %f directive on numbers of various exponents.
66822         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66823         (strmatch): New function.
66824         (test_function): Test the %f directive on numbers of various exponents.
66825         * tests/test-snprintf-posix.h (strmatch): New function.
66826         (test_function): Test the %f directive on numbers of various exponents.
66827         * tests/test-sprintf-posix.h (strmatch): New function.
66828         (test_function): Test the %f directive on numbers of various exponents.
66829         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66830         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66831         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66832         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66833
66834 2007-05-18  Bruno Haible  <bruno@clisp.org>
66835
66836         Add support for 'long double' number output.
66837         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66838         * lib/vasnprintf.c: Include math.h and float+.h.
66839         (mp_limb_t): New type.
66840         (GMP_LIMB_BITS): New macro.
66841         (mp_twolimb_t): New type.
66842         (GMP_TWOLIMB_BITS): New macro.
66843         (mpn_t): New type.
66844         (multiply, divide, convert_to_decimal, decode_long_double,
66845         scale10_round_long_double, scale10_round_decimal_long_double,
66846         floorlog10l): New functions.
66847         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66848         for the %f, %F, %e, %E, %g, %G directives.
66849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66850         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66851         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66852         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66853         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66854         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66855         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66856         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66857         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66858         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66859         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66860         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66861         * modules/snprintf-posix (Depends-on): Likewise.
66862         * modules/sprintf-posix (Depends-on): Likewise.
66863         * modules/vasnprintf-posix (Depends-on): Likewise.
66864         * modules/vasprintf-posix (Depends-on): Likewise.
66865         * modules/vfprintf-posix (Depends-on): Likewise.
66866         * modules/vsnprintf-posix (Depends-on): Likewise.
66867         * modules/vsprintf-posix (Depends-on): Likewise.
66868         * modules/vasnprintf (Files): Add lib/float+.h.
66869         * doc/functions/fprintf.texi: Update.
66870         * doc/functions/printf.texi: Update.
66871         * doc/functions/snprintf.texi: Update.
66872         * doc/functions/sprintf.texi: Update.
66873         * doc/functions/vfprintf.texi: Update.
66874         * doc/functions/vprintf.texi: Update.
66875         * doc/functions/vsnprintf.texi: Update.
66876         * doc/functions/vsprintf.texi: Update.
66877
66878 2007-05-18  Bruno Haible  <bruno@clisp.org>
66879
66880         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66881
66882 2007-05-18  Bruno Haible  <bruno@clisp.org>
66883
66884         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66885         for printing 64-bit integers. Needed for mingw.
66886
66887 2007-05-18  Bruno Haible  <bruno@clisp.org>
66888
66889         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66890         gl_FUNC_FREXPL_WORKS.
66891         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66892
66893 2007-05-18  Bruno Haible  <bruno@clisp.org>
66894
66895         * modules/frexpl-nolibm-tests: New file.
66896
66897         * modules/frexpl-nolibm: New file.
66898         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66899
66900 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66901
66902         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66903         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66904         GCC 4.2, which otherwise issues a lot of warnings.
66905         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66906         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66907         Likewise.
66908         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66909         * modules/iconv_open (iconv.h): Likewise.
66910         * modules/locale (locale.h): Likewise.
66911         * modules/netinet_in (netinet/in.h): Likewise.
66912         * modules/sys_select (sys_select.h): Likewise.
66913         * modules/sys_socket (sys/socket.h): Likewise.
66914         * modules/sys_stat (sys/stat.h): Likewise.
66915         * modules/sysexits (sysexits.h): Likewise.
66916         * modules/unistd (unistd.h): Likewise.
66917
66918 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66919
66920         * modules/closein-tests (Makefile.am): Distribute
66921         `test-closein.sh'.
66922
66923 2007-05-17  Bruno Haible  <bruno@clisp.org>
66924
66925         * tests/test-printf-posix.output: Renamed from
66926         tests/test-fprintf-posix.out.
66927         * modules/fprintf-posix-tests: Update.
66928         * modules/printf-posix-tests: Update.
66929         * modules/vfprintf-posix-tests: Update.
66930         * modules/vprintf-posix-tests: Update.
66931         * tests/test-fprintf-posix.sh: Update.
66932         * tests/test-printf-posix.sh: Update.
66933         * tests/test-vfprintf-posix.sh: Update.
66934         * tests/test-vprintf-posix.sh: Update.
66935         Reported by Ralf Wildenhues.
66936
66937 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66938
66939         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
66940         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66941         GCC 4.2, which otherwise issues a lot of warnings.
66942         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
66943         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
66944         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
66945         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
66946         it should no longer be needed.
66947         * lib/string_.h: Likewise.
66948         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
66949         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
66950         * modules/inttypes (inttypes.h): Likewise.
66951         * modules/math (math.h): Likewise.
66952         * modules/search (search.h): Likewise.
66953         * modules/signal (signal.h): Likewise.
66954         * modules/stdint (stdint.h): Likewise.
66955         * modules/stdio (stdio.h): Likewise.
66956         * modules/stdlib (stdlib.h): Likewise.
66957         * modules/string (string.h): Likewise.
66958         * modules/sys_time (sys/time.h): Likewise.
66959         * modules/time (time.h): Likewise.
66960         * modules/wchar (wchar.h): Likewise.
66961         * modules/wctype (wtype.h): Likewise.
66962
66963 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66964
66965         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
66966
66967 2007-05-13  Bruno Haible  <bruno@clisp.org>
66968
66969         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
66970         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66971         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
66972         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66973         (gl_PREREQ_STRTOK_R): Don't require it here.
66974
66975 2007-05-13  Bruno Haible  <bruno@clisp.org>
66976
66977         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
66978         when used in C++ mode.
66979
66980 2007-05-12  Bruno Haible  <bruno@clisp.org>
66981
66982         * lib/linebuffer.h: Tweak doc.
66983         * lib/linebuffer.c: Likewise.
66984
66985 2007-05-12  James Youngman  <jay@gnu.org>
66986
66987         * lib/linebuffer.c (readlinebuffer_delim): New function,
66988         like readlinebuffer, but use a caller-specified delimiter.
66989         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66990         as the delimiter.
66991         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66992
66993 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66994
66995         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66996         * modules/openat (Files): Remove openat-die.c.
66997         (Depends-on): Add openat-die.
66998         * modules/openat-die: New module.
66999
67000 2007-05-06  Bruno Haible  <bruno@clisp.org>
67001
67002         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
67003         Update with info about Cygwin.
67004         * doc/functions/fprintf.texi: Update.
67005         * doc/functions/printf.texi: Update.
67006         * doc/functions/snprintf.texi: Update.
67007         * doc/functions/sprintf.texi: Update.
67008         * doc/functions/vfprintf.texi: Update.
67009         * doc/functions/vprintf.texi: Update.
67010         * doc/functions/vsnprintf.texi: Update.
67011         * doc/functions/vsprintf.texi: Update.
67012         Reported by Eric Blake.
67013
67014 2007-05-06  Bruno Haible  <bruno@clisp.org>
67015
67016         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
67017         padding ourselves for the floating-point directives.
67018         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
67019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
67020         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67021         gl_PRINTF_FLAG_ZERO and test its result. Invoke
67022         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
67023         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67024         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67025         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67027         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67028         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67030         * tests/test-snprintf-posix.h (test_function): Also check the width
67031         and some flags in the %f directive.
67032         * tests/test-sprintf-posix.h (test_function): Likewise.
67033         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67034         * tests/test-vasprintf-posix.c (test_function): Likewise.
67035         * doc/functions/fprintf.texi: Update.
67036         * doc/functions/printf.texi: Update.
67037         * doc/functions/snprintf.texi: Update.
67038         * doc/functions/sprintf.texi: Update.
67039         * doc/functions/vfprintf.texi: Update.
67040         * doc/functions/vprintf.texi: Update.
67041         * doc/functions/vsnprintf.texi: Update.
67042         * doc/functions/vsprintf.texi: Update.
67043
67044 2007-05-06  Bruno Haible  <bruno@clisp.org>
67045
67046         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
67047         pass the ' flag character to sprintf or snprintf.
67048         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
67049         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
67050         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67051         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
67052         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
67053         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67054         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67055         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67056         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67057         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67058         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67059         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67060         * tests/test-snprintf-posix.h (test_function): Also check the grouping
67061         flag.
67062         * tests/test-sprintf-posix.h (test_function): Likewise.
67063         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67064         * tests/test-vasprintf-posix.c (test_function): Likewise.
67065         * doc/functions/fprintf.texi: Update.
67066         * doc/functions/printf.texi: Update.
67067         * doc/functions/snprintf.texi: Update.
67068         * doc/functions/sprintf.texi: Update.
67069         * doc/functions/vfprintf.texi: Update.
67070         * doc/functions/vprintf.texi: Update.
67071         * doc/functions/vsnprintf.texi: Update.
67072         * doc/functions/vsprintf.texi: Update.
67073
67074 2007-05-01  Bruno Haible  <bruno@clisp.org>
67075
67076         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
67077
67078 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
67079
67080         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
67081         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
67082
67083 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67084
67085         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
67086         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
67087         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
67088
67089 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
67090
67091         * lib/argp-help.c (struct hol_entry): New member `ord'.
67092         (HOL_ENTRY_PTRCMP): Use ord for comparison
67093         (hol_sort): Initialize ord.
67094
67095 2007-05-01  Bruno Haible  <bruno@clisp.org>
67096
67097         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
67098         Reported by Eric Blake.
67099         * doc/gnulib.texi (Function Substitutes): Update.
67100
67101 2007-05-01  Bruno Haible  <bruno@clisp.org>
67102
67103         * doc/functions.texi: Remove file, now redundant through
67104         doc/functions/*.texi.
67105
67106 2007-05-01  Bruno Haible  <bruno@clisp.org>
67107
67108         * modules/argp (Depends-on): Add sleep.
67109
67110 2007-05-01  Bruno Haible  <bruno@clisp.org>
67111
67112         * modules/sleep-tests: New file.
67113         * tests/test-sleep.c: New file.
67114
67115         * modules/sleep: New file.
67116         * lib/sleep.c: New file.
67117         * m4/sleep.m4: New file.
67118         * lib/unistd_.h (sleep): New declaration.
67119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
67120         HAVE_SLEEP.
67121         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
67122         * doc/functions/sleep.texi: Document the sleep module.
67123
67124 2007-05-01  Bruno Haible  <bruno@clisp.org>
67125
67126         * lib/sigprocmask.h: Remove file.
67127         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
67128         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
67129         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
67130         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
67131         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
67132         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
67133         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
67134         HAVE_SIGSET_T as a shell variable.
67135         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
67136         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
67137         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
67138         (Depends-on): Add signal. Remove verify.
67139         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
67140         (Include): Mention <signal.h> instead of sigprocmask.h.
67141         * NEWS: Mention the change.
67142         * lib/fatal-signal.c: Don't include sigprocmask.h.
67143
67144 2007-05-01  Bruno Haible  <bruno@clisp.org>
67145
67146         * modules/signal: New file.
67147         * lib/signal_.h: New file.
67148         * m4/signal_h.m4: New file.
67149
67150 2007-05-01  Bruno Haible  <bruno@clisp.org>
67151
67152         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
67153         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
67154         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
67155         HAVE_WCTYPE_CTMP_BUG into wctype.h.
67156
67157 2007-05-01  Bruno Haible  <bruno@clisp.org>
67158
67159         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
67160         configure time.
67161         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
67162         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
67163         * modules/sys_stat (Makefile.am): Substitute their values into
67164         sys/stat.h.
67165
67166 2007-05-01  Bruno Haible  <bruno@clisp.org>
67167
67168         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
67169         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
67170         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
67171
67172 2007-05-01  Bruno Haible  <bruno@clisp.org>
67173
67174         * doc/header/assert.texi: Undo last change: don't mention the gnulib
67175         'assert' module here.
67176
67177 2007-05-01  Bruno Haible  <bruno@clisp.org>
67178
67179         * doc/functions/*.texi: New files.
67180         * doc/functions/google-ranking.txt: New file.
67181         * doc/gnulib.texi (Function Substitutes): New chapter.
67182         (ctime, inet_ntoa): Remove sections.
67183         * doc/ctime.texi: Remove file.
67184         * doc/inet_ntoa.texi: Remove file.
67185         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
67186         dependencies.
67187         (%.info): New rule, specifying a --reference-limit.
67188
67189 2007-05-01  Bruno Haible  <bruno@clisp.org>
67190
67191         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
67192
67193 2007-05-01  Bruno Haible  <bruno@clisp.org>
67194
67195         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
67196         the portability of 'mkdir' to mingw systems.
67197
67198 2007-05-01  Bruno Haible  <bruno@clisp.org>
67199
67200         * doc/headers/google-ranking.txt: New file.
67201
67202 2007-04-30  Eric Blake  <ebb9@byu.net>
67203
67204         Prefer fseeko to fseek.
67205         * modules/getpass (Depends-on): Add fseeko.
67206         * lib/getpass.c (getpass): Use fseeko, not fseek.
67207
67208 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
67209
67210         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
67211         assumes the sorting is stable, while most qsort implementations
67212         are not.  Use argument addresses to ensure they never compare as
67213         equal.
67214
67215         * tests/test-argp-2.sh (usage-indent test): Fix output
67216         (func_compare): Restore diff options
67217         * tests/test-argp.c: Restore #include "progname.h"
67218
67219 2007-04-29  Bruno Haible  <bruno@clisp.org>
67220
67221         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
67222         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67223         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
67224         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67225         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
67226         (configure.ac): Define CHECK_SNPRINTF_POSIX.
67227         (TESTS, check_PROGRAMS): Add test-snprintf.
67228         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
67229         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
67230         (TESTS, check_PROGRAMS): Add test-vsnprintf.
67231         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
67232         assertions that fail on HP-UX, OSF/1, or IRIX.
67233         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
67234
67235 2007-04-29  Bruno Haible  <bruno@clisp.org>
67236
67237         * MODULES.html.sh (posix_functions): Remove 'contents'.
67238
67239 2007-04-29  Karl Berry  <karl@gnu.org>
67240
67241         * config/srclist.txt (gendocs_template_min): new entry.
67242
67243 2007-04-29  Bruno Haible  <bruno@clisp.org>
67244
67245         Work around fpurge bug on BSD systems.
67246         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
67247         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
67248         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
67249         fpurge to rpl_fpurge if the system already has this function.
67250         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
67251         the case where the system already has this function. Correct invariants
67252         on BSD systems.
67253         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
67254         BSD systems.
67255
67256 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
67257
67258         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
67259         proposed by Sven Verdoolaege.
67260
67261         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
67262         options.
67263         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
67264         (usage and help tests): Update
67265
67266 2007-04-29  Bruno Haible  <bruno@clisp.org>
67267
67268         * tests/test-fflush.c (main): Use a file of size 17, not 10.
67269         Print more information in case of failure. Disable a test on BeOS.
67270
67271 2007-04-29  Bruno Haible  <bruno@clisp.org>
67272
67273         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
67274         This helps debugging on systems on which no gdb is available.
67275
67276 2007-04-29  Bruno Haible  <bruno@clisp.org>
67277
67278         * lib/freading.h: Improve comments.
67279         * lib/fwriting.h: Likewise.
67280         * tests/test-freading.c (main): Don't check freading immediately after
67281         repositioning. Needed for glibc.
67282
67283 2007-04-29  Bruno Haible  <bruno@clisp.org>
67284
67285         * lib/freading.c (freading): Trivial simplification.
67286
67287 2007-04-28  Bruno Haible  <bruno@clisp.org>
67288
67289         * tests/test-fwriting.c (main): Also test the interaction between
67290         fflush and fwriting.
67291         * modules/fwriting-tests (Depends-on): Add fflush.
67292
67293         * tests/test-freading.c (main): Also test the interaction between
67294         fflush and freading.
67295         * modules/freading-tests (Depends-on): Add fflush.
67296
67297 2007-04-28  Bruno Haible  <bruno@clisp.org>
67298
67299         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
67300         fseeko and ftello.
67301         Suggested by Eric Blake.
67302
67303 2007-04-28  Jim Meyering  <jim@meyering.net>
67304
67305         Avoid false-negative in gl_STDINT_H's C99 conformance test.
67306         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
67307         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
67308
67309 2007-04-27  Eric Blake  <ebb9@byu.net>
67310
67311         * doc/headers/assert.texi (assert.h): Document assert module use.
67312
67313 2007-04-27  Bruno Haible  <bruno@clisp.org>
67314
67315         * doc/headers/*.texi: New files.
67316         * doc/gnulib.texi (Header File Substitutes): New chapter.
67317         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
67318         dependencies.
67319         (standards.info ,standards.html, standards.dvi): Update dependencies.
67320         (mostlyclean, clean): New targets.
67321
67322 2007-04-27  Bruno Haible  <bruno@clisp.org>
67323
67324         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
67325         * modules/sysexits (Files, Makefile.am): Update.
67326
67327         * lib/sys_socket_.h: Renamed from lib/socket_.h.
67328         * modules/sys_socket (Files, Makefile.am): Update.
67329
67330         * lib/sys_stat_.h: Renamed from lib/stat_.h.
67331         * modules/sys_stat (Files, Makefile.am): Update.
67332
67333 2007-04-27  Eric Blake  <ebb9@byu.net>
67334
67335         * lib/freading.h: Improve comments.
67336         * lib/fwriting.h: Likewise.
67337         * lib/fflush.c: Likewise.
67338
67339         Fix closein for mingw.
67340         * modules/closein-tests: Add tests for closein.
67341         * tests/test-closein.c: New file.
67342         * tests/test-closein.sh: Likewise.
67343         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67344         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67345
67346 2007-04-27  Bruno Haible  <bruno@clisp.org>
67347
67348         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67349         version is < 6.
67350         * lib/math_.h [__DECC]: Likewise.
67351         * lib/stdio_.h [__DECC]: Likewise.
67352         * lib/stdlib_.h [__DECC]: Likewise.
67353         * lib/string_.h [__DECC]: Likewise.
67354         * lib/time_.h [__DECC]: Likewise.
67355         * lib/wchar_.h [__DECC]: Likewise.
67356         * lib/wctype_.h [__DECC]: Likewise.
67357
67358 2007-04-27  Bruno Haible  <bruno@clisp.org>
67359
67360         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67361
67362 2007-04-27  Bruno Haible  <bruno@clisp.org>
67363
67364         * lib/fflush.c: Add comments.
67365         * modules/fpurge-tests (Depends-on): Add fflush.
67366         * modules/freadable-tests (Depends-on): Likewise.
67367         * modules/fwritable-tests (Depends-on): Likewise.
67368
67369 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67370
67371         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67372         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67373         Report by Bruno Haible <bruno@clisp.org>.
67374
67375 2007-04-26  Eric Blake  <ebb9@byu.net>
67376
67377         Fix fflush on mingw.
67378         * modules/fflush (Depends-on): Add freading.
67379         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67380         but unread data.
67381
67382 2007-04-26  Eric Blake  <ebb9@byu.net>
67383         and Bruno Haible  <bruno@clisp.org>
67384
67385         Implement freading and fwriting.
67386         * lib/freading.c: New file.
67387         * lib/freading.h: Likewise.
67388         * m4/freading.m4: Likewise.
67389         * modules/freading: Likewise.
67390         * modules/freading-tests: Likewise.
67391         * tests/test-freading.c: Likewise.
67392         * lib/fwriting.c: New file.
67393         * lib/fwriting.h: Likewise.
67394         * m4/fwriting.m4: Likewise.
67395         * modules/fwriting: Likewise.
67396         * modules/fwriting-tests: Likewise.
67397         * tests/test-fwriting.c: Likewise.
67398         * MODULES.html.sh (File stream based Input/Output): Mention them.
67399
67400 2007-04-26  Bruno Haible  <bruno@clisp.org>
67401
67402         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
67403         'long' when we assume it.
67404         Suggested by Eric Blake.
67405
67406 2007-04-26  Bruno Haible  <bruno@clisp.org>
67407
67408         Ensure fseeko, ftello are declared on glibc systems.
67409         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
67410         * modules/fseeko (configure.ac-early): Likewise.
67411         * modules/ftello (configure.ac-early): Likewise.
67412         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
67413         AC_FUNC_FSEEKO for this.
67414         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
67415         (gl_CHECK_FSEEKO): Remove macro.
67416
67417 2007-04-26  Bruno Haible  <bruno@clisp.org>
67418
67419         * tests/test-fflush.c (main): Also check the ftell result after
67420         fflush and fseek/fseeko.
67421         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
67422         file descriptor position cache in the stream.
67423         * lib/fseeko.c (rpl_fseeko): Likewise.
67424
67425 2007-04-26  Bruno Haible  <bruno@clisp.org>
67426
67427         * modules/fflush-tests (Depends-on): Add fseeko.
67428
67429 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
67430             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67431
67432         * lib/argz_.h: ensure error_t definition is obtained in same
67433         mechanism system argz.h would have.
67434         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
67435         argz facilities are known bad.  Err on the side of caution if
67436         cross-compiling.
67437
67438 2007-04-25  Eric Blake  <ebb9@byu.net>
67439
67440         * lib/fpurge.c (includes): Use stdlib.h for free.
67441         * tests/test-fflush.c (main): Also test fflush-fseeko.
67442
67443 2007-04-25  Bruno Haible  <bruno@clisp.org>
67444
67445         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
67446         * lib/fseeko.c: New file.
67447         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
67448         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
67449         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
67450         gl_FUNC_FSEEKO.
67451         (gl_FUNC_FSEEKO): Invoke it.
67452         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
67453         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
67454         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
67455
67456 2007-04-25  Bruno Haible  <bruno@clisp.org>
67457
67458         * modules/fflush (Depends-on): Add ftello.
67459
67460 2007-04-25  Bruno Haible  <bruno@clisp.org>
67461
67462         * modules/ftello-tests: New file.
67463         * tests/test-ftello.c: New file.
67464
67465         * modules/ftello: New file.
67466         * m4/ftello.m4: New file.
67467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
67468         HAVE_FTELLO.
67469         * lib/stdio_.h (ftello): New declaration.
67470         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
67471         HAVE_FTELLO.
67472
67473 2007-04-25  Bruno Haible  <bruno@clisp.org>
67474
67475         * modules/fseeko-tests: New file.
67476         * tests/test-fseeko.c: New file.
67477
67478         * modules/fseeko: New file.
67479         * m4/fseeko.m4: New file.
67480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
67481         HAVE_FSEEKO.
67482         * lib/stdio_.h (fseeko): New declaration.
67483         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
67484         HAVE_FSEEKO.
67485
67486 2007-04-25  Bruno Haible  <bruno@clisp.org>
67487
67488         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
67489
67490 2007-04-25  Bruno Haible  <bruno@clisp.org>
67491
67492         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
67493         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
67494         * tests/test-unistd.c: Likewise.
67495         * tests/test-fcntl.c: Likewise.
67496
67497 2007-04-23  Eric Blake  <ebb9@byu.net>
67498
67499         * lib/fflush.c: Fix missing include.
67500         Reported by Bruno Haible.
67501
67502 2007-04-23  Bruno Haible  <bruno@clisp.org>
67503
67504         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
67505         Reported by Eric Blake.
67506
67507 2007-04-23  Bruno Haible  <bruno@clisp.org>
67508
67509         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
67510
67511 2007-04-23  Bruno Haible  <bruno@clisp.org>
67512
67513         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
67514
67515 2007-04-23  Bruno Haible  <bruno@clisp.org>
67516
67517         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
67518         Needed on HP-UX 11.
67519
67520 2007-04-16  Eric Blake  <ebb9@byu.net>
67521
67522         Make fflush rely on fpurge.
67523         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
67524         open coding all variants.
67525         * modules/fflush (Depends-on): Add fpurge and unistd.
67526         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
67527         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
67528
67529         Fix --with-tests compilation on cygwin.
67530         * modules/argmatch-tests (Makefile.am): List gnulib library first
67531         in LDADD.
67532         * modules/argp-tests (Makefile.am): Likewise.
67533         * modules/array-list-tests (Makefile.am): Likewise.
67534         * modules/array-oset-tests (Makefile.am): Likewise.
67535         * modules/avltree-list-tests (Makefile.am): Likewise.
67536         * modules/avltree-oset-tests (Makefile.am): Likewise.
67537         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67538         * modules/carray-list-tests (Makefile.am): Likewise.
67539         * modules/dirname-tests (Makefile.am): Likewise.
67540         * modules/frexp-tests (Makefile.am): Likewise.
67541         * modules/isnanl-tests (Makefile.am): Likewise.
67542         * modules/linked-list-tests (Makefile.am): Likewise.
67543         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67544         * modules/lock-tests (Makefile.am): Likewise.
67545         * modules/rbtree-list-tests (Makefile.am): Likewise.
67546         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67547         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67548         * modules/tls-tests (Makefile.am): Likewise.
67549         * modules/tsearch-tests (Makefile.am): Likewise.
67550         * modules/xvasprintf-tests (Makefile.am): Likewise.
67551
67552         Fix fpurge for cygwin.
67553         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
67554         value.
67555         * modules/fpurge-tests (Depends-on): Clean up trash.
67556
67557 2007-04-16  Simon Josefsson  <simon@josefsson.org>
67558
67559         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
67560
67561         * m4/autobuild.m4: Re-indent.
67562
67563 2007-04-13  Bruno Haible  <bruno@clisp.org>
67564
67565         * modules/fpurge-tests: New file.
67566         * tests/test-fpurge.c: New file.
67567
67568         * modules/fpurge: New file.
67569         * lib/fpurge.h: New file.
67570         * lib/fpurge.c: New file.
67571         * m4/fpurge.m4: New file.
67572
67573 2007-04-13  Bruno Haible  <bruno@clisp.org>
67574
67575         * modules/fbufmode-tests: New file.
67576         * tests/test-fbufmode.c: New file.
67577
67578         * modules/fbufmode: New file.
67579         * lib/fbufmode.h: New file.
67580         * lib/fbufmode.c: New file.
67581         * m4/fbufmode.m4: New file.
67582
67583 2007-04-13  Bruno Haible  <bruno@clisp.org>
67584
67585         * modules/fwritable-tests: New file.
67586         * tests/test-fwritable.c: New file.
67587
67588         * modules/fwritable: New file.
67589         * lib/fwritable.h: New file.
67590         * lib/fwritable.c: New file.
67591         * m4/fwritable.m4: New file.
67592
67593 2007-04-13  Bruno Haible  <bruno@clisp.org>
67594
67595         * modules/freadable-tests: New file.
67596         * tests/test-freadable.c: New file.
67597
67598         * modules/freadable: New file.
67599         * lib/freadable.h: New file.
67600         * lib/freadable.c: New file.
67601         * m4/freadable.m4: New file.
67602
67603 2007-04-13  Bruno Haible  <bruno@clisp.org>
67604
67605         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
67606         MOSTLYCLEANFILES.
67607
67608 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67609
67610         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
67611         gzip bootstrap.conf to avoid dragging in i18n machinery.
67612         (gnulib_tool_option): Use it.
67613
67614 2007-04-13  Bruno Haible  <bruno@clisp.org>
67615
67616         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
67617         %F directives.
67618         * tests/test-vasprintf-posix.c (test_function): Likewise.
67619         * tests/test-snprintf-posix.h (test_function): Likewise.
67620         * tests/test-sprintf-posix.h (test_function): Likewise.
67621         * tests/test-fprintf-posix.h (test_function): Likewise.
67622         * tests/test-printf-posix.h (test_function): Likewise.
67623         * tests/test-fprintf-posix.out: Likewise.
67624
67625 2007-04-13  Bruno Haible  <bruno@clisp.org>
67626
67627         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
67628         * modules/tls-tests (configure.ac): Likewise.
67629         Reported by Arto C. Nirkko <anirkko@insel.ch>.
67630
67631 2007-04-13  Bruno Haible  <bruno@clisp.org>
67632
67633         * lib/tls.c (glthread_tls_get): Fix return type.
67634         Patch by Arto C. Nirkko <anirkko@insel.ch>.
67635
67636 2007-04-12  Eric Blake  <ebb9@byu.net>
67637
67638         * modules/gettime (Depends-on): Remove gettime.
67639         Reported by Dmitry V. Levin.
67640
67641 2007-04-12  Bruno Haible  <bruno@clisp.org>
67642
67643         * modules/fflush (Include): Mention <stdio.h>.
67644         * modules/strtoimax (Include): Mention <inttypes.h>.
67645         * modules/strtoumax (Include): Likewise.
67646
67647 2007-04-12  Eric Blake  <ebb9@byu.net>
67648
67649         * .cvsignore: New file.
67650         * .gitignore: Likewise.
67651
67652 2007-04-12  Bruno Haible  <bruno@clisp.org>
67653
67654         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
67655         not before, since $(LDADD) often contains libgnu.a.
67656         * modules/striconv-tests (test_striconv_LDADD): Likewise.
67657         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
67658         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
67659         Needed on Cygwin.
67660
67661 2007-04-12  Eric Blake  <ebb9@byu.net>
67662
67663         Work around glibc's failure to flush stdin on fclose.
67664         * lib/closein.c (close_stdin): Flush stdin before closing.
67665
67666         Work around glibc's failure to reset seekable stdin on exit.
67667         * modules/closein: New module.
67668         * lib/closein.c: New file.
67669         * lib/closein.h: Likewise.
67670         * m4/closein.m4: Likewise.
67671         * MODULES.html.sh (File stream based Input/Output): Document it.
67672
67673 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67674
67675         * gnulib-tool: Rename generated 'autobuild' script to
67676         'do-autobuild' in --create-megatestdir output.
67677
67678         * doc/gnulib.texi (Build robot for gnulib): Fix.
67679
67680 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67681
67682         * modules/sysexits (Depends-on): Add absolute-header.
67683
67684 2007-04-12  Eric Blake  <ebb9@byu.net>
67685
67686         No need to preserve errno on success.
67687         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
67688         Reported by Bruno Haible.
67689
67690 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67691
67692         * MODULES.html.sh (Support for maintaining and releasing
67693         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
67694
67695 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67696
67697         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
67698
67699 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67700
67701         * modules/autobuild: New module.
67702
67703         * m4/autobuild.m4: New file.
67704
67705 2007-04-11  Bruno Haible  <bruno@clisp.org>
67706
67707         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
67708         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
67709         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
67710         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
67711         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67712         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67713         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67714         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67715         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67716         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67717         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
67718         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67719         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67720         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
67721         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67722         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67723         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
67724         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67725         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67726         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
67727         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67728         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67729         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
67730         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67731         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67732         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
67733         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67734         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67735         Reported by Eric Blake.
67736
67737 2007-04-11  Bruno Haible  <bruno@clisp.org>
67738
67739         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
67740
67741 2007-04-10  Bruno Haible  <bruno@clisp.org>
67742
67743         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
67744         for NaN and Infinity. Needed on FreeBSD 6.1.
67745         * tests/test-vasnprintf-posix.c (test_function): Undo last change
67746         regarding results for "%010a" of Infinity and NaN.
67747         * tests/test-vasprintf-posix.c (test_function): Likewise.
67748         * tests/test-snprintf-posix.h (test_function): Likewise.
67749         * tests/test-sprintf-posix.h (test_function): Likewise.
67750         * tests/test-fprintf-posix.h (test_function): Likewise.
67751         * tests/test-printf-posix.h (test_function): Likewise.
67752         * tests/test-fprintf-posix.out: Likewise.
67753
67754 2007-04-10  Bruno Haible  <bruno@clisp.org>
67755
67756         * modules/locale-tests: New file.
67757         * tests/test-locale.c: New file.
67758
67759         * modules/locale: New file.
67760         * lib/locale_.h: New file.
67761         * m4/locale_h.m4: New file.
67762
67763 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
67764             Bruno Haible  <bruno@clisp.org>
67765
67766         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67767         be determined, test for availability of the copysignf, copysign,
67768         copysignl functions.
67769         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67770         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67771         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67772
67773 2007-04-09  Eric Blake  <ebb9@byu.net>
67774
67775         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67776         * modules/stdio (Makefile.am): Support fflush.
67777         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67778         * modules/fflush: New file.
67779         * lib/fflush.c: Likewise.
67780         * m4/fflush.m4: Likewise.
67781         * modules/fflush-tests: New test.
67782         * tests/test-fflush.c: Likewise.
67783         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67784
67785 2007-04-06  Bruno Haible  <bruno@clisp.org>
67786
67787         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67788         (VASNPRINTF): Use signbit for faster determination whether to print a
67789         minus sign.
67790         * modules/vasnprintf (Files): Remove lib/float+.h.
67791         * modules/fprintf-posix (Depends-on): Add signbit.
67792         * modules/snprintf-posix (Depends-on): Likewise.
67793         * modules/sprintf-posix (Depends-on): Likewise.
67794         * modules/vasnprintf-posix (Depends-on): Likewise.
67795         * modules/vasprintf-posix (Depends-on): Likewise.
67796         * modules/vfprintf-posix (Depends-on): Likewise.
67797         * modules/vsnprintf-posix (Depends-on): Likewise.
67798         * modules/vsprintf-posix (Depends-on): Likewise.
67799
67800 2007-04-06  Bruno Haible  <bruno@clisp.org>
67801
67802         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67803         * tests/test-frexpl.c (main): Likewise.
67804         * tests/test-ldexpl.c (main): Likewise.
67805         * modules/frexp-tests (Depends-on): Add signbit.
67806         * modules/frexpl-tests (Depdends-on): Likewise.
67807         * modules/ldexpl-tests (Depdends-on): Likewise.
67808
67809 2007-04-06  Bruno Haible  <bruno@clisp.org>
67810
67811         * modules/signbit-tests: New file.
67812         * tests/test-signbit.c: New file.
67813
67814         * modules/signbit: New file.
67815         * lib/signbitf.c: New file.
67816         * lib/signbitd.c: New file.
67817         * lib/signbitl.c: New file.
67818         * m4/signbit.m4: New file.
67819         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67820         (signbit): New macro.
67821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67822         REPLACE_SIGNBIT.
67823         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67824         REPLACE_FREXPL into math.h.
67825
67826 2007-04-06  Bruno Haible  <bruno@clisp.org>
67827
67828         * modules/isnanf-nolibm-tests: New file.
67829         * tests/test-isnanf.c: New file.
67830
67831         * modules/isnanf-nolibm: New file.
67832         * lib/isnanf.h: New file.
67833         * lib/isnanf.c: New file.
67834         * lib/isnan.c: Consider the USE_FLOAT macro.
67835         * m4/isnanf.m4: New file.
67836
67837 2007-04-06  Bruno Haible  <bruno@clisp.org>
67838
67839         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67840         (Link): New section.
67841
67842         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67843
67844 2007-04-06  Bruno Haible  <bruno@clisp.org>
67845
67846         Assume the 'long double' type.
67847         * m4/longdouble.m4: Remove file.
67848         * config/srclist.txt: Don't mention longdouble.m4.
67849         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67850         * lib/float+.h: Likewise.
67851         * lib/frexp.c: Likewise.
67852         * lib/printf-args.h: Likewise.
67853         * lib/printf-args.c: Likewise.
67854         * lib/printf-frexp.c: Likewise.
67855         * lib/printf-parse.c: Likewise.
67856         * lib/vasnprintf.c: Likewise.
67857         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67858         * m4/intl.m4: Likewise.
67859         * m4/isnanl.m4: Likewise.
67860         * m4/printf.m4: Likewise.
67861         * m4/printf-frexpl.m4: Likewise.
67862         * m4/vasnprintf.m4: Likewise.
67863         * modules/allocsa (Files): Remove m4/longdouble.m4.
67864         * modules/gettext (Files): Likewise.
67865         * modules/relocatable-prog-wrapper (Files): Likewise.
67866         * modules/vasnprintf (Files): Likewise.
67867         * modules/isnanl (Files): Likewise.
67868         (Include): Simplify.
67869         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67870         (Include): Simplify.
67871         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67872         (Include): Simplify.
67873         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67874         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67875         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67876         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67877         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67878         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67879         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67880         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67881         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67882         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67883         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67884         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67885         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67886         * tests/test-isnanl.c: Likewise.
67887         * tests/test-snprintf-posix.h: Likewise.
67888         * tests/test-sprintf-posix.h: Likewise.
67889         * tests/test-vasnprintf-posix.c: Likewise.
67890         * tests/test-vasnprintf-posix2.c: Likewise.
67891         * tests/test-vasprintf-posix.c: Likewise.
67892
67893 2007-04-06  Bruno Haible  <bruno@clisp.org>
67894
67895         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67896         * lib/math_.h [__DECC]: Include the overridden include file through
67897         #include_next, outside the double-inclusion guard.
67898         * lib/stdio_.h [__DECC]: Likewise.
67899         * lib/stdlib_.h [__DECC]: Likewise.
67900         * lib/string_.h [__DECC]: Likewise.
67901         * lib/time_.h [__DECC]: Likewise.
67902         * lib/wchar_.h [__DECC]: Likewise.
67903         * lib/wctype_.h [__DECC]: Likewise.
67904         * lib/inttypes_.h [__DECC]: Likewise.
67905         Reported by Albert Chin <china@thewrittenword.com> in
67906         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67907
67908 2007-04-04  Eric Blake  <ebb9@byu.net>
67909
67910         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67911         1.5.x.
67912
67913 2007-04-04  Bruno Haible  <bruno@clisp.org>
67914
67915         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67916         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67917
67918 2007-04-04  Bruno Haible  <bruno@clisp.org>
67919
67920         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67921         results for "%010a" of Infinity and NaN.
67922         * tests/test-vasprintf-posix.c (test_function): Likewise.
67923         * tests/test-snprintf-posix.h (test_function): Likewise.
67924         * tests/test-sprintf-posix.h (test_function): Likewise.
67925         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67926         * tests/test-printf-posix.h (test_function): Likewise.
67927         * tests/test-fprintf-posix.out: Update.
67928         Needed for FreeBSD 6.1.
67929
67930 2007-04-04  Bruno Haible  <bruno@clisp.org>
67931
67932         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67933         directly used by the gnulib modules nor by gnulib-tool.
67934
67935 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67936
67937         * DEPENDENCIES: Give overall description of version dependency
67938         desirability.  Use more-typical names for apps.
67939         Add shell, coreutils, diffutils, grep, tar, gzip.
67940
67941 2007-04-04  Simon Josefsson  <simon@josefsson.org>
67942
67943         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
67944
67945 2007-04-04  Karl Berry  <karl@gnu.org>
67946
67947         * MODULES.html.sh (func_module): missing '.
67948
67949 2007-04-03  Bruno Haible  <bruno@clisp.org>
67950
67951         * modules/argmatch-tests (Makefile.am): New variable
67952         test_argmatch_LDADD.
67953         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
67954         * modules/array-list-tests (Makefile.am): New variable
67955         test_array_list_LDADD.
67956         * modules/array-oset-tests (Makefile.am): New variable
67957         test_array_oset_LDADD.
67958         * modules/avltree-list-tests (Makefile.am): New variable
67959         test_avltree_list_LDADD.
67960         * modules/avltree-oset-tests (Makefile.am): New variable
67961         test_avltree_oset_LDADD.
67962         * modules/avltreehash-list-tests (Makefile.am): New variable
67963         test_avltreehash_list_LDADD.
67964         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
67965         test_canonicalize_lgpl_LDADD.
67966         * modules/carray-list-tests (Makefile.am): New variable
67967         test_carray_list_LDADD.
67968         * modules/dirname-tests (Makefile.am): New variable
67969         test_dirname_LDADD.
67970         * modules/linked-list-tests (Makefile.am): New variable
67971         test_linked_list_LDADD.
67972         * modules/linkedhash-list-tests (Makefile.am): New variable
67973         test_linkedhash_list_LDADD.
67974         * modules/rbtree-list-tests (Makefile.am): New variable
67975         test_rbtree_list_LDADD.
67976         * modules/rbtree-oset-tests (Makefile.am): New variable
67977         test_rbtree_oset_LDADD.
67978         * modules/rbtreehash-list-tests (Makefile.am): New variable
67979         test_rbtreehash_list_LDADD.
67980         * modules/xvasprintf-tests (Makefile.am): New variable
67981         test_xvasprintf_LDADD.
67982         Reported by Eric Blake.
67983
67984 2007-04-03  Eric Blake  <ebb9@byu.net>
67985
67986         * DEPENDENCIES: Weaken m4 requirements.
67987
67988 2007-04-03  Bruno Haible  <bruno@clisp.org>
67989
67990         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67991         * modules/isnanl-tests (configure.ac): Likewise.
67992
67993 2007-04-03  Ben Pfaff  <blp@gnu.org>
67994
67995         * modules/iconv_open: Add $(srcdir)/ to source directory
67996         references in Makefile fragments that call gperf, to fix VPATH
67997         builds.
67998
67999 2007-04-03  Bruno Haible  <bruno@clisp.org>
68000
68001         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
68002         * lib/ldexpl.c: Undo last change.
68003
68004 2007-04-03  Bruno Haible  <bruno@clisp.org>
68005
68006         * modules/printf-frexpl (Depends-on): Undo last change.
68007         (Files): Add m4/ldexpl.m4.
68008
68009 2007-04-03  Bruno Haible  <bruno@clisp.org>
68010
68011         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
68012         * modules/isnanl (Link): New section.
68013
68014         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
68015         * modules/frexp (Link): New section.
68016
68017         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
68018         * modules/frexpl (Link): New section.
68019
68020         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
68021         * modules/ldexpl (Link): New section.
68022
68023 2007-04-03  Bruno Haible  <bruno@clisp.org>
68024
68025         * modules/TEMPLATE-EXTENDED: New file.
68026         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
68027
68028 2007-04-03  Bruno Haible  <bruno@clisp.org>
68029
68030         * DEPENDENCIES: New file.
68031         Suggested by Simon Josefsson.
68032
68033 2007-04-03  Bruno Haible  <bruno@clisp.org>
68034
68035         * doc/gnulib.texi: Escape @.
68036
68037 2007-04-03  James Youngman  <jay@gnu.org>
68038         and Paul Eggert  <eggert@cs.ucla.edu>
68039
68040         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
68041         birthtime on all systems that have birthtime, not just those which
68042         use st_birthtimensec rather than st_birthtim.  Putting zero in
68043         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
68044         that the birth time is not available for files on an NFS mount.
68045
68046 2007-04-03  Simon Josefsson  <simon@josefsson.org>
68047
68048         * modules/memxor: Move back from crypto/, suggested by Bruno.
68049         * modules/crypto/hmac-sha1: Fix memxor dependency.
68050
68051         * modules/crypto/gc: Moved from ../.
68052
68053 2007-04-02  Eric Blake  <ebb9@byu.net>
68054
68055         * lib/ldexpl.c (includes): Avoid libm.
68056
68057         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
68058
68059 2007-04-02  Bruno Haible  <bruno@clisp.org>
68060
68061         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
68062         on IRIX.
68063
68064 2007-04-02  Bruno Haible  <bruno@clisp.org>
68065
68066         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
68067         x86 or x86_64 platforms running MacOS X.
68068         Reported by Ryan Schmidt <@ryandesign.com>.
68069
68070 2007-04-02  Bruno Haible  <bruno@clisp.org>
68071
68072         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
68073         i386.
68074
68075 2007-04-01  Simon Josefsson  <simon@josefsson.org>
68076
68077         * modules/crypto/arcfour: Moved from ../.
68078         * modules/crypto/arcfour-tests: Moved from ../.
68079         * modules/crypto/arctwo: Moved from ../.
68080         * modules/crypto/arctwo-tests: Moved from ../.
68081         * modules/crypto/des: Moved from ../.
68082         * modules/crypto/des-tests: Moved from ../.
68083         * modules/crypto/gc-arcfour: Moved from ../.
68084         * modules/crypto/gc-arcfour-tests: Moved from ../.
68085         * modules/crypto/gc-arctwo: Moved from ../.
68086         * modules/crypto/gc-arctwo-tests: Moved from ../.
68087         * modules/crypto/gc-des: Moved from ../.
68088         * modules/crypto/gc-des-tests: Moved from ../.
68089         * modules/crypto/gc-hmac-md5: Moved from ../.
68090         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
68091         * modules/crypto/gc-hmac-sha1: Moved from ../.
68092         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
68093         * modules/crypto/gc-md2: Moved from ../.
68094         * modules/crypto/gc-md2-tests: Moved from ../.
68095         * modules/crypto/gc-md4: Moved from ../.
68096         * modules/crypto/gc-md4-tests: Moved from ../.
68097         * modules/crypto/gc-md5: Moved from ../.
68098         * modules/crypto/gc-md5-tests: Moved from ../.
68099         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
68100         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
68101         * modules/crypto/gc-random: Moved from ../.
68102         * modules/crypto/gc-rijndael: Moved from ../.
68103         * modules/crypto/gc-rijndael-tests: Moved from ../.
68104         * modules/crypto/gc-sha1: Moved from ../.
68105         * modules/crypto/gc-sha1-tests: Moved from ../.
68106         * modules/crypto/gc-tests: Moved from ../.
68107         * modules/crypto/hmac-md5: Moved from ../.
68108         * modules/crypto/hmac-md5-tests: Moved from ../.
68109         * modules/crypto/hmac-sha1: Moved from ../.
68110         * modules/crypto/hmac-sha1-tests: Moved from ../.
68111         * modules/crypto/md2: Moved from ../.
68112         * modules/crypto/md2-tests: Moved from ../.
68113         * modules/crypto/md4: Moved from ../.
68114         * modules/crypto/md4-tests: Moved from ../.
68115         * modules/crypto/md5: Moved from ../.
68116         * modules/crypto/md5-tests: Moved from ../.
68117         * modules/crypto/memxor: Moved from ../.
68118         * modules/crypto/rijndael: Moved from ../.
68119         * modules/crypto/rijndael-tests: Moved from ../.
68120         * modules/crypto/sha1: Moved from ../.
68121
68122 2007-03-30  James Youngman  <jay@gnu.org>
68123
68124         * tests/test-stat-time.c (prepare_test): use chmod() rather than
68125         rename() to change the ctime of a file (because ctime is unaffected
68126         by rename on jfs2 on AIX 5.1).
68127         (main): Start by doing cleanup, in case a previous run failed leaving
68128         test files behind.
68129
68130 2007-03-31  Bruno Haible  <bruno@clisp.org>
68131
68132         Support old proprietary implementations of iconv.
68133         * modules/iconv_open: New file.
68134         * lib/iconv_.h: New file.
68135         * m4/iconv_h.m4: New file.
68136         * lib/iconv_open.c: New file.
68137         * lib/iconv_open-aix.gperf: New file.
68138         * lib/iconv_open-hpux.gperf: New file.
68139         * lib/iconv_open-irix.gperf: New file.
68140         * lib/iconv_open-osf.gperf: New file.
68141         * m4/iconv_open.m4: New file.
68142         * modules/linebreak (Depends-on): Add iconv_open.
68143         * modules/striconv (Depends-on): Likewise.
68144         * modules/striconveh (Depends-on): Likewise.
68145         * modules/unicodeio (Depends-on): Likewise.
68146         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
68147         (iconv_t)(-1).
68148         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
68149         conversion if cd is (iconv_t)(-1).
68150         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
68151         is not possible.
68152
68153 2007-03-31  Bruno Haible  <bruno@clisp.org>
68154
68155         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68156         work on Solaris either. Protect also second use of "autodetect_jp".
68157
68158 2007-03-31  Bruno Haible  <bruno@clisp.org>
68159
68160         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
68161         the function is not present.
68162
68163 2007-03-31  Bruno Haible  <bruno@clisp.org>
68164
68165         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
68166         the function is not present.
68167
68168 2007-03-31  Bruno Haible  <bruno@clisp.org>
68169
68170         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
68171         a bug in HP-UX iconv_open().
68172
68173 2007-03-31  Bruno Haible  <bruno@clisp.org>
68174
68175         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
68176         (Mathematics <math.h>): New section, add fpieee.
68177         (Input/output <stdio.h>): Add fseterr.
68178         (Mathematics <math.h>): New section, add printf-frexp.
68179         (Container data structures): Add sublist.
68180         (Core language properties): Add fpucw, inline.
68181         (Functions for greatest-width integer types <inttypes.h>): Add
68182         imaxabs, imaxdiv, inttypes.
68183         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
68184         isnanl-nolibm, ldexp.
68185         (Mathematics <math.h>): New section, add printf-frexpl.
68186         (Support for systems lacking POSIX:2001): Add fprintf-posix,
68187         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
68188         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
68189         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
68190         (Unicode string functions): Add unistr/u*-mbtoucr.
68191         (Java): Add javacomp-script, javaexec-script.
68192         (C#): Add csharpcomp-script, csharpexec-script.
68193         (Support for building libraries and executables): Add havelib,
68194         relocatable-*.
68195         (Support for maintaining and releasing projects): Renamed from
68196         'Support for maintaining and release projects'. Add announce-gen.
68197
68198 2007-03-31  Bruno Haible  <bruno@clisp.org>
68199
68200         * README: Talk primarily about git.
68201         (git and CVS): Renamed from CVS.
68202         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
68203         gnulib is available through git.
68204         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
68205
68206 2007-03-30  Bruno Haible  <bruno@clisp.org>
68207
68208         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
68209         * lib/poll_.h: Likewise.
68210         * lib/stat_.h: Likewise.
68211         * lib/sys_time_.h: Likewise.
68212         * lib/sysexit_.h: Likewise.
68213         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
68214         * lib/stdbool_.h: Likewise.
68215         * lib/byteswap_.h: Add double-inclusion guard.
68216
68217 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
68218
68219         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
68220
68221 2007-03-30  Karl Berry  <karl@gnu.org>
68222
68223         * config/srclist-update: double space after USA in the license
68224         substitution, since that's how it's usually (?) written.
68225
68226 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68227
68228         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
68229         reported by Bruno Haible.
68230
68231 2007-03-29  Bruno Haible  <bruno@clisp.org>
68232
68233         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
68234         a bug in AIX iconv().
68235
68236 2007-03-29  Bruno Haible  <bruno@clisp.org>
68237
68238         * modules/ldexpl-tests: New file.
68239         * tests/test-ldexpl.c: New file.
68240
68241 2007-03-29  Bruno Haible  <bruno@clisp.org>
68242
68243         * lib/ldexpl.c: Include fpucw.h.
68244         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
68245         multiplication.
68246         * modules/ldexpl (Depends-on): Add fpucw.
68247
68248 2007-03-29  Bruno Haible  <bruno@clisp.org>
68249
68250         * modules/ldexpl: New file.
68251         * m4/ldexpl.m4: New file.
68252         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
68253         set.
68254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
68255         REPLACE_LDEXPL.
68256         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
68257         REPLACE_LDEXPL.
68258         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68259         gl_FUNC_LDEXPL_WORKS.
68260         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
68261         * modules/mathl (Files): Remove lib/ldexpl.c.
68262         (Depends-on): Add ldexpl.
68263
68264 2007-03-29  Bruno Haible  <bruno@clisp.org>
68265
68266         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
68267
68268 2007-03-29  Bruno Haible  <bruno@clisp.org>
68269
68270         * tests/test-striconveh.c (main): Don't assume that a direct conversion
68271         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
68272         and possibly also HP-UX.
68273         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68274         work on AIX, IRIX, HP-UX, OSF/1.
68275         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
68276         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
68277         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
68278         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
68279         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
68280         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
68281
68282 2007-03-29  Bruno Haible  <bruno@clisp.org>
68283
68284         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
68285
68286 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68287
68288         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
68289         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
68290
68291 2007-03-29  Eric Blake  <ebb9@byu.net>
68292
68293         * lib/acl-internal.h: Remove redundant include.
68294         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
68295         Cygwin when a file is locked.
68296
68297 2007-03-29  Bruno Haible  <bruno@clisp.org>
68298
68299         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
68300         file.
68301         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
68302
68303 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68304
68305         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
68306         try to remove a parent directory if the child couldn't be removed
68307         (except for the first rmdir, which could fail because the child
68308         doesn't exist).  Problem reported by Jeff Blaine in
68309         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
68310
68311 2007-03-28  Bruno Haible  <bruno@clisp.org>
68312
68313         * lib/striconveh.c (utf8conv_carefully): New function.
68314         (mem_cd_iconveh_internal): Invoke it.
68315
68316 2007-03-28  Bruno Haible  <bruno@clisp.org>
68317
68318         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
68319         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
68320         input.
68321         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
68322         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
68323         unistr/u8-uctomb.
68324
68325 2007-03-28  Bruno Haible  <bruno@clisp.org>
68326
68327         * modules/unistr/u8-mbtoucr: New file.
68328         * lib/unistr/u8-mbtoucr.c: New file.
68329         * modules/unistr/u16-mbtoucr: New file.
68330         * lib/unistr/u16-mbtoucr.c: New file.
68331         * modules/unistr/u16-mbtoucr: New file.
68332         * lib/unistr/u16-mbtoucr.c: New file.
68333         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
68334
68335 2007-03-27  Simon Josefsson  <simon@josefsson.org>
68336             Bruno Haible  <bruno@clisp.org>
68337
68338         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
68339         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
68340         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
68341
68342         * m4/stdio_h.m4: Add stubs for vasprintf too.
68343
68344         * modules/stdio: Support vasprintf in sed command.
68345
68346         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68347         vasprintf.h.  Add stdio module indicator.
68348
68349         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68350         vasprintf.h.
68351
68352         * lib/vasprintf.h: File removed.
68353
68354         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68355         * lib/vasprintf.c: Ditto.
68356         * lib/xvasprintf.c: Ditto.
68357         * tests/test-vasprintf-posix.c: Ditto.
68358         * tests/test-vasprintf.c: Ditto.
68359
68360 2007-03-27  Bruno Haible  <bruno@clisp.org>
68361
68362         Make vasnprintf multithread-safe.
68363         * lib/vasnprintf.c (decimal_point_char): New function.
68364         (VASNPRINTF): Use it.
68365         Suggested by Simon Josefsson.
68366
68367 2007-03-27  Eric Blake  <ebb9@byu.net>
68368
68369         Support sub-second birthtime on cygwin.
68370         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68371         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68372         (get_stat_birthtime): Also work with st_birthtim.
68373
68374 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68377         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68378         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68379         (get_stat_birthtime_ns): Simplify compile-time tests.
68380         (get_stat_birthtime): Change the API to look like
68381         get_stat_mtime etc., except return a negative tv_nsec on error.
68382         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68383         Don't check for "spare" fields.
68384         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68385         or for struct stat.st_birthtime, as these tests aren't used.
68386         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68387
68388 2007-03-27  Bruno Haible  <bruno@clisp.org>
68389
68390         * lib/stat-time.h: Include <sys/stat.h>.
68391
68392 2007-03-27  James Youngman  <jay@gnu.org>
68393
68394         * lib/stat-time.h (get_stat_birthtime): New function for
68395           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68396         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68397           and its variants.
68398         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68399         * modules/stat-time-test: New file.
68400         * tests/test-stat-time.c: New test, devised by Bruno Haible.
68401
68402 2007-03-26  Bruno Haible  <bruno@clisp.org>
68403
68404         Better support of signalling NaNs.
68405         * lib/atanl.c: Include isnanl.h.
68406         (atanl): Perform test for NaN at the beginning of the function and
68407         through a call to isnanl.
68408         * lib/cosl.c: Include isnanl.h.
68409         (cosl): Perform test for NaN at the beginning of the function and
68410         through a call to isnanl.
68411         * lib/ldexpl.c: Include isnanl.h.
68412         (ldexpl): Perform test for NaN through a call to isnanl.
68413         * lib/logl.c: Include isnanl.h.
68414         (logl): Perform test for NaN at the beginning of the function and
68415         through a call to isnanl.
68416         * lib/sinl.c: Include isnanl.h.
68417         (sinl): Perform test for NaN at the beginning of the function and
68418         through a call to isnanl.
68419         * lib/sqrtl.c: Include isnanl.h.
68420         (sqrtl): Perform test for NaN at the beginning of the function and
68421         through a call to isnanl.
68422         * lib/tanl.c: Include isnanl.h.
68423         (tanl): Perform test for NaN at the beginning of the function and
68424         through a call to isnanl.
68425         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
68426         * modules/mathl (Depends-on): Add isnanl.
68427
68428 2007-03-26  Eric Blake  <ebb9@byu.net>
68429
68430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
68431         regression in logic sense of previous patch.
68432
68433 2007-03-26  Bruno Haible  <bruno@clisp.org>
68434
68435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
68436         unportable shell command "if ! ...".
68437         Reported by Ralf Wildenhues.
68438
68439 2007-03-25  Bruno Haible  <bruno@clisp.org>
68440
68441         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
68442         <sysexits.h> file, and only add EX_CONFIG.
68443         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
68444         absolute file name and whether it is sufficient. Substitute also
68445         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
68446         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
68447         ABSOLUTE_SYSEXITS_H into sysexits.h.
68448
68449 2007-03-25  Bruno Haible  <bruno@clisp.org>
68450
68451         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
68452         hints is NULL.
68453
68454 2007-03-25  Bruno Haible  <bruno@clisp.org>
68455
68456         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
68457         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
68458
68459 2007-03-25  Bruno Haible  <bruno@clisp.org>
68460
68461         * lib/vasnprintf.c: Include langinfo.h.
68462         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
68463         multithread-safe.
68464         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
68465         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
68466         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68467         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68468         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68469         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68470         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68471         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
68472         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68473         Reported by Simon Josefsson.
68474
68475 2007-03-25  Bruno Haible  <bruno@clisp.org>
68476
68477         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
68478         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
68479         * modules/vasnprintf (Depends-on): Add stdint.
68480
68481 2007-03-25  Bruno Haible  <bruno@clisp.org>
68482
68483         * modules/fpieee: New file.
68484         * m4/fpieee.m4: New file.
68485         * modules/isnan-nolibm (Depends-on): Add fpieee.
68486         * modules/isnanl-nolibm (Depends-on): Add fpieee.
68487         * modules/isnanl (Depends-on): Add fpieee.
68488
68489 2007-03-25  Bruno Haible  <bruno@clisp.org>
68490
68491         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
68492
68493 2007-03-25  Bruno Haible  <bruno@clisp.org>
68494
68495         Avoid test failures on IRIX 6.5.
68496         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
68497         (main): Use it.
68498         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
68499         macros.
68500         (main): Use them.
68501
68502 2007-03-25  Bruno Haible  <bruno@clisp.org>
68503
68504         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
68505         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
68506         exists but doesn't work.
68507         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
68508         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
68509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
68510         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
68511         math.h.
68512
68513 2007-03-25  Bruno Haible  <bruno@clisp.org>
68514
68515         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
68516         returns inf. Needed on IRIX 6.5.
68517
68518 2007-03-25  Bruno Haible  <bruno@clisp.org>
68519
68520         * tests/test-frexpl.c: Include isnanl-nolibm.h.
68521         (main): Use isnanl instead of x != x idiom.
68522         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
68523
68524         * tests/test-frexp.c: Include isnan.h.
68525         (main): Use isnan instead of x != x idiom.
68526         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
68527
68528 2007-03-25  Bruno Haible  <bruno@clisp.org>
68529
68530         * tests/test-frexp.c (NaN): New function/macro.
68531         (main): Use it instead of 0.0 / 0.0.
68532         * tests/test-isnan.c (NaN): New function/macro.
68533         (main): Use it instead of 0.0 / 0.0.
68534         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
68535         (test_function): Use it instead of 0.0 / 0.0.
68536         * tests/test-vasprintf-posix.c (NaN): New function/macro.
68537         (test_function): Use it instead of 0.0 / 0.0.
68538         * tests/test-snprintf-posix.h (NaN): New function/macro.
68539         (test_function): Use it instead of 0.0 / 0.0.
68540         * tests/test-sprintf-posix.h (NaN): New function/macro.
68541         (test_function): Use it instead of 0.0 / 0.0.
68542         * tests/test-fprintf-posix.h (NaN): New function/macro.
68543         (test_function): Use it instead of 0.0 / 0.0.
68544         * tests/test-printf-posix.h (NaN): New function/macro.
68545         (test_function): Use it instead of 0.0 / 0.0.
68546
68547         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
68548
68549 2007-03-25  Bruno Haible  <bruno@clisp.org>
68550
68551         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
68552
68553 2007-03-25  Bruno Haible  <bruno@clisp.org>
68554
68555         * lib/regexec.c (merge_state_with_log): Make static.
68556
68557 2007-03-25  Bruno Haible  <bruno@clisp.org>
68558
68559         * lib/trigl.c (kernel_rem_pio2): Make static.
68560
68561 2007-03-25  Bruno Haible  <bruno@clisp.org>
68562
68563         * lib/sincosl.c (sincosl_table): Make static.
68564
68565 2007-03-25  Bruno Haible  <bruno@clisp.org>
68566
68567         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
68568         if the compiler does not support C99.
68569
68570 2007-03-25  Bruno Haible  <bruno@clisp.org>
68571
68572         * modules/time (Makefile.am): Ensure all rule action lines start with a
68573         tab.
68574
68575 2007-03-24  Bruno Haible  <bruno@clisp.org>
68576
68577         * modules/tsearch-tests: New file.
68578         * tests/test-tsearch.sh: New file.
68579         * tests/test-tsearch.c: New file, mostly copied from glibc.
68580
68581         * modules/search-tests: New file.
68582         * tests/test-search.c: New file.
68583
68584         * modules/search: New file.
68585         * lib/search_.h: New file, incorporating lib/tsearch.h.
68586         * m4/search_h.m4: New file.
68587         * lib/tsearch.h: Remove file.
68588         * lib/tsearch.c: Include search.h instead of tsearch.h.
68589         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
68590         HAVE_TSEARCH.
68591         * modules/tsearch (Files): Remove lib/tsearch.h.
68592         (Depends-on): Add search.
68593         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
68594         (Include): Change tsearch.h into search.h.
68595
68596 2007-03-24  Bruno Haible  <bruno@clisp.org>
68597
68598         * modules/fpucw: New file.
68599         * lib/fpucw.h: New file.
68600         * lib/frexp.c: Include fpucw.h.
68601         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68602         (FUNC): Use them.
68603         * lib/printf-frexp.c: Include fpucw.h.
68604         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68605         (FUNC): Use them.
68606         * lib/vasnprintf.c: Include fpucw.h.
68607         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
68608         'long double' calculations.
68609         * tests/test-frexpl.c: Include fpucw.h.
68610         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68611         * tests/test-printf-frexpl.c: Include fpucw.h.
68612         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68613         * modules/frexpl (Depends-on): Add fpucw.
68614         * modules/printf-frexpl (Depends-on): Likewise.
68615         * modules/fprintf-posix (Depends-on): Likewise.
68616         * modules/snprintf-posix (Depends-on): Likewise.
68617         * modules/sprintf-posix (Depends-on): Likewise.
68618         * modules/vasnprintf-posix (Depends-on): Likewise.
68619         * modules/vasprintf-posix (Depends-on): Likewise.
68620         * modules/vfprintf-posix (Depends-on): Likewise.
68621         * modules/vsnprintf-posix (Depends-on): Likewise.
68622         * modules/vsprintf-posix (Depends-on): Likewise.
68623         * modules/frexpl-tests (Depends-on): Likewise.
68624         * modules/printf-frexpl-tests (Depends-on): Likewise.
68625
68626 2007-03-24  Bruno Haible  <bruno@clisp.org>
68627
68628         * lib/float+.h: New file.
68629         * lib/isnan.c: Include float+.h.
68630         (SIZE): New macro.
68631         (FUNC): Compare only SIZE bytes of the value.
68632         * lib/vasnprintf.c: Include float+.h.
68633         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
68634         SIZEOF_LDBL or SIZEOF_DBL bytes.
68635         * modules/isnan-nolibm (Files): Add lib/float+.h.
68636         * modules/isnanl-nolibm (Files): Add lib/float+.h.
68637         * modules/isnanl (Files): Add lib/float+.h.
68638         * modules/vasnprintf (Files): Add lib/float+.h.
68639
68640 2007-03-24  Bruno Haible  <bruno@clisp.org>
68641
68642         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
68643         include isnanl-nolibm.h.
68644
68645 2007-03-24  Bruno Haible  <bruno@clisp.org>
68646
68647         * tests/test-read-file.c (main): Don't produce spurious output for
68648         expected situations. Make the test fail if it encountered unexpected
68649         results.
68650
68651 2007-03-24  Bruno Haible  <bruno@clisp.org>
68652
68653         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
68654         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
68655
68656 2007-03-24  Bruno Haible  <bruno@clisp.org>
68657
68658         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
68659
68660 2007-03-24  Bruno Haible  <bruno@clisp.org>
68661
68662         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
68663         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
68664
68665         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
68666         * modules/utf8-ucs4: Turn into a symbolic link to module
68667         unistr/u8-mbtouc.
68668
68669         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
68670         utf8-ucs4-unsafe.
68671         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
68672         unistr/u8-mbtouc-unsafe.
68673
68674         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
68675         * modules/utf16-ucs4: Turn into a symbolic link to module
68676         unistr/u16-mbtouc.
68677
68678         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
68679         utf16-ucs4-unsafe.
68680         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
68681         unistr/u16-mbtouc-unsafe.
68682
68683         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
68684         * modules/ucs4-utf8: Turn into a symbolic link to module
68685         unistr/u8-ubtomb.
68686
68687         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
68688         * modules/ucs4-utf16: Turn into a symbolic link to module
68689         unistr/u16-ubtomb.
68690
68691 2007-03-24  Bruno Haible  <bruno@clisp.org>
68692
68693         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
68694         Enable the function only if HAVE_INLINE.
68695         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
68696         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68697         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
68698         Enable the function only if HAVE_INLINE.
68699         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
68700         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68701         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
68702         Enable the function only if HAVE_INLINE.
68703         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
68704         Enable the function only if HAVE_INLINE.
68705         * modules/utf8-ucs4: Update.
68706         * modules/utf8-ucs4-unsafe: Update.
68707         * modules/utf16-ucs4: Update.
68708         * modules/utf16-ucs4-unsafe: Update.
68709         * modules/ucs4-utf8: Update.
68710         * modules/ucs4-utf16: Update.
68711
68712 2007-03-24  Bruno Haible  <bruno@clisp.org>
68713
68714         * lib/utf8-ucs4.h: Remove file.
68715         * lib/utf8-ucs4-unsafe.h: Remove file.
68716         * lib/utf16-ucs4.h: Remove file.
68717         * lib/utf16-ucs4-unsafe.h: Remove file.
68718         * lib/ucs4-utf8.h: Remove file.
68719         * lib/ucs4-utf16.h: Remove file.
68720         * lib/unistr.h: Include their previous contents.
68721         * m4/utf-ucs4.m4: Remove file.
68722         * m4/ucs4-utf.m4: Remove file.
68723         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
68724         (Depends-on): Add unistr/base.
68725         (configure.ac): Remove gl_UTF_UCS4.
68726         (Makefile.am): Update.
68727         (Include): Change to unistr.h.
68728         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
68729         (Depends-on): Add unistr/base.
68730         (configure.ac): Remove gl_UTF_UCS4.
68731         (Makefile.am): Update.
68732         (Include): Change to unistr.h.
68733         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
68734         (Depends-on): Add unistr/base.
68735         (configure.ac): Remove gl_UTF_UCS4.
68736         (Makefile.am): Update.
68737         (Include): Change to unistr.h.
68738         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
68739         (Depends-on): Add unistr/base.
68740         (configure.ac): Remove gl_UTF_UCS4.
68741         (Makefile.am): Update.
68742         (Include): Change to unistr.h.
68743         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
68744         (Depends-on): Add unistr/base.
68745         (configure.ac): Remove gl_UCS4_UTF.
68746         (Makefile.am): Update.
68747         (Include): Change to unistr.h.
68748         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
68749         (Depends-on): Add unistr/base.
68750         (configure.ac): Remove gl_UCS4_UTF.
68751         (Makefile.am): Update.
68752         (Include): Change to unistr.h.
68753         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
68754         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
68755         utf8-ucs4-unsafe.h.
68756         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
68757         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
68758         utf16-ucs4-unsafe.h.
68759         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
68760         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
68761         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
68762         * lib/unistr/u8-strchr.c: Likewise.
68763         * lib/unistr/u8-strrchr.c: Likewise.
68764         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
68765         * lib/unistr/u16-strchr.c: Likewise.
68766         * lib/unistr/u16-strrchr.c: Likewise.
68767         * lib/striconveh.c: Update.
68768         * lib/linebreak.c: Update.
68769
68770 2007-03-24  Bruno Haible  <bruno@clisp.org>
68771
68772         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68773         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68774
68775 2007-03-22  Bruno Haible  <bruno@clisp.org>
68776
68777         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68778
68779 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68780
68781         * MODULES.html.sh (File system functions): New module write-any-file.
68782         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68783         * m4/write-any-file.m4: New files.
68784
68785 2007-03-23  Eric Blake  <ebb9@byu.net>
68786
68787         * gnulib-tool: Rearrange space-tab sequences, since some editors
68788         like to eat them.
68789
68790 2007-03-23  Eric Blake  <ebb9@byu.net>
68791
68792         * lib/version-etc.c (version_etc_va): Update license wording to
68793         be more concise.  Recommended by Richard Stallman.
68794
68795 2007-03-22  Bruno Haible  <bruno@clisp.org>
68796
68797         * lib/poll.c (MSG_PEEK): New fallback definition.
68798
68799 2007-03-22  Bruno Haible  <bruno@clisp.org>
68800
68801         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68802         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68803         (main): Update.
68804         Fixes a compilation error on BeOS.
68805
68806 2007-03-22  Bruno Haible  <bruno@clisp.org>
68807
68808         * modules/frexpl-tests: New file.
68809         * tests/test-frexpl.c: New file.
68810
68811         * modules/frexpl: New file.
68812         * m4/frexpl.m4: New file.
68813         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68814         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68815         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68816         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68817         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68818         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68819
68820 2007-03-22  Bruno Haible  <bruno@clisp.org>
68821
68822         * lib/frexpl.c: Share code with lib/frexp.c.
68823         * modules/mathl (Files): Add lib/frexp.c.
68824         (Depends-on): Add isnanl-nolibm.
68825
68826 2007-03-22  Bruno Haible  <bruno@clisp.org>
68827
68828         * modules/printf-frexp (Files): Add m4/frexp.m4.
68829         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68830         only if the found frexp function actually works.
68831
68832 2007-03-22  Bruno Haible  <bruno@clisp.org>
68833
68834         * lib/frexp.c: Remove older implementation that uses divisions.
68835
68836 2007-03-21  Bruno Haible  <bruno@clisp.org>
68837
68838         * modules/frexp-tests: New file.
68839         * tests/test-frexp.c: New file.
68840
68841         * modules/frexp: New file.
68842         * lib/frexp.c: New file.
68843         * m4/frexp.m4: New file.
68844         * lib/math_.h (frexp): New declaration.
68845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68846         REPLACE_FREXP.
68847         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68848
68849 2007-03-21  Bruno Haible  <bruno@clisp.org>
68850
68851         * modules/isnanl-tests: New file.
68852         * tests/test-isnanl.c: New file.
68853
68854         * modules/isnanl: New file.
68855         * lib/isnanl.h: New file.
68856         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68857         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68858         gl_FUNC_ISNANL_WORKS.
68859         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68860         New macros.
68861
68862 2007-03-21  Bruno Haible  <bruno@clisp.org>
68863
68864         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68865         lib/isnanl.h.
68866         (Include): Update.
68867         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68868         * lib/vasnprintf.c: Update.
68869         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68870         tests/test-isnanl.h, remove tests/test-isnanl.c.
68871         (Makefile.am): Update.
68872         * tests/test-isnanl-nolibm.c: New file.
68873         * tests/test-isnanl.h: New file.
68874         * tests/test-isnanl.c: Remove file.
68875
68876 2007-03-21  Jim Meyering  <jim@meyering.net>
68877
68878         When trying to open ".", treat ESTALE like EACCES.
68879         * lib/savewd.c (savewd_save): Resort to forking not just upon
68880         failure with EACCES, but also when errno is ESTALE.
68881
68882 2007-03-20  Bruno Haible  <bruno@clisp.org>
68883
68884         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68885         Needed on AIX 5.1. Reported by Matthew Woehlke.
68886
68887 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68888
68889         Suggestions by Bruno Haible:
68890         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68891         our own.
68892         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68893         * modules/acl (Depends-on): Add gettext.
68894
68895 2007-03-19  Bruno Haible  <bruno@clisp.org>
68896
68897         * modules/iconvme: Remove file.
68898         * lib/iconvme.h: Remove file.
68899         * lib/iconvme.c: Remove file.
68900         * m4/iconvme.m4: Remove file.
68901
68902 2007-03-19  Bruno Haible  <bruno@clisp.org>
68903
68904         * doc/relocatable-maint.texi: Break long shell script line.
68905         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68906
68907 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68908
68909         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68910         handle file_has_acl.
68911         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68912         * lib/acl.c: Move header inclusions and related macro defns into
68913         lib/acl-internal.h.
68914         (S_ISLNK): Remove defn, since that's now done for us.
68915         (file_has_acl): Move to lib/file-has-acl.c.
68916         Call acl_trivial if available.  This is the crucial part of the fix.
68917         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68918         shared within the library.  Rewrite a bit, partly to make it compatible
68919         with the GNU coding style.
68920         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68921         Remove unnecessary double-quotes.
68922         Don't test for acl_to_text; the build will catch that.
68923         Replace acl_entries if it doesn't exist and it is needed.
68924         Check for -lsec and acl_trivial (as used on Solaris 10).
68925         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68926         lib/file-has-acl.c.
68927         (Depends-on): Add sys_stat, for S_ISLNK.
68928
68929 2007-03-19  Ben Pfaff  <blp@gnu.org>
68930
68931         * doc/gnulib.texi: Fix typos.
68932         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68933
68934 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68935
68936         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68937         If size is zero here, buf must be zero.
68938
68939 2007-03-19  Simon Josefsson  <simon@josefsson.org>
68940
68941         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
68942         <bruno@clisp.org>.
68943
68944 2007-03-18  Bruno Haible  <bruno@clisp.org>
68945
68946         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
68947         Suggested by Eric Blake.
68948
68949 2007-03-18  Ben Pfaff  <blp@gnu.org>
68950
68951         * doc/relocatable.texi: Recommend using as prefix a directory
68952         that does not exist and will never be created.  Based on
68953         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
68954         and others.
68955
68956 2007-03-17  Bruno Haible  <bruno@clisp.org>
68957
68958         * lib/fchownat.c: Include lchown.h.
68959
68960 2007-03-17  Bruno Haible  <bruno@clisp.org>
68961
68962         Fix endless loop when the given allocated size was > INT_MAX.
68963         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
68964         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
68965         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
68966         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
68967         * lib/sprintf.c (sprintf): Likewise.
68968
68969 2007-03-17  Bruno Haible  <bruno@clisp.org>
68970
68971         * tests/test-argp-2.sh (func_compare): Output a context diff.
68972
68973 2007-03-17  Bruno Haible  <bruno@clisp.org>
68974
68975         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
68976         locale's decimal-point character.
68977
68978 2007-03-17  Bruno Haible  <bruno@clisp.org>
68979
68980         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68981         before comparing it. Needed because on some platforms (e.g. x86) a
68982         'long double' occupies less bytes than sizeof (long double).
68983
68984 2007-03-17  Bruno Haible  <bruno@clisp.org>
68985
68986         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68987         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68988         * tests/test-getaddrinfo.c (simple): Likewise.
68989         * tests/test-read-file.c (main): Likewise.
68990
68991 2007-03-17  Bruno Haible  <bruno@clisp.org>
68992
68993         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68994
68995 2007-03-17  Bruno Haible  <bruno@clisp.org>
68996
68997         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68998         unused variable.
68999
69000 2007-03-17  Bruno Haible  <bruno@clisp.org>
69001
69002         * tests/test-c-strcasecmp.c: Include c-strcase.h.
69003         * tests/test-c-strncasecmp.c: Likewise.
69004
69005 2007-03-17  Bruno Haible  <bruno@clisp.org>
69006
69007         * modules/stdlib (Depends-on): Add unistd.
69008         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
69009         Needed for MacOS X 10.3.
69010
69011 2007-03-17  Bruno Haible  <bruno@clisp.org>
69012
69013         * lib/unistr/u-strdup.h: Include <stdlib.h>.
69014
69015 2007-03-17  Bruno Haible  <bruno@clisp.org>
69016
69017         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
69018
69019 2007-03-17  Bruno Haible  <bruno@clisp.org>
69020
69021         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
69022         to reflect files copied from gnulib (with or without modifications).
69023         Suggested by Jim Meyering.
69024
69025 2007-03-17  Eric Blake  <ebb9@byu.net>
69026
69027         * NEWS: Document stdlib change from 2007-02-18.
69028
69029 2007-03-17  Jim Meyering  <jim@meyering.net>
69030
69031         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
69032         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
69033         someone uses a name containing shell meta-characters.
69034         Reported by Alfred M. Szmidt.
69035
69036         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
69037
69038 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69039
69040         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
69041         and copy gettext configuration files only if configure.ac contains
69042         a use of AM_GNU_GETTEXT_VERSION.
69043
69044 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69045
69046         * build-aux/bootstrap (gnulib_name): New variable.
69047         (gnulib_tool_options): Use it.
69048
69049 2007-03-13  Simon Josefsson  <simon@josefsson.org>
69050
69051         * tests/test-des.c: Use new namespace.
69052
69053 2007-03-15  Bruno Haible  <bruno@clisp.org>
69054
69055         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
69056         Reported by James Youngman <jay@gnu.org>.
69057
69058 2007-03-15  Bruno Haible  <bruno@clisp.org>
69059
69060         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
69061         declared prototype. Needed with cc on OSF/1 5.1.
69062
69063 2007-03-15  Bruno Haible  <bruno@clisp.org>
69064
69065         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
69066         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
69067         (struct gl_list_implementation): Add dispose_fn argument to the
69068         'create_empty', 'create' methods.
69069         (struct gl_list_impl_base): Add field 'dispose_fn'.
69070         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
69071         argument.
69072         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
69073         dispose_fn argument.
69074         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
69075         dispose_fn on the dropped values.
69076         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
69077         dispose_fn argument.
69078         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
69079         dropped values.
69080         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
69081         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69082         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
69083         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69084         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
69085         argument.
69086         (gl_tree_list_free): Call dispose_fn on the dropped values.
69087         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
69088         the dropped values.
69089         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69090         Add dispose_fn argument.
69091         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
69092         Call dispose_fn on the dropped values.
69093         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
69094         Add dispose_fn argument.
69095         (gl_sublist_create): Initialize the 'dispose_fn' field.
69096         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
69097         * tests/test-array_list.c (main): Update.
69098         * tests/test-carray_list.c (main): Update.
69099         * tests/test-avltree_list.c (main): Update.
69100         * tests/test-rbtree_list.c (main): Update.
69101         * tests/test-avltreehash_list.c (main): Update.
69102         * tests/test-rbtreehash_list.c (main): Update.
69103         * tests/test-linked_list.c (main): Update.
69104         * tests/test-linkedhash_list.c (main): Update.
69105         * tests/test-array_oset.c (main): Update.
69106
69107 2007-03-15  Bruno Haible  <bruno@clisp.org>
69108
69109         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
69110         (gl_oset_create_empty): Add dispose_fn argument.
69111         (struct gl_oset_implementation): Add dispose_fn argument to
69112         'create_empty' method.
69113         (struct gl_oset_impl_base): Add dispose_fn field.
69114         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
69115         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
69116         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
69117         values.
69118         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
69119         (gl_tree_oset_free): Call dispose_fn on the dropped values.
69120         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69121         dropped value.
69122         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69123         dropped value.
69124         * tests/test-array_oset.c (main): Update.
69125         * tests/test-avltree_oset.c (main): Update.
69126         * tests/test-rbtree_oset.c (main): Update.
69127         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
69128
69129 2007-03-13  Bruno Haible  <bruno@clisp.org>
69130
69131         * tests/test-stdbool.c (i): Update after last patch.
69132
69133 2007-03-12  Bruno Haible  <bruno@clisp.org>
69134
69135         * lib/quotearg.c: Include <wctype.h> early, before the definition of
69136         the iswprint macro. Needed on Solaris 2.5.1.
69137
69138 2007-03-12  Bruno Haible  <bruno@clisp.org>
69139
69140         * tests/test-printf-frexp.c (main): Declare x as volatile.
69141
69142 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69143
69144         * doc/gnulib.texi (Build robot for gnulib): New section.
69145
69146 2007-03-12  Jim Meyering  <jim@meyering.net>
69147
69148         * build-aux/bootstrap: New file.
69149         * build-aux/bootstrap.conf: New file, from coreutils.
69150
69151 2007-03-11  Bruno Haible  <bruno@clisp.org>
69152
69153         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
69154
69155 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69156
69157         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
69158         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
69159         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
69160
69161 2007-03-11  Bruno Haible  <bruno@clisp.org>
69162
69163         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
69164         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
69165
69166 2007-03-11  Bruno Haible  <bruno@clisp.org>
69167
69168         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
69169         formula. Needed for SunPRO C 5.0.
69170
69171 2007-03-11  Bruno Haible  <bruno@clisp.org>
69172
69173         * modules/long-options (Depends-on): Add getopt.
69174
69175 2007-03-11  Bruno Haible  <bruno@clisp.org>
69176
69177         * modules/modechange (Depends-on): Add stdbool.
69178
69179 2007-03-11  Bruno Haible  <bruno@clisp.org>
69180
69181         * modules/i-ring (Depends-on): Add stdbool.
69182
69183 2007-03-11  Bruno Haible  <bruno@clisp.org>
69184
69185         * modules/gc-des (Depends-on): Add stdbool.
69186
69187 2007-03-11  Bruno Haible  <bruno@clisp.org>
69188
69189         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
69190
69191 2007-03-11  Bruno Haible  <bruno@clisp.org>
69192
69193         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
69194
69195 2007-03-11  Bruno Haible  <bruno@clisp.org>
69196
69197         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
69198
69199 2007-03-11  Bruno Haible  <bruno@clisp.org>
69200
69201         * lib/vasnprintf.c (sprintf): Undefine.
69202
69203 2007-03-11  Bruno Haible  <bruno@clisp.org>
69204
69205         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
69206         initializers in SunPRO C and Compaq C compilers.
69207
69208 2007-03-11  Bruno Haible  <bruno@clisp.org>
69209
69210         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
69211         decrementing code ANSI C compliant.
69212
69213 2007-03-11  Bruno Haible  <bruno@clisp.org>
69214
69215         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
69216         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
69217
69218 2007-03-11  Bruno Haible  <bruno@clisp.org>
69219
69220         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
69221         <stdbool.h> substitute doesn't pass.
69222
69223 2007-03-11  Bruno Haible  <bruno@clisp.org>
69224
69225         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
69226
69227 2007-03-11  Bruno Haible  <bruno@clisp.org>
69228
69229         * gnulib-tool (func_create_megatestdir): Create also an autobuild
69230         script, for submission to autobuild.josefsson.org.
69231
69232 2007-03-10  Bruno Haible  <bruno@clisp.org>
69233
69234         * modules/canonicalize-lgpl-tests: New file.
69235         * tests/test-canonicalize-lgpl.sh: New file.
69236         * tests/test-canonicalize-lgpl.c: New file.
69237
69238         * modules/c-strcase-tests: New file.
69239         * tests/test-c-strcase.sh: New file.
69240         * tests/test-c-strcasecmp.c: New file.
69241         * tests/test-c-strncasecmp.c: New file.
69242
69243         * modules/atexit-tests: New file.
69244         * tests/test-atexit.sh: New file.
69245         * tests/test-atexit.c: New file.
69246
69247 2007-03-10  Bruno Haible  <bruno@clisp.org>
69248
69249         * tests/test-binary-io.sh: Use temporary filenames that are not so
69250         likely to clash with those of other tests (in a parallel make).
69251         * tests/test-binary-io.c: Likewise.
69252
69253 2007-03-10  Bruno Haible  <bruno@clisp.org>
69254
69255         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
69256         fallback; use #error instead.
69257         Suggested by Simon Josefsson.
69258
69259 2007-03-10  Bruno Haible  <bruno@clisp.org>
69260
69261         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
69262         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
69263         first and the last.
69264
69265 2007-03-10  Bruno Haible  <bruno@clisp.org>
69266
69267         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
69268
69269 2007-03-10  Bruno Haible  <bruno@clisp.org>
69270
69271         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
69272         "make distcheck".
69273         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
69274         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
69275         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
69276
69277 2007-03-10  Bruno Haible  <bruno@clisp.org>
69278
69279         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
69280         variable.
69281         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
69282         variable.
69283
69284 2007-03-09  Eric Blake  <ebb9@byu.net>
69285         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
69286
69287         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
69288         types are not being provided by gnulib.
69289         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
69290         types are supported.
69291
69292 2007-03-10  Bruno Haible  <bruno@clisp.org>
69293
69294         * lib/stdio_.h (__attribute__): New macro.
69295         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
69296         vsprintf): Specify __attribute__ __format__ for GCC.
69297         Suggested by Eric Blake.
69298
69299 2007-03-09  Bruno Haible  <bruno@clisp.org>
69300
69301         * modules/printf-posix-tests: New file.
69302         * tests/test-printf-posix.sh: New file.
69303         * tests/test-printf-posix.c: New file.
69304
69305         * modules/printf-posix: New file.
69306         * lib/printf.c: New file.
69307         * m4/printf-posix-rpl.m4: New file.
69308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
69309         REPLACE_PRINTF.
69310         * lib/stdio_.h (printf): New declaration.
69311         (format, __format__, ____printf____, ____scanf____, ____strftime____,
69312         ____strfmon____): New macros.
69313         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
69314         REPLACE_PRINTF.
69315
69316 2007-03-09  Bruno Haible  <bruno@clisp.org>
69317
69318         * tests/test-vasnprintf-posix2.sh: New file.
69319         * tests/test-vasnprintf-posix2.c: New file.
69320         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
69321         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69322         (Makefile.am): Activate test-vasnprintf-posix2.sh.
69323
69324         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
69325         a locale dependent decimal point, rather than always '.'.
69326
69327 2007-03-09  Eric Blake  <ebb9@byu.net>
69328
69329         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
69330         spite of platforms like Tandem/NSK that define it to -1.
69331
69332 2007-03-08  Bruno Haible  <bruno@clisp.org>
69333
69334         * modules/vprintf-posix-tests: New file.
69335         * tests/test-vprintf-posix.sh: New file.
69336         * tests/test-vprintf-posix.c: New file.
69337         * tests/test-printf-posix.h: New file.
69338
69339         * modules/vprintf-posix: New file.
69340         * lib/vprintf.c: New file.
69341         * m4/vprintf-posix.m4: New file.
69342         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
69343         REPLACE_VPRINTF.
69344         * lib/stdio_.h (vprintf): New declaration.
69345         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69346         REPLACE_VPRINTF.
69347
69348 2007-03-08  Bruno Haible  <bruno@clisp.org>
69349
69350         * modules/fprintf-posix-tests: New file.
69351         * tests/test-fprintf-posix.sh: New file.
69352         * tests/test-fprintf-posix.c: New file.
69353
69354         * modules/fprintf-posix: New file.
69355         * lib/fprintf.c: New file.
69356         * m4/fprintf-posix.m4: New file.
69357         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69358         REPLACE_FPRINTF.
69359         * lib/stdio_.h (fprintf): New declaration.
69360         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69361         REPLACE_FPRINTF.
69362
69363 2007-03-08  Bruno Haible  <bruno@clisp.org>
69364
69365         * modules/vfprintf-posix-tests: New file.
69366         * tests/test-vfprintf-posix.sh: New file.
69367         * tests/test-vfprintf-posix.c: New file.
69368         * tests/test-fprintf-posix.h: New file.
69369         * tests/test-fprintf-posix.out: New file.
69370
69371         * modules/vfprintf-posix: New file.
69372         * lib/vfprintf.c: New file.
69373         * m4/vfprintf-posix.m4: New file.
69374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69375         REPLACE_VFPRINTF.
69376         * lib/stdio_.h (vfprintf): New declaration.
69377         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69378         REPLACE_VFPRINTF.
69379
69380 2007-03-08  Bruno Haible  <bruno@clisp.org>
69381
69382         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69383
69384 2007-03-08  Bruno Haible  <bruno@clisp.org>
69385
69386         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69387         instead of 'expr' invocations.
69388         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69389         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69390         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69391         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69392         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69393         Suggested by Paul Eggert.
69394
69395 2007-03-08  Bruno Haible  <bruno@clisp.org>
69396
69397         * modules/fseterr-tests: New file.
69398         * tests/test-fseterr.c: New file.
69399
69400         * modules/fseterr: New file.
69401         * lib/fseterr.h: New file.
69402         * lib/fseterr.c: New file.
69403
69404 2007-03-08  Bruno Haible  <bruno@clisp.org>
69405
69406         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
69407         * lib/getopt_.h: Likewise.
69408         * lib/mbswidth.h: Likewise.
69409         * lib/setenv.h: Likewise.
69410         * lib/vasnprintf.h: Likewise.
69411         * lib/vasprintf.h: Likewise.
69412         * lib/verror.h: Likewise.
69413         * lib/xsetenv.h: Likewise.
69414         * lib/xvasprintf.h: Likewise.
69415
69416 2007-03-08  Jim Meyering  <jim@meyering.net>
69417
69418         * users.txt: Add parted.
69419
69420         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
69421
69422 2007-03-07  Bruno Haible  <bruno@clisp.org>
69423
69424         * m4/printf.m4: Make the shell script snippets copy&pastable.
69425
69426 2007-03-02  Bruno Haible  <bruno@clisp.org>
69427
69428         * lib/netinet_in_.h: New file.
69429         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
69430         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
69431         * modules/netinet_in (Files): Add lib/netinet_in_.h.
69432         (Depends-on): Add absolute-header.
69433         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
69434         into netinet/in.h.
69435
69436 2007-03-03  Bruno Haible  <bruno@clisp.org>
69437
69438         * lib/sys_select_.h: New file.
69439         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
69440         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
69441         * modules/sys_select (Files): Add lib/sys_select_.h.
69442         (Depends-on): Add absolute-header.
69443         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
69444         into sys/select.h.
69445
69446 2007-03-02  Bruno Haible  <bruno@clisp.org>
69447
69448         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
69449         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
69450         values.
69451         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69452         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
69453         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
69454         * modules/sys_socket (Depends-on): Add absolute-header.
69455         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
69456         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
69457         (Include): Remove requirement of inclusion of <sys/types.h>.
69458
69459 2007-03-02  Bruno Haible  <bruno@clisp.org>
69460
69461         * lib/byteswap_.h (bswap_32): Fix formula.
69462
69463 2007-03-06  Bruno Haible  <bruno@clisp.org>
69464
69465         * modules/sprintf-posix-tests: New file.
69466         * tests/test-sprintf-posix.c: New file.
69467
69468         * modules/sprintf-posix: New file.
69469         * lib/sprintf.c: New file.
69470         * m4/sprintf-posix.m4: New file.
69471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
69472         REPLACE_SPRINTF.
69473         * lib/stdio_.h (sprintf): New declaration.
69474         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
69475         REPLACE_SPRINTF.
69476
69477 2007-03-06  Bruno Haible  <bruno@clisp.org>
69478
69479         * modules/vsprintf-posix-tests: New file.
69480         * tests/test-vsprintf-posix.c: New file.
69481         * tests/test-sprintf-posix.h: New file.
69482
69483         * modules/vsprintf-posix: New file.
69484         * lib/vsprintf.c: New file.
69485         * m4/vsprintf-posix.m4: New file.
69486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
69487         REPLACE_VSPRINTF.
69488         * lib/stdio_.h (vsprintf): New declaration.
69489         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
69490         REPLACE_VSPRINTF.
69491
69492 2007-03-06  Bruno Haible  <bruno@clisp.org>
69493
69494         * modules/vsnprintf (Depend-on): Remove minmax.
69495
69496 2007-03-06  Bruno Haible  <bruno@clisp.org>
69497
69498         * modules/snprintf-posix-tests: New file.
69499         * tests/test-snprintf-posix.c: New file.
69500
69501         * modules/snprintf-posix: New file.
69502         * m4/snprintf-posix.m4: New file.
69503         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
69504         gl_FUNC_SNPRINTF.
69505         (gl_FUNC_SNPRINTF): Invoke it.
69506         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
69507         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
69508         is set.
69509         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
69510
69511 2007-03-06  Bruno Haible  <bruno@clisp.org>
69512
69513         * modules/vsnprintf-posix-tests: New file.
69514         * tests/test-vsnprintf-posix.c: New file.
69515         * tests/test-snprintf-posix.h: New file.
69516
69517         * modules/vsnprintf-posix: New file.
69518         * m4/vsnprintf-posix.m4: New file.
69519         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
69520         gl_FUNC_VSNPRINTF.
69521         (gl_FUNC_VSNPRINTF): Invoke it.
69522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
69523         * lib/stdio_.h (vsnprintf): Define as a replacement if
69524         REPLACE_VSNPRINTF is set.
69525         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
69526
69527 2007-03-06  Bruno Haible  <bruno@clisp.org>
69528
69529         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
69530         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
69531
69532 2007-03-06  Bruno Haible  <bruno@clisp.org>
69533
69534         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
69535         (asinl): Declare also if HAVE_DECL_ASINL is set.
69536         (atanl): Declare also if HAVE_DECL_ATANL is set.
69537         (ceill): Declare also if HAVE_DECL_CEILL is set.
69538         (cosl): Declare also if HAVE_DECL_COSL is set.
69539         (expl): Declare also if HAVE_DECL_EXPL is set.
69540         (floorl): Declare also if HAVE_DECL_FLOORL is set.
69541         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
69542         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
69543         (logl): Declare also if HAVE_DECL_LOGL is set.
69544         (sinl): Declare also if HAVE_DECL_SINL is set.
69545         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
69546         (tanl): Declare also if HAVE_DECL_TANL is set.
69547         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
69548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
69549         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
69550         declaration of frexpl, ldexpl.
69551         * modules/printf-frexpl (Depends-on): Add math.
69552         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
69553
69554 2007-03-05  Bruno Haible  <bruno@clisp.org>
69555
69556         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
69557         frexpl and ldexpl are declared.
69558         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
69559
69560 2007-03-05  Bruno Haible  <bruno@clisp.org>
69561
69562         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
69563         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69564
69565 2007-03-05  Bruno Haible  <bruno@clisp.org>
69566
69567         * lib/stdio_.h: Include <stddef.h>.
69568
69569 2007-03-05  Bruno Haible  <bruno@clisp.org>
69570
69571         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
69572
69573 2007-03-05  Bruno Haible  <bruno@clisp.org>
69574
69575         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
69576         NetBSD 4, from Ralf Wildenhues.
69577
69578 2007-03-04  Bruno Haible  <bruno@clisp.org>
69579
69580         * lib/vasprintf.h: Update #if logic for the case when the functions
69581         exist but are overridden.
69582
69583 2007-03-04  Bruno Haible  <bruno@clisp.org>
69584
69585         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
69586         implementations: glibc-2.4 and MacOS X 10.3.
69587         * tests/test-vasnprintf-posix.c (test_function): Test also the case
69588         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
69589         * tests/test-vasprintf-posix.c (test_function): Likewise.
69590
69591 2007-03-04  Bruno Haible  <bruno@clisp.org>
69592
69593         * modules/vasprintf-posix-tests: New file.
69594         * tests/test-vasprintf-posix.c: New file.
69595
69596         * modules/vasprintf-posix: New file.
69597         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
69598         defined.
69599         * m4/vasprintf-posix.m4: New file.
69600         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
69601         gl_FUNC_VASPRINTF.
69602         (gl_FUNC_VASPRINTF): Invoke it.
69603         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
69604         here.
69605         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
69606
69607 2007-03-04  Bruno Haible  <bruno@clisp.org>
69608
69609         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
69610         REPLACE_GETTIMEOFDAY.
69611         * modules/sys_time (Makefile.am): Likewise.
69612         * m4/sys_time_h.m4: Likewise.
69613         * m4/gettimeofday.m4: Likewise.
69614
69615 2007-03-04  Bruno Haible  <bruno@clisp.org>
69616
69617         * modules/vasnprintf-posix-tests: New file.
69618         * tests/test-vasnprintf-posix.c: New file.
69619
69620         * modules/vasnprintf-posix: New file.
69621         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
69622         printf-frexpl.h.
69623         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
69624         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
69625         REPLACE_VASNPRINTF is defined.
69626         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
69627         gl_FUNC_VASNPRINTF.
69628         (gl_FUNC_VASNPRINTF): Invoke it.
69629         * m4/vasnprintf-posix.m4: New file.
69630         * m4/printf.m4: New file.
69631
69632 2007-03-04  Bruno Haible  <bruno@clisp.org>
69633
69634         Compile progreloc.c only if --enable-relocatable is specified.
69635         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
69636         if --enable-relocatable was specified.
69637         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
69638         lib_SOURCES.
69639
69640 2007-03-04  Jim Meyering  <jim@meyering.net>
69641
69642         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
69643         Use it consistently, rather than enumerating errno constants.
69644
69645 2007-03-04  Bruno Haible  <bruno@clisp.org>
69646
69647         * modules/xvasprintf-tests: New file.
69648         * tests/test-xvasprintf.c: New file.
69649
69650         * modules/vasprintf-tests: New file.
69651         * tests/test-vasprintf.c: New file.
69652
69653         * modules/vasnprintf-tests: New file.
69654         * tests/test-vasnprintf.c: New file.
69655
69656         * modules/vsnprintf-tests: New file.
69657         * tests/test-vsnprintf.c: New file.
69658
69659         * modules/snprintf-tests: New file.
69660         * tests/test-snprintf.c: New file.
69661
69662 2007-03-04  Bruno Haible  <bruno@clisp.org>
69663
69664         Compile relocatable.c only if --enable-relocatable is specified.
69665         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
69666         gl_RELOCATABLE_LIBRARY.
69667         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
69668         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
69669         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
69670         gl_RELOCATABLE_LIBRARY.
69671         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
69672         (Makefile.am): Remove lib_SOURCES.
69673         * modules/relocatable-lib-lgpl (configure.ac): Invoke
69674         gl_RELOCATABLE_LIBRARY.
69675         (Makefile.am): Remove lib_SOURCES.
69676         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
69677         always.
69678         * modules/relocatable-prog-wrapper (configure.ac): Invoke
69679         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
69680
69681 2007-03-04  Bruno Haible  <bruno@clisp.org>
69682
69683         * modules/argmatch-tests: New file.
69684         * tests/test-argmatch.c: New file.
69685
69686         * tests/test-allocsa.c (main): Halve the number of loop runs.
69687
69688         * modules/alloca-opt-tests: New file.
69689         * tests/test-alloca-opt.c: New file.
69690
69691 2007-03-04  Jim Meyering  <jim@meyering.net>
69692
69693         Work around difference between Linux ACLs and Solaris 10 ZFS.
69694         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
69695         for EINVAL.
69696
69697 2007-03-03  Bruno Haible  <bruno@clisp.org>
69698
69699         * modules/relocatable-prog (Depends-on): Add back progreloc's
69700         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
69701
69702 2007-03-03  Bruno Haible  <bruno@clisp.org>
69703
69704         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
69705         * modules/relocatable-lib: New file.
69706
69707 2007-03-03  Bruno Haible  <bruno@clisp.org>
69708
69709         * modules/relocatable-prog: Renamed from modules/relocatable.
69710         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
69711
69712 2007-03-03  Bruno Haible  <bruno@clisp.org>
69713
69714         * modules/relocatable-script (Files): Add doc/relocatable.texi,
69715         m4/relocatable-lib.m4.
69716         (Depends-on): Remove 'relocatable'.
69717         (configure.ac): Add gl_RELOCATABLE_NOP.
69718
69719 2007-03-03  Bruno Haible  <bruno@clisp.org>
69720
69721         * modules/relocatable-prog-wrapper: New file.
69722         * modules/relocatable (Depends-on): Add it. Remove all other
69723         dependencies except progname.
69724         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
69725
69726         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
69727         (gl_FUNC_STRERROR): Nop.
69728         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
69729
69730         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
69731         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
69732
69733         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
69734         (gl_FUNC_READLINK): Update.
69735
69736         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
69737
69738 2007-03-03  Bruno Haible  <bruno@clisp.org>
69739
69740         * lib/xreadlink.c: Include <unistd.h> unconditionally.
69741         * modules/xreadlink (Depends-on): Add unistd.
69742         * modules/xreadlink-with-size (Depends-on): Likewise.
69743
69744 2007-03-03  Bruno Haible  <bruno@clisp.org>
69745
69746         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
69747         extracted from gt_FUNC_SETENV.
69748         (gt_FUNC_SETENV): Remove macro.
69749         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
69750         remove gt_FUNC_SETENV.
69751
69752 2007-03-03  Bruno Haible  <bruno@clisp.org>
69753
69754         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
69755         ENABLE_RELOCATABLE here.
69756         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
69757
69758 2007-03-03  Bruno Haible  <bruno@clisp.org>
69759
69760         * modules/rbtreehash-list-tests (Depends-on): Add progname.
69761         * tests/test-rbtreehash_list.c: Include progname.h.
69762         (main): Call set_program_name.
69763
69764         * modules/rbtree-oset-tests (Depends-on): Add progname.
69765         * tests/test-rbtree_oset.c: Include progname.h.
69766         (main): Call set_program_name.
69767
69768         * modules/rbtree-list-tests (Depends-on): Add progname.
69769         * tests/test-rbtree_list.c: Include progname.h.
69770         (main): Call set_program_name.
69771
69772         * modules/linked-list-tests (Depends-on): Add progname.
69773         * tests/test-linked_list.c: Include progname.h.
69774         (main): Call set_program_name.
69775
69776 2007-03-03  Bruno Haible  <bruno@clisp.org>
69777
69778         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69779         All uses of __restrict changed to _Restrict_.
69780         * lib/glob_.h (__restrict): Remove macro.
69781
69782 2007-03-02  Bruno Haible  <bruno@clisp.org>
69783
69784         * modules/gettext (configure.ac): Require gettext infrastructure
69785         from version 0.16.1.
69786
69787 2007-03-02  Bruno Haible  <bruno@clisp.org>
69788
69789         * modules/linkedhash-list-tests (Depends-on): Add progname.
69790         * tests/test-linkedhash_list.c: Include progname.h.
69791         (main): Call set_program_name.
69792
69793         * modules/carray-list-tests (Depends-on): Add progname.
69794         * tests/test-carray_list.c: Include progname.h.
69795         (main): Call set_program_name.
69796
69797         * modules/avltreehash-list-tests (Depends-on): Add progname.
69798         * tests/test-avltreehash_list.c: Include progname.h.
69799         (main): Call set_program_name.
69800
69801         * modules/avltree-oset-tests (Depends-on): Add progname.
69802         * tests/test-avltree_oset.c: Include progname.h.
69803         (main): Call set_program_name.
69804
69805         * modules/avltree-list-tests (Depends-on): Add progname.
69806         * tests/test-avltree_list.c: Include progname.h.
69807         (main): Call set_program_name.
69808
69809         * modules/array-oset-tests (Depends-on): Add progname.
69810         * tests/test-array_oset.c: Include progname.h.
69811         (main): Call set_program_name.
69812
69813         * modules/array-list-tests (Depends-on): Add progname.
69814         * tests/test-array_list.c: Include progname.h.
69815         (main): Call set_program_name.
69816
69817         * modules/argp-tests (Depends-on): Add progname.
69818         * tests/test-argp.c: Include argp.h first. Include progname.h.
69819         (main): Call set_program_name.
69820
69821 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69822
69823         * doc/gnulib-tool.texi (Initial import): Reword description of
69824         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69825         limited effect even if defined after the first system include.
69826
69827 2007-03-01  Bruno Haible  <bruno@clisp.org>
69828
69829         * build-aux/config.libpath: Update to libtool-1.5.22.
69830         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69831
69832 2007-03-01  Bruno Haible  <bruno@clisp.org>
69833
69834         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69835         foo_CFLAGS.
69836         Reported by Ralf Wildenhues.
69837
69838 2007-03-01  Bruno Haible  <bruno@clisp.org>
69839
69840         * build-aux/install-reloc: Remove object files left over by some
69841         compilers.
69842         Reported by Ralf Wildenhues.
69843
69844 2007-03-01  Bruno Haible  <bruno@clisp.org>
69845
69846         * build-aux/install-reloc: Break long lines.
69847
69848 2007-03-01  Bruno Haible  <bruno@clisp.org>
69849
69850         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69851         Reported by Ralf Wildenhues.
69852
69853 2007-03-01  Bruno Haible  <bruno@clisp.org>
69854
69855         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69856         include ordering constraints.
69857
69858 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69859
69860         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69861         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69862         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69863         as another example.
69864         * lib/time_.h: Fix misspelling.
69865         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69866         Require gl_HEADER_TIME_H_DEFAULTS.
69867         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69868         * m4/time_r.m4 (gl_TIME_R): Likewise.
69869         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69870
69871 2007-03-01  Bruno Haible  <bruno@clisp.org>
69872
69873         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69874         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69875
69876 2007-03-01  Jim Meyering  <jim@meyering.net>
69877
69878         * modules/xreadlink (Maintainer): Add my name.
69879         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69880
69881 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69882             Bruno Haible  <bruno@clisp.org>
69883
69884         * build-aux/install-reloc: Compile also c-ctype.c.
69885         * build-aux/relocatable.sh.in: New file.
69886         * doc/relocatable.texi: New file.
69887         * doc/relocatable-maint.texi: New file.
69888         * doc/gnulib.texi: Include relocatable-maint.texi.
69889         * lib/progreloc.c: Include unistd.h unconditionally.
69890         * lib/relocwrapper.c: Include unistd.h unconditionally.
69891         Include c-ctype.h.
69892         (add_dotbin): Use c_tolower.
69893         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69894         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69895         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69896         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69897         to m4/relocatable-lib.m4.
69898         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69899         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69900         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69901         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69902         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69903         * modules/relocatable: New file.
69904         * modules/relocatable-lib: New file.
69905         * modules/relocatable-script: New file.
69906
69907 2007-02-28  Bruno Haible  <bruno@clisp.org>
69908
69909         Import --enable-relocatable infrastructure.
69910         * build-aux/config.libpath: New file, from GNU gettext.
69911         * build-aux/install-reloc: New file, from GNU gettext.
69912         * build-aux/reloc-ldflags: New file, from GNU gettext.
69913         * lib/relocatable.h: New file, from GNU gettext.
69914         * lib/relocatable.c: New file, from GNU gettext.
69915         * lib/relocwrapper.c: New file, from GNU gettext.
69916         * m4/relocatable.m4: New file, from GNU gettext.
69917
69918 2007-02-28  Bruno Haible  <bruno@clisp.org>
69919
69920         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69921
69922         * modules/xreadlink: New file, from GNU gettext with modifications.
69923         * lib/xreadlink.c: New file, from GNU gettext.
69924         * lib/xreadlink.h: Add comments.
69925         (xreadlink): New declaration.
69926
69927         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69928         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69929         lib/xreadlink-with-size.c.
69930         (configure.ac): Remove gl_XREADLINK invocation.
69931         (Makefile.am): Augment lib_SOURCES.
69932         * m4/xreadlink.m4: Remove file.
69933         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69934         (xreadlink_with_size): Renamed from xreadink.
69935         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69936         * modules/canonicalize (Depends-on): Replace xreadlink with
69937         xreadlink-with-size.
69938         * lib/canonicalize.c (canonicalize_filename_mode): Update.
69939
69940 2007-02-25  Jim Meyering  <jim@meyering.net>
69941
69942         * build-aux/announce-gen: When complaining about excess arguments,
69943         list them.
69944
69945 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69946
69947         * README: Document signed integer overflow situation more
69948         accurately.
69949
69950 2007-02-25  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
69953         'a' or 'A' conversion.
69954
69955 2007-02-25  Bruno Haible  <bruno@clisp.org>
69956
69957         * modules/filename: Renamed from modules/pathname.
69958         (Files): Replace lib/pathname.h with lib/filename.h. Replace
69959         lib/concatpath.c with lib/concat-filename.c.
69960         (Makefile.am): Update.
69961         (Include): Replace pathname.h with filename.h.
69962         * lib/filename.h: Renamed from lib/pathname.h.
69963         (concatenated_filename): Renamed from concatenated_pathname.
69964         * lib/concat-filename.c: Renamed from lib/concatpath.c.
69965         (concatenated_filename): Renamed from concatenated_pathname.
69966         * lib/findprog.c: Include filename.h instead of pathname.h.
69967         (find_in_path): Update.
69968         * lib/javacomp.c: Include filename.h instead of pathname.h.
69969         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
69970         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
69971         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
69972         is_oldgcj_14_13_usable, is_javac_usable): Update.
69973         * lib/javaexec.c: Include filename.h instead of pathname.h.
69974         (execute_java_class): Update.
69975         * modules/findprog: Update.
69976         * modules/javacomp: Update.
69977         * modules/javaexec: Update.
69978         * MODULES.html.sh (File system functions): Add 'filename', remove
69979         'pathname'.
69980
69981 2007-02-25  Bruno Haible  <bruno@clisp.org>
69982
69983         * modules/printf-frexpl-tests: New file.
69984         * tests/test-printf-frexpl.c: New file.
69985
69986         * modules/printf-frexpl: New file.
69987         * lib/printf-frexpl.h: New file.
69988         * lib/printf-frexpl.c: New file.
69989         * m4/printf-frexpl.m4: New file.
69990
69991 2007-02-25  Bruno Haible  <bruno@clisp.org>
69992
69993         * modules/printf-frexp-tests: New file.
69994         * tests/test-printf-frexp.c: New file.
69995
69996         * modules/printf-frexp: New file.
69997         * lib/printf-frexp.h: New file.
69998         * lib/printf-frexp.c: New file.
69999         * m4/printf-frexp.m4: New file.
70000
70001 2007-02-25  Bruno Haible  <bruno@clisp.org>
70002
70003         Assume automake >= 1.10 for the tests.
70004         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
70005         * modules/arctwo-tests: Likewise.
70006         * modules/argp-tests: Likewise.
70007         * modules/avltree-list-tests: Likewise.
70008         * modules/avltree-oset-tests: Likewise.
70009         * modules/avltreehash-list-tests: Likewise.
70010         * modules/carray-list-tests: Likewise.
70011         * modules/crc-tests: Likewise.
70012         * modules/des-tests: Likewise.
70013         * modules/gc-arcfour-tests: Likewise.
70014         * modules/gc-arctwo-tests: Likewise.
70015         * modules/gc-des-tests: Likewise.
70016         * modules/gc-hmac-md5-tests: Likewise.
70017         * modules/gc-hmac-sha1-tests: Likewise.
70018         * modules/gc-md2-tests: Likewise.
70019         * modules/gc-md4-tests: Likewise.
70020         * modules/gc-md5-tests: Likewise.
70021         * modules/gc-pbkdf2-sha1-tests: Likewise.
70022         * modules/gc-rijndael-tests: Likewise.
70023         * modules/gc-sha1-tests: Likewise.
70024         * modules/gc-tests: Likewise.
70025         * modules/getaddrinfo-tests: Likewise.
70026         * modules/hmac-md5-tests: Likewise.
70027         * modules/hmac-sha1-tests: Likewise.
70028         * modules/linked-list-tests: Likewise.
70029         * modules/linkedhash-list-tests: Likewise.
70030         * modules/lock-tests: Likewise.
70031         * modules/md2-tests: Likewise.
70032         * modules/md4-tests: Likewise.
70033         * modules/md5-tests: Likewise.
70034         * modules/rbtree-list-tests: Likewise.
70035         * modules/rbtree-oset-tests: Likewise.
70036         * modules/rbtreehash-list-tests: Likewise.
70037         * modules/read-file-tests: Likewise.
70038         * modules/rijndael-tests: Likewise.
70039         * modules/stdint-tests: Likewise.
70040         * modules/tls-tests: Likewise.
70041
70042 2007-02-24  Bruno Haible  <bruno@clisp.org>
70043
70044         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
70045         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
70046         function; instead check whether isnan with a double argument links.
70047         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
70048         function; instead check whether isnan with a 'long double' argument
70049         links.
70050         Reported by Eric Blake <ebb9@byu.net>.
70051
70052 2007-02-24  Bruno Haible  <bruno@clisp.org>
70053
70054         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
70055         defined.
70056         * lib/isnanl.c: Remove all code. Just include isnan.c.
70057         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
70058
70059 2007-02-25  Jim Meyering  <jim@meyering.net>
70060
70061         Avoid conflicting types for 'unsetenv' on FreeBSD.
70062         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
70063         conflicting with FreeBSD's (5.0 and 6.1) function declaration
70064         in stdlib.h.
70065
70066 2007-02-24  Bruno Haible  <bruno@clisp.org>
70067
70068         * modules/isnanl-nolibm-tests: New file.
70069         * tests/test-isnanl.c: New file.
70070
70071         * modules/isnanl-nolibm: New file.
70072         * lib/isnanl.h: New file.
70073         * lib/isnanl.c: New file.
70074         * m4/isnanl.m4: New file.
70075
70076 2007-02-24  Bruno Haible  <bruno@clisp.org>
70077
70078         * modules/isnan-nolibm-tests: New file.
70079         * tests/test-isnan.c: New file.
70080
70081         * modules/isnan-nolibm: New file.
70082         * lib/isnan.h: New file.
70083         * lib/isnan.c: New file.
70084         * m4/isnan.m4: New file.
70085
70086 2007-02-24  Bruno Haible  <bruno@clisp.org>
70087
70088         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
70089         assume that an exponent fits in 20 bits.
70090
70091 2007-02-24  Jim Meyering  <jim@meyering.net>
70092
70093         * m4/regex.m4: Update the description of the configure-time option,
70094         --without-included-regex, to state accurately what the defaults are,
70095         and perhaps to give people an idea why using this option is risky.
70096
70097 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70098
70099         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
70100         loops on small arguments.  This attempts to avoid the problem
70101         Bruno Haible reported for AIX 4.3.2 in
70102         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
70103
70104 2007-02-23  Bruno Haible  <bruno@clisp.org>
70105
70106         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
70107         Needed for help2man.
70108
70109 2007-02-23  Karl Berry  <karl@gnu.org>
70110
70111         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
70112         exists, foo.h should be cvs-ignored, not committed.
70113
70114 2007-02-23  Eric Blake  <ebb9@byu.net>
70115
70116         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
70117         * lib/stat-time.h (includes): Likewise.
70118         * lib/utimecmp.c (includes): Likewise.
70119         * lib/utimens.h (includes): Likewise.
70120         * lib/getdate.y (includes): Also include "timespec.h" for use
70121         internal to the module.
70122         * modules/utimens (Depends-on): Revert yesterday's patch.
70123         * modules/nanosleep (Depends-on): Add missing dependency.
70124
70125 2007-02-22  Bruno Haible  <bruno@clisp.org>
70126
70127         * lib/glob.c: Don't include getlogin_r.h.
70128
70129 2007-02-22  Jim Meyering  <jim@meyering.net>
70130
70131         * modules/utimens (Depends-on): Add timespec, required for
70132         utimens.h's inclusion of timespec.h.
70133
70134 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
70135
70136         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
70137         long unreadable paths in GNU/Linux.  Problem reported by Andreas
70138         Schwab in
70139         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
70140         I'll try to think of a better way to fix the Solaris problem.
70141
70142         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
70143         like glibc; on Solaris 10, it fails with errno == EINVAL.
70144         POSIX says the behavior is unspecified if the first argument is NULL,
70145         so play it safe and never pass NULL to the system getcwd.
70146
70147 2007-02-21  Jim Meyering  <jim@meyering.net>
70148
70149         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
70150         of gettimeofday.  It would conflict with the one now always
70151         provided via sys_time_.h.  Reported by Matthew Woehlke, as
70152         an IRIX 6.5 build failure.
70153
70154 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70155
70156         Minor fixups to port to Solaris 10 with Sun C 5.8.
70157         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
70158         * modules/getcwd (Depends-on): Add dirfd.
70159         * lib/putenv.c (putenv): #undef it.
70160         (rpl_putenv): New decl.
70161         (malloc, free): Include <stdlib.h> rather than prototyping separately.
70162
70163 2007-02-20  Bruno Haible  <bruno@clisp.org>
70164
70165         * modules/stdio-tests: New file.
70166         * tests/test-stdio.c: New file.
70167
70168         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
70169         (Depends-on): Add stdio.
70170         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70171         (Include): Use <stdio.h> instead of vsnprintf.h.
70172         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70173         HAVE_DECL_VSNPRINTF.
70174         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
70175
70176         * modules/snprintf (Files): Remove lib/snprintf.h.
70177         (Depends-on): Add stdio.
70178         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70179         (Include): Use <stdio.h> instead of snprintf.h.
70180         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70181         HAVE_DECL_SNPRINTF.
70182         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
70183         * lib/getaddrinfo.c: Likewise.
70184
70185         * modules/stdio: New file.
70186         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
70187         * lib/snprintf.h: Remove file.
70188         * lib/vsnprintf.h: Remove file.
70189         * lib/.cppi-disable: Remove snprintf.h.
70190         * m4/stdio_h.m4: New file.
70191         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
70192
70193 2007-02-20  Jim Meyering  <jim@meyering.net>
70194
70195         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
70196         used by e.g., mingw.  From Bruno Haible.
70197
70198 2007-02-19  Bruno Haible  <bruno@clisp.org>
70199
70200         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
70201         warnings.
70202         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70203
70204 2007-02-19  Bruno Haible  <bruno@clisp.org>
70205
70206         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
70207         from mingw users.
70208
70209 2007-02-19  Bruno Haible  <bruno@clisp.org>
70210
70211         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
70212         warnings.
70213         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
70214
70215 2007-02-19  Jim Meyering  <jim@meyering.net>
70216
70217         Don't use FD after a successful "fdopendir (fd)".
70218         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
70219         Reset it by calling dirfd on the just-obtained DIR*.
70220
70221         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
70222         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
70223
70224 2007-02-18  Bruno Haible  <bruno@clisp.org>
70225
70226         * lib/readlink.c: Include <unistd.h>.
70227         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
70228         HAVE_READLINK.
70229         * modules/readlink (Depends-on): Add unistd.
70230         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70231         (Include): Add <unistd.h>.
70232
70233         * lib/getlogin_r.h: Remove file.
70234         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
70235         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
70236         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
70237         HAVE_DECL_GETLOGIN_R.
70238         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
70239         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70240         (Include): Use <unistd.h> instead of getlogin_r.h.
70241
70242         * lib/getcwd.h: Remove file.
70243         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
70244         * lib/xgetcwd.c: Likewise.
70245         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
70246         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
70247         * modules/getcwd (Files): Remove lib/getcwd.h.
70248         (Depends-on): Add unistd.
70249         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70250         (Include): Use <unistd.h> instad of getcwd.h.
70251
70252         * lib/ftruncate.c: Include <unistd.h> first.
70253         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
70254         Set HAVE_FTRUNCATE.
70255         * modules/ftruncate (Depends-on): Add unistd.
70256         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70257
70258         * lib/fchdir.c: Include <unistd.h> first.
70259         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
70260         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
70261         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
70262         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70263         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
70264
70265         * lib/dup2.c: Include <unistd.h> first.
70266         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
70267         HAVE_DUP2.
70268         * modules/dup2 (Depends-on): Add unistd.
70269         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70270
70271         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
70272         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
70273         REPLACE_CHOWN. Don't define chown as a macro here.
70274         * modules/chown (Depends-on): Add unistd.
70275         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70276
70277         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
70278         Add definition for GL_LINK_WARNING.
70279         (chown, dup2): New declarations.
70280         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
70281         link warning.
70282         (ftruncate): New declaration.
70283         (getcwd): New declaration, taken from old getcwd.h.
70284         (getlogin_r): New declaration, taken from old getlogin_r.h.
70285         (readlink): New declaration.
70286         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
70287         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
70288         (gl_PREREQ_UNISTD): Remove macro.
70289         (gl_UNISTD_MODULE_INDICATOR): New macro.
70290         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
70291         many new variables. Don't set UNISTD_H.
70292         * modules/unistd (Description): Change.
70293         (Depends-on): Add link-warning.
70294         (configure.ac): Update.
70295         (Makefile.am): Create unistd.h always. Substitute many new variables
70296         into it.
70297
70298 2007-02-18  Bruno Haible  <bruno@clisp.org>
70299
70300         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
70301         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
70302         HAVE_GETSUBOPT.
70303         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
70304         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
70305         * lib/getsubopt.h: Remove file.
70306         * modules/getsubopt (Files): Remove lib/getsubopt.h.
70307         (Depends-on): Add stdlib.
70308         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70309         (Includes): Use <stdlib.h> instead of getsubopt.h.
70310         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
70311         Set HAVE_GETSUBOPT.
70312         * lib/getsubopt.c: Don't include getsubopt.h.
70313
70314 2007-02-18  Bruno Haible  <bruno@clisp.org>
70315
70316         * modules/fchdir (Depends-on): Add dup2.
70317
70318 2007-02-18  Bruno Haible  <bruno@clisp.org>
70319
70320         * lib/stdlib_.h: Handle glibc's special invocation convention
70321         specially.
70322
70323 2007-02-18  Bruno Haible  <bruno@clisp.org>
70324
70325         * modules/stdlib-tests: New file.
70326         * tests/test-stdlib.c: New file.
70327
70328         * modules/mkstemp (Files): Remove lib/mkstemp.h.
70329         (Depends-on): Add stdlib.
70330         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70331         (Includes): Use <stdlib.h> instead of mkstemp.h.
70332         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70333         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
70334         * lib/mkstemp.c: Don't include mkstemp.h.
70335         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
70336         * lib/stdlib--.h: Don't include mkstemp.h.
70337
70338         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
70339         (Depends-on): Add stdlib.
70340         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70341         (Includes): Use <stdlib.h> instead of mkdtemp.h.
70342         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70343         HAVE_MKDTEMP.
70344         * lib/mkdtemp.c: Don't include mkdtemp.h.
70345         * lib/clean-temp.c: Don't include mkdtemp.h.
70346
70347         * modules/exit (Files): Remove lib/exit.h.
70348         (Depends-on): Add stdlib.
70349         (Makefile.am): Remove lib_SOURCES.
70350         (Include): Use <stdlib.h> instead of exit.h.
70351         * lib/argmatch.c: Don't include exit.h.
70352         * lib/execute.c: Likewise.
70353         * lib/pagealign_alloc.c: Likewise.
70354         * lib/pipe.c: Likewise.
70355         * lib/wait-process.c: Likewise.
70356         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70357         * lib/exitfail.c: Likewise.
70358         * lib/savewd.c: Likewise.
70359         * lib/xsetenv.c: Likewise.
70360
70361         * modules/stdlib: New file.
70362         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70363         and extra comments about mkstemp().
70364         * lib/exit.h: Remove file.
70365         * lib/mkdtemp.h: Remove file.
70366         * lib/mkstemp.h: Remove file.
70367         * m4/stdlib_h.m4: New file.
70368         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70369
70370 2007-02-18  Bruno Haible  <bruno@clisp.org>
70371
70372         * modules/math-tests: New file.
70373         * tests/test-math.c: New file.
70374
70375         * modules/math: New file.
70376         * modules/mathl (Files): Remove lib/mathl.h.
70377         (Depends-on): Add math.
70378         (Makefile.am): Don't mention mathl.h.
70379         (Include): Use <math.h> instead of mathl.h.
70380         * lib/math_.h: New file.
70381         * lib/mathl.h: Remove file.
70382         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70383         mathl.h.
70384         * lib/asinl.c: Likewise.
70385         * lib/atanl.c: Likewise.
70386         * lib/ceill.c: Likewise.
70387         * lib/cosl.c: Likewise.
70388         * lib/expl.c: Likewise.
70389         * lib/floorl.c: Likewise.
70390         * lib/frexpl.c: Likewise.
70391         * lib/ldexpl.c: Likewise.
70392         * lib/logl.c: Likewise.
70393         * lib/sincosl.c: Likewise.
70394         * lib/sinl.c: Likewise.
70395         * lib/sqrtl.c: Likewise.
70396         * lib/tanl.c: Likewise.
70397         * lib/trigl.c: Likewise.
70398         * m4/math_h.m4: New file.
70399         * MODULES.html.sh (Mathematics): Add math.
70400
70401 2007-02-17  Bruno Haible  <bruno@clisp.org>
70402
70403         * modules/wctype-tests: New file.
70404         * tests/test-wctype.c: New file.
70405
70406         * modules/wchar-tests: New file.
70407         * tests/test-wchar.c: New file.
70408
70409         * modules/unistd-tests: New file.
70410         * tests/test-unistd.c: New file.
70411
70412         * modules/time-tests: New file.
70413         * tests/test-time.c: New file.
70414
70415         * modules/sysexits-tests: New file.
70416         * tests/test-sysexits.c: New file.
70417
70418         * modules/sys_time-tests: New file.
70419         * tests/test-sys_time.c: New file.
70420
70421         * modules/sys_stat-tests: New file.
70422         * tests/test-sys_stat.c: New file.
70423
70424         * modules/sys_socket-tests: New file.
70425         * tests/test-sys_socket.c: New file.
70426
70427         * modules/sys_select-tests: New file.
70428         * tests/test-sys_select.c: New file.
70429
70430         * modules/string-tests: New file.
70431         * tests/test-string.c: New file.
70432
70433         * modules/stdbool-tests: New file.
70434         * tests/test-stdbool.c: New file.
70435
70436         * modules/netinet_in-tests: New file.
70437         * tests/test-netinet_in.c: New file.
70438
70439         * modules/inttypes-tests: New file.
70440         * tests/test-inttypes.c: New file.
70441
70442         * modules/fcntl-tests: New file.
70443         * tests/test-fcntl.c: New file.
70444
70445         * modules/byteswap-tests: New file.
70446         * tests/test-byteswap.c: New file.
70447
70448         * modules/arpa_inet-tests: New file.
70449         * tests/test-arpa_inet.c: New file.
70450
70451 2007-02-17  Bruno Haible  <bruno@clisp.org>
70452
70453         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
70454         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
70455         if the corresponding module is not enabled. Emit link warnings if
70456         the function is used nevertheless.
70457         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
70458         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
70459         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
70460         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
70461         * modules/inttypes (Depends-on): Add link-warning.
70462         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70463         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
70464         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
70465         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
70466         * modules/imaxdiv (configure.ac): Likewise.
70467         * modules/strtoimax (configure.ac): Likewise.
70468         * modules/strtoumax (configure.ac): Likewise.
70469
70470 2007-02-17  Bruno Haible  <bruno@clisp.org>
70471
70472         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
70473         gl_STRING_MODULE_INDICATOR_DEFAULTS.
70474         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
70475         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
70476
70477 2007-02-17  Bruno Haible  <bruno@clisp.org>
70478
70479         * modules/link-warning: New file.
70480         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
70481         * lib/string_.h (GL_LINK_WARNING): Remove definition.
70482         * modules/string (Depends-on): Add link-warning.
70483         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70484         string.h.
70485         * MODULES.html.sh (Support for building libraries and executables): Add
70486         link-warning.
70487
70488 2007-02-17  Bruno Haible  <bruno@clisp.org>
70489
70490         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
70491         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
70492         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
70493         long lines.
70494
70495 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
70496             Bruno Haible  <bruno@clisp.org>
70497
70498         * modules/tmpfile: New file.
70499         * lib/tmpfile.c: New file.
70500         * m4/tmpfile.m4: New file.
70501         * MODULES.html.sh (func_all_modules): New section "Input/output".
70502
70503 2007-02-15  Bruno Haible  <bruno@clisp.org>
70504
70505         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
70506         (supports_delete_on_close): New function.
70507         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
70508
70509 2007-02-14  Bruno Haible  <bruno@clisp.org>
70510
70511         * modules/mbspcasecmp-tests: New file.
70512         * tests/test-mbspcasecmp.sh: New file.
70513         * tests/test-mbspcasecmp.c: New file.
70514
70515         New module mbspcasecmp.
70516         * modules/mbspcasecmp: New file.
70517         * lib/mbspcasecmp.c: New file.
70518         * lib/string_.h (strncasecmp): Change warning message.
70519         (mbspcasecmp): New declaration.
70520         * m4/mbspcasecmp.m4: New file.
70521         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70522         GNULIB_MBSPCASECMP.
70523         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
70524         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
70525
70526 2007-02-14  Bruno Haible  <bruno@clisp.org>
70527
70528         * modules/mbsncasecmp-tests: New file.
70529         * tests/test-mbsncasecmp.sh: New file.
70530         * tests/test-mbsncasecmp.c: New file.
70531
70532         New module mbsncasecmp.
70533         * modules/mbsncasecmp: New file.
70534         * lib/mbsncasecmp.c: New file.
70535         * lib/string_.h (mbsncasecmp): New declaration.
70536         * m4/mbsncasecmp.m4: New file.
70537         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70538         GNULIB_MBSNCASECMP.
70539         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
70540         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
70541
70542 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70543
70544         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
70545         Verify that it doesn't overlap with our flags.
70546         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
70547         do not have the desired effect in multibyte locales; instead, use
70548         mbscasecmp.
70549         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
70550         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
70551         we don't require GNU fnmatch ourselves (if our users require it, they
70552         should do so explicitly).
70553
70554         Fix regex code so it doesn't rely on strcasecmp.
70555         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
70556         Otherwise, include gnulib's langinfo.h.
70557         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
70558         undesirable behavior in non-C locales.  Instead, rely on localecharset.
70559         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
70560         * modules/regex (FILES): Remove m4/codeset.m4.
70561         (Depends-on): Add localcharset.  Remove strcase.
70562
70563 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70564
70565         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
70566         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
70567
70568 2007-02-13  Bruno Haible  <bruno@clisp.org>
70569
70570         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
70571         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70572
70573 2007-02-12  Bruno Haible  <bruno@clisp.org>
70574
70575         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70576         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
70577         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
70578         time warning rather than a link error.
70579
70580 2007-02-12  Bruno Haible  <bruno@clisp.org>
70581
70582         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
70583         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70585
70586 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
70589         args, not 2.
70590
70591 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70592
70593         New module 'time', so that apps can include <time.h> as per
70594         POSIX and GNU instead of separate include files like time_r.h
70595         and timegm.h.  This implementation tries out a simpler approach
70596         for replacing decls in standard include files (as compared to
70597         the string module), somewhat as an experiment.
70598
70599         * config/srclist.txt: Comment out mktime.c for now.
70600         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
70601         since it doesn't apply any more.  Use generic wording instead.
70602         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
70603         'time'.
70604         * lib/time_.h, m4/time_h.m4, modules/time: New files.
70605         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
70606         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
70607         Don't include <sys/types.h>; no longer needed since we assume C89.
70608         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
70609         * lib/strftime.c: Likewise.
70610         * lib/time_r.c: Likewise.
70611         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
70612         * lib/nanosleep.c: Include <time.h> first, to check interface.
70613         * lib/strptime.c: Likewise.
70614         * lib/time_r.c: Likewise.
70615         * lib/timegm.c: Likewise.
70616         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
70617         needed.
70618         * lib/timegm.c: Don't include timegm.h; no longer needed.
70619         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
70620         time.h now handles any problems in that area.
70621         (struct timespec, nanosleep): Remove; time.h now arranges for these.
70622         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
70623         that time.h defines struct timespec.
70624         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
70625         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
70626         handles that.
70627         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
70628         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
70629         needed.  Set REPLACE_LOCALTIME.
70630         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
70631         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
70632         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
70633         nanosleep; time_h.m4 now does that.  Don't require
70634         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
70635         module handles this now.
70636         * modules/getdate (Depends-on): Remove timespec.  Add time.
70637         * modules/nanosleep (Depends-on): Likewise.
70638         * modules/stat-time (Depends-on): Likewise.
70639         * modules/nanosleep (Include): Include time.h, not timespec.h.
70640         * modules/strptime (Files): Remove lib/strptime.h.
70641         (Depends-on): Add extensions, time.
70642         (Include): Include time.h, not strptime.h.
70643         * modules/time_r (Files): Remove lib/time_r.h.
70644         (Depends-on): Add time.
70645         (Include): Include time.h, not time_r.h.
70646         * modules/timegm: Likewise.
70647         * modules/timespec (Description): Now does timespec-related decls
70648         of our own, instead of struct timespec itself.
70649         (Depends-on): Add time; remove extensions.
70650         (Maintainer): Add self.
70651         * modules/utimecmp (Depends-on): Add time; remove timespec.
70652         * modules/utimens (Depends-on): Likewise.
70653         * modules/xnanosleep (Depends-on): Likewise.
70654
70655 2007-02-11  Bruno Haible  <bruno@clisp.org>
70656
70657         * lib/c-strstr.c: Include allocsa.h.
70658         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70659         * lib/c-strcasestr.c: Include allocsa.h.
70660         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70661         * lib/strcasestr.c: Include allocsa.h.
70662         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70663         * lib/mbsstr.c: Include allocsa.h.
70664         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70665         allocsa/freesa instead of malloc/free.
70666         * lib/mbscasestr.c: Include allocsa.h.
70667         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70668         allocsa/freesa instead of malloc/free.
70669         * modules/c-strstr (Depends-on): Add allocsa.
70670         * modules/c-strcasestr (Depends-on): Likewise.
70671         * modules/strcasestr (Depends-on): Likewise.
70672         * modules/mbsstr (Depends-on): Likewise.
70673         * modules/mbscasestr (Depends-on): Likewise.
70674
70675 2007-02-11  Bruno Haible  <bruno@clisp.org>
70676
70677         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
70678
70679         * modules/mbsspn-tests: New file.
70680         * tests/test-mbsspn.sh: New file.
70681         * tests/test-mbsspn.c: New file.
70682
70683 2007-02-11  Bruno Haible  <bruno@clisp.org>
70684
70685         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
70686
70687         * modules/mbspbrk-tests: New file.
70688         * tests/test-mbspbrk.sh: New file.
70689         * tests/test-mbspbrk.c: New file.
70690
70691 2007-02-11  Bruno Haible  <bruno@clisp.org>
70692
70693         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
70694         unneeded cast.
70695
70696         * modules/mbscspn-tests: New file.
70697         * tests/test-mbscspn.sh: New file.
70698         * tests/test-mbscspn.c: New file.
70699
70700 2007-02-11  Bruno Haible  <bruno@clisp.org>
70701
70702         * modules/mbscasecmp-tests: New file.
70703         * tests/test-mbscasecmp.sh: New file.
70704         * tests/test-mbscasecmp.c: New file.
70705
70706 2007-02-11  Bruno Haible  <bruno@clisp.org>
70707
70708         Ensure O(n) worst-case complexity of mbscasestr.
70709         * lib/mbscasestr.c: Include stdbool.h.
70710         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70711         functions.
70712         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
70713         the bookkeeping indicates that it's worth it.
70714         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
70715
70716         * modules/mbscasestr-tests: New file.
70717         * tests/test-mbscasestr1.c: New file.
70718         * tests/test-mbscasestr2.sh: New file.
70719         * tests/test-mbscasestr2.c: New file.
70720         * tests/test-mbscasestr3.sh: New file.
70721         * tests/test-mbscasestr3.c: New file.
70722         * tests/test-mbscasestr4.sh: New file.
70723         * tests/test-mbscasestr4.c: New file.
70724         * m4/locale-tr.m4: New file.
70725
70726 2007-02-11  Bruno Haible  <bruno@clisp.org>
70727
70728         Ensure O(n) worst-case complexity of mbsstr.
70729         * lib/mbsstr.c: Include stdbool.h.
70730         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70731         functions.
70732         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
70733         bookkeeping indicates that it's worth it.
70734         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
70735
70736         * modules/mbsstr-tests: New file.
70737         * tests/test-mbsstr1.c: New file.
70738         * tests/test-mbsstr2.sh: New file.
70739         * tests/test-mbsstr2.c: New file.
70740         * tests/test-mbsstr3.sh: New file.
70741         * tests/test-mbsstr3.c: New file.
70742         * m4/locale-fr.m4: New file.
70743
70744 2007-02-11  Bruno Haible  <bruno@clisp.org>
70745
70746         * lib/mbsrchr.c (mbsrchr): Fix bug.
70747
70748         * modules/mbsrchr-tests: New file.
70749         * tests/test-mbsrchr.sh: New file.
70750         * tests/test-mbsrchr.c: New file.
70751
70752 2007-02-11  Bruno Haible  <bruno@clisp.org>
70753
70754         * lib/mbschr.c (mbschr): Fix bug.
70755
70756         * modules/mbschr-tests: New file.
70757         * tests/test-mbschr.sh: New file.
70758         * tests/test-mbschr.c: New file.
70759         * m4/locale-zh.m4: New file.
70760
70761 2007-02-11  Bruno Haible  <bruno@clisp.org>
70762
70763         Support for copying multibyte string iterators.
70764         * lib/mbiter.h: Include <string.h>.
70765         (mbiter_multi_copy): New function.
70766         (mbi_copy): New macro.
70767         * lib/mbuiter.h: Include <string.h>.
70768         (mbuiter_multi_copy): New function.
70769         (mbui_copy): New macro.
70770
70771 2007-02-11  Bruno Haible  <bruno@clisp.org>
70772
70773         New module mbslen.
70774         * modules/mbslen: New file.
70775         * lib/mbslen.c: New file.
70776         * lib/string_.h (mbslen): New declaration.
70777         * m4/mbslen.m4: New file.
70778         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70779         GNULIB_MBSLEN.
70780         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70781         * MODULES.html.sh (Internationalization functions): Add mbslen.
70782
70783 2007-02-11  Bruno Haible  <bruno@clisp.org>
70784
70785         Ensure O(n) worst-case complexity of strcasestr substitute.
70786         * lib/strcasestr.c: Include stdbool.h.
70787         (knuth_morris_pratt): New function.
70788         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70789         bookkeeping indicates that it's worth it.
70790         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70791
70792         * modules/strcasestr-tests: New file.
70793         * tests/test-strcasestr.c: New file.
70794
70795 2007-02-11  Bruno Haible  <bruno@clisp.org>
70796
70797         Ensure O(n) worst-case complexity of c_strcasestr.
70798         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70799         (knuth_morris_pratt): New function.
70800         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70801         the bookkeeping indicates that it's worth it.
70802         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70803
70804         * modules/c-strcasestr-tests: New file.
70805         * tests/test-c-strcasestr.c: New file.
70806
70807 2007-02-11  Bruno Haible  <bruno@clisp.org>
70808
70809         Ensure O(n) worst-case complexity of c_strstr.
70810         * lib/c-strstr.c: Include stdbool.h, string.h.
70811         (knuth_morris_pratt): New function.
70812         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70813         bookkeeping indicates that it's worth it.
70814         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70815
70816         * lib/c-strstr.c: Complete rewrite for maintainability.
70817
70818         * modules/c-strstr-tests: New file.
70819         * tests/test-c-strstr.c: New file.
70820
70821 2007-02-11  Bruno Haible  <bruno@clisp.org>
70822
70823         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70824         5.2.1 and earlier, whereby \055 was treated just like the range
70825         delimiter '-'.
70826         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70827
70828 2007-02-08  Bruno Haible  <bruno@clisp.org>
70829
70830         * modules/regex (Depends-on): Add stdbool.
70831         Reported by Dalibor Topic <robilad@kaffe.org>.
70832
70833 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70834
70835         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70836         Prefer returning from main to exiting from it.
70837         Remove unnecessary parens after sizeof.
70838
70839 2007-02-05  Bruno Haible  <bruno@clisp.org>
70840
70841         New module mbssep.
70842         * modules/mbssep: New file.
70843         * lib/mbssep.c: New file.
70844         * lib/string_.h (strsep): Add a conditional link warning.
70845         (mbssep): New declaration.
70846         * m4/mbssep.m4: New file.
70847         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70848         GNULIB_MBSSEP.
70849         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70850         * MODULES.html.sh (Internationalization functions): Add mbssep.
70851
70852 2007-02-05  Bruno Haible  <bruno@clisp.org>
70853
70854         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70855         Optimize search in case of 1 delimiter.
70856
70857 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70858
70859         * lib/acl.h: Include sys/types.h before sys/acl.h.
70860
70861 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70862
70863         Merge upstream fix for glibc bugzilla #3957:
70864
70865         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70866
70867         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70868         bit for RE_HAT_LISTS_NOT_NEWLINE.
70869         (build_charclass_op): Remove bogus comment.
70870
70871 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70872
70873         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70874
70875 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70876
70877         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70878         * lib/memmem.c [!defined _LIBC]: Include config.h.
70879
70880 2007-02-04  Bruno Haible  <bruno@clisp.org>
70881
70882         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70883         warning message.
70884
70885 2007-02-04  Bruno Haible  <bruno@clisp.org>
70886
70887         New module mbstok_r.
70888         * modules/mbstok_r: New file.
70889         * lib/mbstok_r.c: New file.
70890         * lib/string_.h (strtok_r): Change argument names to match the
70891         comments. Add a conditional link warning.
70892         (mbstok_r): New declaration.
70893         * m4/mbstok_r.m4: New file.
70894         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70895         GNULIB_MBSTOK_R.
70896         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70897         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70898
70899 2007-02-04  Bruno Haible  <bruno@clisp.org>
70900
70901         New module mbsspn.
70902         * modules/mbsspn: New file.
70903         * lib/mbsspn.c: New file.
70904         * lib/string_.h (strspn): Add a conditional link warning.
70905         (mbsspn): New declaration.
70906         * m4/mbsspn.m4: New file.
70907         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70908         GNULIB_MBSSPN.
70909         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70910         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70911
70912 2007-02-04  Bruno Haible  <bruno@clisp.org>
70913
70914         New module mbspbrk.
70915         * modules/mbspbrk: New file.
70916         * lib/mbspbrk.c: New file.
70917         * lib/string_.h (strpbrk): Add a conditional link warning.
70918         (mbspbrk): New declaration.
70919         * m4/mbspbrk.m4: New file.
70920         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70921         GNULIB_MBSPBRK.
70922         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70923         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70924
70925 2007-02-04  Bruno Haible  <bruno@clisp.org>
70926
70927         New module mbscspn.
70928         * modules/mbscspn: New file.
70929         * lib/mbscspn.c: New file.
70930         * lib/string_.h (strcspn): Add a conditional link warning.
70931         (mbscspn): New declaration.
70932         * m4/mbscspn.m4: New file.
70933         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70934         GNULIB_MBSCSPN.
70935         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70936         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70937
70938 2007-02-04  Bruno Haible  <bruno@clisp.org>
70939
70940         New module mbscasestr, reduced goal of strcasestr.
70941         * modules/mbscasestr: New file.
70942         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
70943         (mbscasestr): Renamed from strcasestr.
70944         * lib/strcasestr.c: Don't include mbuiter.h.
70945         (strcasestr): Remove support for multibyte locales.
70946         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
70947         Change the conditional link warning.
70948         (mbscasestr): New declaration.
70949         * m4/mbscasestr.m4: New file.
70950         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
70951         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
70952         REPLACE_STRCASESTR.
70953         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
70954         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70955         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70956         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
70957         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
70958         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70959         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
70960         (Depends-on): Remove mbuiter.
70961         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
70962
70963 2007-02-04  Bruno Haible  <bruno@clisp.org>
70964
70965         Simplify handling of strncasecmp.
70966         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
70967         the conditional link warning.
70968         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70969         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
70970         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
70971         * modules/strcase (configure.ac): Don't invoke
70972         gl_STRING_MODULE_INDICATOR.
70973         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
70974
70975 2007-02-04  Bruno Haible  <bruno@clisp.org>
70976
70977         New module mbscasecmp, reduced goal of strcasecmp.
70978         * modules/mbscasecmp: New file.
70979         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70980         (mbscasecmp): Renamed from strcasecmp.
70981         * lib/strcasecmp.c: Don't include mbuiter.h.
70982         (strcasecmp): Remove support for multibyte locales.
70983         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70984         Change the conditional link warning.
70985         (mbscasecmp): New declaration.
70986         * m4/mbscasecmp.m4: New file.
70987         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70988         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70989         REPLACE_STRCASECMP.
70990         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70991         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70992         GNULIB_MBSCASECMP.
70993         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70994         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70995         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70996         (Depends-on): Remove mbuiter.
70997         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70998
70999 2007-02-04  Bruno Haible  <bruno@clisp.org>
71000
71001         New module mbsstr. Remove module strstr.
71002         * modules/mbsstr: New file.
71003         * modules/strstr: Remove file.
71004         * lib/mbsstr.c: Renamed from lib/strstr.c.
71005         (mbsstr): Renamed from strstr.
71006         * lib/string_.h (strstr): Remove declaration. Change the conditional
71007         link warning.
71008         (mbsstr): New declaration.
71009         * m4/mbsstr.m4: New file.
71010         * m4/strstr.m4: Remove file.
71011         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
71012         REPLACE_STRSTR.
71013         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
71014         Don't initialize GNULIB_STRSTR.
71015         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
71016         substitute GNULIB_STRSTR and REPLACE_STRSTR.
71017         * MODULES.html.sh (Internationalization functions): Add mbsstr.
71018         (Support for systems lacking ANSI C 89): Remove strstr.
71019
71020 2007-02-04  Bruno Haible  <bruno@clisp.org>
71021
71022         New module mbsrchr.
71023         * modules/mbsrchr: New file.
71024         * lib/mbsrchr.c: New file.
71025         * lib/string_.h (strrchr): Add a conditional link warning.
71026         (mbsrchr): New declaration.
71027         * m4/mbsrchr.m4: New file.
71028         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71029         GNULIB_MBSRCHR.
71030         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
71031         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
71032
71033 2007-02-04  Bruno Haible  <bruno@clisp.org>
71034
71035         New module mbschr.
71036         * modules/mbschr: New file.
71037         * lib/mbschr.c: New file.
71038         * lib/string_.h (strchr): Add a conditional link warning.
71039         (mbschr): New declaration.
71040         * m4/mbschr.m4: New file.
71041         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71042         GNULIB_MBSCHR.
71043         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
71044         * MODULES.html.sh (Internationalization functions): Add mbschr.
71045
71046 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71047
71048         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
71049
71050         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
71051
71052 2007-02-04  Bruno Haible  <bruno@clisp.org>
71053
71054         New module description section 'configure.ac-early'.
71055         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
71056         (func_get_autoconf_early_snippet): New function.
71057         (func_import, func_create_testdir): Use it. Remove special cases for
71058         modules 'extensions' and 'lock'.
71059         * modules/extensions (configure.ac-early): Require
71060         gl_USE_SYSTEM_EXTENSIONS.
71061         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
71062
71063 2007-02-04  Bruno Haible  <bruno@clisp.org>
71064
71065         Make use of gcj-4.3's -fsource and -ftarget option.
71066         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
71067         and if so try the options -fsource and -ftarget.
71068         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
71069         source_version, ftarget_option, target_version arguments.
71070         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
71071         (is_envjavac_oldgcj_14_14_usable): Renamed from
71072         is_envjavac_gcj_14_14_usable.
71073         (is_envjavac_oldgcj_14_13_usable): Renamed from
71074         is_envjavac_gcj_14_13_usable.
71075         (is_gcj_present): Update.
71076         (is_gcj_43, is_gcj43_usable): New functions.
71077         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
71078         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
71079         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
71080         try the options -fsource and -ftarget.
71081
71082 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71083
71084         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
71085         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
71086         larger value.
71087
71088 2007-02-03  Jim Meyering  <jim@meyering.net>
71089
71090         Give tools a better chance to allocate space for very large buffers.
71091         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
71092
71093         Make pwd and readlink work also when run with an unreadable parent dir
71094         on systems with openat support.
71095         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
71096         provided getcwd function, even when we have openat support.
71097         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
71098
71099 2007-02-02  Bruno Haible  <bruno@clisp.org>
71100
71101         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71102         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
71103         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
71104         portability problems if one of these functions is only used on specific
71105         platforms.
71106         Reported by Paul Eggert.
71107
71108 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
71109
71110         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
71111         is causing more trouble than it's curing.
71112         * lib/regex_internal.h (__mempcpy): Remove.
71113         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
71114         (and make the code a tad smaller to boot).
71115         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
71116
71117 2007-02-02  Jim Meyering  <jim@meyering.net>
71118
71119         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
71120         section, not in the Makefile.am: one.
71121
71122 2007-02-02  Eric Blake  <ebb9@byu.net>
71123
71124         * lib/strchrnul.c: Always include config.h first.
71125
71126         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
71127         gnulib strstr is not necessary here.
71128
71129 2007-02-02  Simon Josefsson  <simon@josefsson.org>
71130
71131         * m4/socklen.m4: Fix typo.
71132
71133 2007-02-02  Eric Blake  <ebb9@byu.net>
71134
71135         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
71136         * modules/netinet_in (Makefile.am): Likewise.
71137
71138 2007-02-01  Bruno Haible  <bruno@clisp.org>
71139
71140         * lib/string_.h (GL_LINK_WARNING): New macro.
71141         (strcasecmp, strstr, strcasestr): If provided by the system,
71142         conditionally define as a macro that leads to a warning instead of to
71143         an error.
71144         (strncasecmp): Conditionally define as a macro that leads to a warning.
71145
71146 2007-02-01  Karl Berry  <karl@gnu.org>
71147
71148         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
71149
71150 2007-02-01  Bruno Haible  <bruno@clisp.org>
71151
71152         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
71153         renamings.
71154
71155 2007-02-01  Eric Blake  <ebb9@byu.net>
71156
71157         * modules/regex (Depends-on): Revert dependence on mempcpy.
71158         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
71159         module's definition of mempcpy.
71160         Reported by Paul Eggert.
71161
71162 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71163
71164         * lib/string_.h: If the gnulib module XYZ is not present, undefine
71165         the symbol XYZ before redefining it.  This fixes a problem with
71166         programs that don't use XYZ, when compiled on systems that define
71167         XYZ to something else.
71168
71169 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
71170
71171         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
71172         occurs when "mkdir -m foo" creates a setgid directory that is (1)
71173         writeable to group or other and (2) is intended to have a special
71174         mode bit that is set or cleared.  In such a case, the directory
71175         should be neither group- nor other-writeable until the special
71176         mode bits are right.
71177
71178 2007-01-31  Eric Blake  <ebb9@byu.net>
71179
71180         * modules/mountlist (Depends-on): Add strstr.
71181
71182         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
71183         bug.
71184         * modules/string (Makefile.am): Remove redundant replacement.
71185         * modules/regex (Depends-on): Add mempcpy.
71186
71187 2007-01-31  Bruno Haible  <bruno@clisp.org>
71188
71189         New module description field 'Link'.
71190         * gnulib-tool (func_usage): Document --extract-link-directive.
71191         (sed_extract_prog): Recognize 'Link' directive.
71192         (func_get_link_directive): New function.
71193         (func_import): Show summary of link directives.
71194         Handle --extract-link-directive option.
71195         * modules/acl (Link): New section.
71196         * modules/clock-time (Link): New section.
71197         * modules/euidaccess (Link): New section.
71198         * modules/gettext (Link): New section.
71199         * modules/iconv (Link): New section.
71200         * modules/lock (Link): New section.
71201         * modules/nanosleep (Link): New section.
71202         * modules/readline (Link): New section.
71203
71204 2007-01-27  Bruno Haible  <bruno@clisp.org>
71205
71206         Enforce the use of gnulib modules for unportable <string.h> functions.
71207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
71208         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
71209         (gl_HEADER_STRING_H_BODY): Require it.
71210         * lib/string_.h: If the gnulib module XYZ is not present, redefine
71211         the symbol XYZ to one that gives a link error.
71212         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
71213         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
71214         * modules/mempcpy (configure.ac): Likewise.
71215         * modules/memrchr (configure.ac): Likewise.
71216         * modules/stpcpy (configure.ac): Likewise.
71217         * modules/stpncpy (configure.ac): Likewise.
71218         * modules/strcase (configure.ac): Likewise.
71219         * modules/strcasestr (configure.ac): Likewise.
71220         * modules/strchrnul (configure.ac): Likewise.
71221         * modules/strdup (configure.ac): Likewise.
71222         * modules/strndup (configure.ac): Likewise.
71223         * modules/strnlen (configure.ac): Likewise.
71224         * modules/strpbrk (configure.ac): Likewise.
71225         * modules/strsep (configure.ac): Likewise.
71226         * modules/strstr (configure.ac): Likewise.
71227         * modules/strtok_r (configure.ac): Likewise.
71228
71229 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
71230
71231         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
71232
71233 2007-01-30  Jim Meyering  <jim@meyering.net>
71234
71235         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
71236
71237 2007-01-29  Bruno Haible  <bruno@clisp.org>
71238
71239         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
71240         * lib/execute.c: Likewise.
71241         * lib/pipe.c: Likewise.
71242         * lib/printf-args.h: Likewise.
71243         * lib/printf-args.c: Likewise.
71244         * lib/printf-parse.c: Likewise.
71245         * lib/vasnprintf.c: Likewise.
71246
71247 2007-01-29  Eric Blake  <ebb9@byu.net>
71248
71249         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
71250         declaration.
71251
71252 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
71253
71254         * lib/strptime.h (strptime): Use 'restrict' for args where
71255         POSIX requires this.
71256         * lib/strptime.c (strptime): Likewise.
71257         Change license notice from LGPL to GPL, since gnulib-tool will
71258         change this as needed.
71259         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
71260         defined.
71261         Include "strptime.h" first, to check interface.
71262         Do not #undef _LIBC and _NL_CURRENT.
71263         Do not include <stdlib.h>; no longer needed.
71264         Include "time_r.h" and declare ptime_locale_status
71265         only if _LIBC is not defined.
71266         (__P): Remove unused macro.
71267         (match_string): Bring back glibc version, but use it only if _LIBC
71268         is defined.
71269         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
71270         Remove unnecessary assertion and abort() call.
71271         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
71272         * m4/strptime.m4: Fix serial number comment.
71273         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71274         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
71275         (Depends-on): Add time_r.
71276
71277 2007-01-29  Bruno Haible  <bruno@clisp.org>
71278
71279         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71280         strptime.
71281         * modules/strptime (Depends-on): Add stdbool.
71282         * lib/strptime.h: Include <time.h> always. Add comments.
71283
71284 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71285
71286         * modules/strptime: New file.
71287         * lib/strptime.h: New file.
71288         * lib/strptime.c: New file.
71289         * m4/strptime.m4: New file.
71290
71291 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71292
71293         * MODULES.html.sh: New module mpsort.
71294         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
71295
71296         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
71297         a circularity problem with HP-UX ia64 reported by Bob Proulx in
71298         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
71299         All uses changed.
71300         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
71301         All uses changed.
71302         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
71303         to _Restrict_.
71304         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
71305         the parameter matches the prototype.
71306
71307 2007-01-28  Jim Meyering  <jim@meyering.net>
71308
71309         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
71310         sys/time.h here, reverting that part of the previous patch:
71311         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
71312
71313 2007-01-28  Bruno Haible  <bruno@clisp.org>
71314
71315         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
71316         value of $(SYS_TIME_H).
71317         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
71318         remove it conditionally, too. [added by Jim Meyering]
71319         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
71320         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71321         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
71322         GETTIMEOFDAY_REPLACEMENT to 1.
71323
71324 2007-01-28  Bruno Haible  <bruno@clisp.org>
71325
71326         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
71327         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
71328         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
71329         Set UNISTD_H instead of UNISTD_H2.
71330         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
71331
71332 2007-01-28  Bruno Haible  <bruno@clisp.org>
71333
71334         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
71335         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
71336
71337 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71338
71339         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
71340         (func_create_testdir): Ensure C locale for `grep' and `tr'
71341         character ranges.
71342         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
71343         ACLOCAL_AMFLAGS parsing state machine.
71344
71345 2007-01-27  Bruno Haible  <bruno@clisp.org>
71346
71347         * modules/unistr/base: Update.
71348
71349 2007-01-27  Bruno Haible  <bruno@clisp.org>
71350
71351         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71352         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71353         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71354         modules/unistr/u32-mbtouc.
71355         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71356         * lib/unistr.h: Update.
71357         * lib/linebreak.c: Update.
71358         * modules/unistr/u32-mbtouc: Renamed from
71359         modules/unistr/u32-mbtouc-safe.
71360         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71361         * lib/unistr.h: Update.
71362         * lib/unistr/u32-to-u8.c: Update.
71363         * lib/unistr/u32-to-u16.c: Update.
71364
71365 2007-01-27  Bruno Haible  <bruno@clisp.org>
71366
71367         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71368         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71369         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71370         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71371         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71372         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71373         modules/unistr/u16-mbtouc.
71374         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71375         * lib/unistr.h: Update.
71376         * lib/linebreak.c: Update.
71377         * modules/linebreak: Update.
71378         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71379         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71380         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71381         * modules/unistr/u16-mbtouc: Renamed from
71382         modules/unistr/u16-mbtouc-safe.
71383         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71384         * lib/unistr.h: Update.
71385         * lib/unistr/u16-to-u8.c: Update.
71386         * modules/unistr/u16-to-u8: Update.
71387         * lib/unistr/u16-to-u32.c: Update.
71388         * modules/unistr/u16-to-u32: Update.
71389
71390 2007-01-27  Bruno Haible  <bruno@clisp.org>
71391
71392         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71393         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71394         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71395         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71396         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71397         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71398         modules/unistr/u8-mbtouc.
71399         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71400         * lib/unistr.h: Update.
71401         * lib/striconveh.c: Update.
71402         * modules/striconveh: Update.
71403         * lib/linebreak.c: Update.
71404         * modules/linebreak: Update.
71405         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
71406         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
71407         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
71408         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
71409         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
71410         * lib/unistr.h: Update.
71411         * lib/striconveh.c: Update.
71412         * modules/striconveh: Update.
71413         * lib/unistr/u8-to-u16.c: Update.
71414         * modules/unistr/u8-to-u16: Update.
71415         * lib/unistr/u8-to-u32.c: Update.
71416         * modules/unistr/u8-to-u32: Update.
71417
71418 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71419
71420         Sync from Libtool.
71421         * lib/argz.c: Do not include strings.h nor memory.h, include
71422         string.h unconditionally.  Patch by Simon Josefsson.
71423
71424 2007-01-27  Bruno Haible  <bruno@clisp.org>
71425
71426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
71427         from gl_HEADER_STRING_H_BODY.
71428         (gl_HEADER_STRING_H_BODY): Require it.
71429         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
71430         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
71431         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
71432         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
71433         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
71434         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
71435         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
71436         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
71437         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
71438         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
71439         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
71440         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
71441         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
71442         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
71443         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71444
71445 2007-01-27  Bruno Haible  <bruno@clisp.org>
71446
71447         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
71448         check_PROGRAMS into noinst_PROGRAMS.
71449         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
71450         check_PROGRAMS in this case.
71451         (func_import): Set for_test to false.
71452         (func_create_testdir): Set for_test to true.
71453
71454 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71455             Bruno Haible  <bruno@clisp.org>
71456
71457         * modules/strcasestr (Files): Remove lib/strcasestr.h.
71458         (Depends-on): Add string.
71459         (Includes): Use <string.h> instead of strcasestr.h.
71460         * modules/string (Makefile.am): Also substitute the value of
71461         REPLACE_STRCASESTR.
71462         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
71463         assume strcasestr is declared in <string.h> not <strings.h>. Also
71464         set REPLACE_STRCASESTR.
71465         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
71466         REPLACE_STRCASESTR.
71467         * lib/strcasestr.h: Remove file.
71468         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
71469         * lib/string_.h (strcasestr): New declaration.
71470
71471 2007-01-27  Bruno Haible  <bruno@clisp.org>
71472
71473         * lib/string_.h: Use 'extern'.
71474
71475 2007-01-27  Jim Meyering  <jim@meyering.net>
71476
71477         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
71478         of set-but-not-used local, "q".
71479
71480         * lib/mempcpy.c: Include <config.h> before <string.h>.
71481         This fixes a compilation error on HP-UX, due to the system's
71482         "restrict"-using mempcpy prototype.
71483
71484 2007-01-26  Bruno Haible  <bruno@clisp.org>
71485
71486         Small optimization.
71487         * lib/javacomp.c: Include c-strstr.h.
71488          (is_envjavac_gcj): Use c_strstr instead of strstr.
71489         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
71490
71491 2007-01-26  Bruno Haible  <bruno@clisp.org>
71492
71493         * MODULES.html.sh (Unicode string functions): Add the new modules.
71494
71495         * modules/uniconv/u32-strconv-to-locale: New file.
71496         * lib/uniconv/u32-strconv-to-locale.c: New file.
71497
71498         * modules/uniconv/u16-strconv-to-locale: New file.
71499         * lib/uniconv/u16-strconv-to-locale.c: New file.
71500
71501         * modules/uniconv/u8-strconv-to-locale: New file.
71502         * lib/uniconv/u8-strconv-to-locale.c: New file.
71503
71504         * modules/uniconv/u32-strconv-from-locale: New file.
71505         * lib/uniconv/u32-strconv-from-locale.c: New file.
71506
71507         * modules/uniconv/u16-strconv-from-locale: New file.
71508         * lib/uniconv/u16-strconv-from-locale.c: New file.
71509
71510         * modules/uniconv/u8-strconv-from-locale: New file.
71511         * lib/uniconv/u8-strconv-from-locale.c: New file.
71512
71513         * modules/uniconv/u32-strconv-to-enc: New file.
71514         * lib/uniconv/u32-strconv-to-enc.c: New file.
71515         * modules/uniconv/u32-strconv-to-enc-tests: New file.
71516         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
71517
71518         * modules/uniconv/u16-strconv-to-enc: New file.
71519         * lib/uniconv/u16-strconv-to-enc.c: New file.
71520         * lib/uniconv/u-strconv-to-enc.h: New file.
71521         * modules/uniconv/u16-strconv-to-enc-tests: New file.
71522         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
71523
71524         * modules/uniconv/u8-strconv-to-enc: New file.
71525         * lib/uniconv/u8-strconv-to-enc.c: New file.
71526         * modules/uniconv/u8-strconv-to-enc-tests: New file.
71527         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
71528
71529         * modules/uniconv/u32-strconv-from-enc: New file.
71530         * lib/uniconv/u32-strconv-from-enc.c: New file.
71531         * modules/uniconv/u32-strconv-from-enc-tests: New file.
71532         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
71533
71534         * modules/uniconv/u16-strconv-from-enc: New file.
71535         * lib/uniconv/u16-strconv-from-enc.c: New file.
71536         * modules/uniconv/u16-strconv-from-enc-tests: New file.
71537         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
71538
71539         * modules/uniconv/u8-strconv-from-enc: New file.
71540         * lib/uniconv/u8-strconv-from-enc.c: New file.
71541         * lib/uniconv/u-strconv-from-enc.h: New file.
71542         * modules/uniconv/u8-strconv-from-enc-tests: New file.
71543         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
71544
71545         * modules/uniconv/u32-conv-from-enc: New file.
71546         * lib/uniconv/u32-conv-from-enc.c: New file.
71547         * modules/uniconv/u32-conv-from-enc-tests: New file.
71548         * tests/uniconv/test-u32-conv-from-enc.c: New file.
71549
71550         * modules/uniconv/u16-conv-from-enc: New file.
71551         * lib/uniconv/u16-conv-from-enc.c: New file.
71552         * lib/uniconv/u-conv-from-enc.h: New file.
71553         * modules/uniconv/u16-conv-from-enc-tests: New file.
71554         * tests/uniconv/test-u16-conv-from-enc.c: New file.
71555
71556         * modules/uniconv/u8-conv-from-enc: New file.
71557         * lib/uniconv/u8-conv-from-enc.c: New file.
71558         * modules/uniconv/u8-conv-from-enc-tests: New file.
71559         * tests/uniconv/test-u8-conv-from-enc.c: New file.
71560
71561         * modules/uniconv/base: New file.
71562         * lib/uniconv.h: New file.
71563
71564 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71565
71566         * doc/gnulib-tool.texi (Initial import): Update to match current
71567         behavior with strdup module.
71568         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
71569         * lib/memmem.h: Remove; all uses removed.  This is now done
71570         by <string.h>.
71571         * lib/mempcpy.h: Likewise.
71572         * lib/memrchr.h: Likewise.
71573         * lib/stpcpy.h: Likewise.
71574         * lib/stpncpy.h: Likewise.
71575         * lib/strcase.h: Likewise.
71576         * lib/strchrnul.h: Likewise.
71577         * lib/strdup.h: Likewise.
71578         * lib/strndup.h: Likewise.
71579         * lib/strnlen.h: Likewise.
71580         * lib/strpbrk.h: Likewise.
71581         * lib/strsep.h: Likewise.
71582         * lib/strstr.h: Likewise.
71583         * lib/strtok_r.h: Likewise.
71584         * lib/string_.h: New file.
71585         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
71586         Rely on <string.h> instead.
71587         * lib/canon-host.c: Likewise.
71588         * lib/chdir-long.c: Likewise.
71589         * lib/concatpath.c: Likewise.
71590         * lib/exclude.c: Likewise.
71591         * lib/fchdir.c: Likewise.
71592         * lib/getaddrinfo.c: Likewise.
71593         * lib/getcwd.c: Likewise.
71594         * lib/getsubopt.c: Likewise.
71595         * lib/glob.c: Likewise.
71596         * lib/hard-locale.c: Likewise.
71597         * lib/iconvme.c: Likewise.
71598         * lib/javacomp.c: Likewise.
71599         * lib/mempcpy.c: Likewise.
71600         * lib/memrchr.c: Likewise.
71601         * lib/regex_internal.h: Likewise.
71602         * lib/stpncpy.c: Likewise.
71603         * lib/strcasecmp.c: Likewise.
71604         * lib/strchrnul.c: Likewise.
71605         * lib/strdup.c: Likewise.
71606         * lib/striconv.c: Likewise.
71607         * lib/striconveh.c: Likewise.
71608         * lib/striconveha.c: Likewise.
71609         * lib/strncasecmp.c: Likewise.
71610         * lib/strndup.c: Likewise.
71611         * lib/strnlen.c: Likewise.
71612         * lib/strsep.c: Likewise.
71613         * lib/strstr.c: Likewise.
71614         * lib/strtok_r.c: Likewise.
71615         * lib/userspec.c: Likewise.
71616         * lib/w32spawn.h: Likewise.
71617         * lib/xstrndup.c: Likewise.
71618         * lib/mountlist.c (strstr): Remove decl.
71619         * m4/string_h.m4: New file.
71620         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
71621         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
71622         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
71623         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
71624         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
71625         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
71626         Set REPLACE_STRCASECMP if necessary.
71627         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
71628         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
71629         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
71630         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
71631         HAVE_DECL_STRDUP if necessary.
71632         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
71633         since gl_FUNC_STRNDUP does that now.
71634         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
71635         Check for decl here...
71636         (gl_PREREQ_STRNLEN): ... not here.
71637         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
71638         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
71639         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
71640         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
71641         necessary.
71642         * modules/string: New file.
71643         * modules/memmem (Files): Remove special-purpose include file.
71644         (Depends-on): Add string.
71645         (Include): Include <string.h>, not the removed file.
71646         * modules/mempcpy: Likewise.
71647         * modules/memrchr: Likewise.
71648         * modules/stpcpy: Likewise.
71649         * modules/stpncpy: Likewise.
71650         * modules/strcase: Likewise.
71651         * modules/strchrnul: Likewise.
71652         * modules/strdup: Likewise.
71653         * modules/strndup: Likewise.
71654         * modules/strnlen: Likewise.
71655         * modules/strpbrk: Likewise.
71656         * modules/strsep: Likewise.
71657         * modules/strstr: Likewise.
71658         * modules/strtok_r: Likewise.
71659         * tests/test-dirname.c: Don't include "strdup.h", since
71660         <string.h> now suffices.
71661         * tests/test-memmem.c: Don't include "memmem.h", since
71662         <string.h> now suffices.
71663
71664 2007-01-25  Bruno Haible  <bruno@clisp.org>
71665
71666         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
71667         *resultp is 0.
71668
71669         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
71670         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
71671         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
71672         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
71673
71674         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
71675         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
71676         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
71677         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
71678         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
71679         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
71680
71681 2007-01-24  Bruno Haible  <bruno@clisp.org>
71682
71683         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
71684         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
71685         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
71686         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
71687         gl_FUNC_FTS_CORE.
71688         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
71689         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
71690         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71691         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
71692         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
71693         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
71694         gl_FUNC_FCHOWNAT.
71695         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
71696         gl_FUNC_STRFTIME.
71697         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
71698         Reported by Ralf Wildenhues.
71699
71700 2007-01-24  Bruno Haible  <bruno@clisp.org>
71701
71702         Drop AC_REQUIRE calls that are redundant with the module dependencies.
71703         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
71704         gl_GETADDRINFO.
71705         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
71706         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
71707         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
71708
71709 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
71710
71711         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
71712         Don't use 'exit'; just return from 'main'.
71713         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
71714
71715         * lib/fnmatch_.h: Readjust white space and comments to match
71716         glibc, to avoid spurious diffs.
71717
71718 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71719
71720         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
71721         2004-12-01 change by Jakub Jelinek, since this code won't compile
71722         if !LIBC.  Problem reported by Bob Proulx.
71723
71724 2007-01-23  Bruno Haible  <bruno@clisp.org>
71725
71726         * lib/striconveh.c: Include c-strcaseeq.h.
71727         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
71728         * modules/striconveh (Depends-on): Add c-strcaseeq.
71729
71730 2007-01-23  Bruno Haible  <bruno@clisp.org>
71731
71732         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
71733
71734         * modules/c-strcaseeq: New file.
71735         * lib/c-strcaseeq.h: New file.
71736
71737         * modules/streq: New file.
71738         * lib/streq.h: New file.
71739
71740 2007-01-23  Bruno Haible  <bruno@clisp.org>
71741
71742         * modules/striconveha-tests: New file.
71743         * tests/test-striconveha.c: New file.
71744
71745         * lib/striconveha.h: Include <stdbool.h>.
71746         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
71747         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
71748         (mem_iconveha_notranslit): Renamed from mem_iconveha.
71749         (mem_iconveha): New function.
71750         (str_iconveha_notranslit): Renamed from str_iconveha.
71751         (str_iconveha): New function.
71752         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
71753         c-strcase.
71754
71755 2007-01-23  Bruno Haible  <bruno@clisp.org>
71756
71757         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
71758         encodings without forgiving before trying any encoding with handler.
71759         (str_iconveha): Try all encodings without forgiving before trying any
71760         encoding with handler.
71761
71762 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71763
71764         Import the following changes from libc.
71765
71766         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71767
71768         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71769
71770         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71771
71772         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71773         normal_bracket label.
71774
71775         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71776
71777         [BZ #361]
71778         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71779         to normal_bracket after fetching the next character.
71780
71781 2007-01-22  Bruno Haible  <bruno@clisp.org>
71782
71783         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71784         argument.
71785         * lib/striconveh.c (iconv_carefully_1): New function.
71786         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71787         argument.
71788         (str_cd_iconveh): Update.
71789         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71790         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71791         * tests/test-striconveh.c (MAGIC): New macro.
71792         (new_offsets): New function.
71793         (main): Test call with and without offsets.
71794
71795 2007-01-22  Bruno Haible  <bruno@clisp.org>
71796
71797         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71798         * modules/sys_select (Makefile.am): Likewise.
71799         * modules/sys_socket (Makefile.am): Likewise.
71800         * modules/sys_time (Makefile.am): Likewise.
71801
71802 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71803
71804         * modules/gettimeofday (License): Change from GPL to LGPL, since
71805         gettimeofday is a library function.
71806
71807 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71808
71809         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71810
71811 2007-01-21  Bruno Haible  <bruno@clisp.org>
71812
71813         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71814
71815 2007-01-21  Bruno Haible  <bruno@clisp.org>
71816
71817         * modules/striconveha: New file.
71818         * lib/striconveha.h: New file.
71819         * lib/striconveha.c: New file.
71820         * MODULES.html.sh (Internationalization functions): Add striconveha.
71821         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71822         string.
71823         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71824
71825 2007-01-21  Bruno Haible  <bruno@clisp.org>
71826
71827         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71828         * lib/striconveh.c (str_iconveh): Likewise.
71829
71830 2007-01-21  Bruno Haible  <bruno@clisp.org>
71831
71832         * lib/striconveh.h (mem_iconveh): New declaration.
71833         * lib/striconveh.c (mem_iconveh): New function.
71834         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71835
71836 2007-01-21  Bruno Haible  <bruno@clisp.org>
71837
71838         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71839
71840         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71841         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71842         original result buffer.
71843         (str_cd_iconveh): Update.
71844         * tests/test-striconveh.c (main): Update.
71845
71846         * lib/striconv.h (mem_cd_iconv): Change specification.
71847         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71848         result buffer.
71849         (str_cd_iconv): Update.
71850         * tests/test-striconv.c (main): Update.
71851
71852 2007-01-21  Bruno Haible  <bruno@clisp.org>
71853
71854         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71855
71856 2007-01-20  Jim Meyering  <jim@meyering.net>
71857
71858         * lib/userspec.c (parse_with_separator): If a user or group string
71859         starts with "+", skip the corresponding name-to-ID look-up, since
71860         such a look-up must fail: user and group names may not include "+".
71861
71862 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71863
71864         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71865         since we now assume the sys_time module.
71866         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71867         check for sys/time.h; no longer needed.
71868         * modules/poll (Depends-on): Depend on sys_time.
71869
71870 2007-01-18  Bruno Haible  <bruno@clisp.org>
71871
71872         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71873         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71874
71875         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71876         gettimeofday.
71877
71878         * tests/test-gettimeofday.c: Include <time.h>.
71879         (dummy): Remove variable.
71880
71881         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71882         gl_HEADER_SYS_TIME_H.
71883         (gl_HEADER_SYS_TIME_H): New macro.
71884
71885         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71886         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71887         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71888         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71889         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71890         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71891         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71892         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71893         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71894         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71895         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71896
71897         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71898         last change; it caused a compilation error when cross-compiling to
71899         Cygwin.
71900
71901 2007-01-18  Jim Meyering  <jim@meyering.net>
71902
71903         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71904         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71905         than the race-prone "test -d sys || mkdir sys".
71906         (configure.ac): Use AC_PROG_MKDIR_P.
71907         * modules/sys_select: Likewise.
71908         * modules/sys_socket: Likewise.
71909         * modules/sys_time: Likewise.
71910
71911 2007-01-18  Eric Blake  <ebb9@byu.net>
71912
71913         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71914         replace gettimeofday.
71915         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71916         name, to avoid infinite recursion.
71917
71918 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71919
71920         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71921         module sys_time.
71922         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71923         assume timespec.h defines struct timeval.
71924         * lib/settime.c: Likewise.
71925         * lib/utimens.c: Likewise.
71926         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71927         since we now assume the gettimeofday module.
71928         * lib/tempname.c (__gen_tempname): Likewise.
71929         * lib/gettimeofday.h: Remove.
71930         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71931         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71932         Include <time.h>, for 'time()'.
71933         (localtime_buffer_addr): Also use this workaround if
71934         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71935         to simplify the uses.  All uses changed.
71936         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71937         that #undef is inside {}, and 'const' follows type name consistently.
71938         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
71939         (gettimeofday): Do not use the maximum possible value for
71940         tv->tv_usec, since that might break usages other than ls.c.
71941         Instead, we'll leave ls.c alone.  This undoes today's patch
71942         by Bruno.  Add a compile-time warning for 1s-clock resolution;
71943         we've never observed the problem but might as well keep the
71944         canary.
71945         * lib/nanosleep.c: Include timespec.h first, for interface check.
71946         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
71947         now assume the sys_time module.
71948         * lib/tempname.c: Likewise.
71949         * lib/timespec.h: Likewise.
71950         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
71951         needed.
71952         * lib/strftime.c: Likewise.
71953         * lib/timespec.h: Likewise.
71954         * lib/posixtm.c: Include posixtm.h first, for interface check.
71955         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
71956         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
71957         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
71958         * lib/sys_time_.h: New file.
71959         * lib/timespec.h (struct timespec): Use long int, not long.
71960         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71961         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
71962         Remove obsolescent call to AC_HEADER_TIME.
71963         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
71964         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71965         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71966         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
71967         Likewise.
71968         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
71969         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
71970         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
71971         into the sys_time module.  Check for gettimeofday just once.
71972         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
71973         for gettimeofday signature to just check the signature.  Merely
71974         compile it, since linking doesn't test signature.  Improve test for
71975         whether gettimeofday.o is actually needed.
71976         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
71977         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
71978         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71979         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71980         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71981         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71982         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71983         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71984         than worrying about sys/time.h.
71985         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71986         Don't bother worrying about TIME_WITH_SYS_TIME.
71987         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71988         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71989         * m4/sys_time_h.m4: New file.
71990         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71991         Don't include sys/time.h.  Return from main rather than exiting.
71992         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71993         all uses changed.
71994         * modules/gethrxtime (Depends-on): Add sys_time.
71995         * modules/gettime (Depends-on): Likewise.
71996         * modules/gettimeofday (Depends-on): Likewise.
71997         * modules/nanosleep (Depends-on): Likewise.
71998         * modules/settime (Depends-on): Likewise.
71999         * modules/tempname (Depends-on): Likewise.
72000         * modules/utimens (Depends-on): Likewise.
72001         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
72002         (Include): Change back to <sys/time.h>.
72003         (Maintainer): Add self.
72004         * modules/sys_time: New file.
72005         * modules/tempname (Depends-on): Add gettimeofday.
72006         * tests/test-gettimeofday.c: Include <sys/time.h>
72007         rather than gettimeofday.h.
72008
72009 2007-01-17  Bruno Haible  <bruno@clisp.org>
72010
72011         * gnulib-tool (func_get_license): Revert last patch. Instead, let
72012         the license default to GPL.
72013         (func_create_testdir): Don't complain if a module is LGPL and its
72014         tests module depends on GPLed modules.
72015
72016 2007-01-17  Bruno Haible  <bruno@clisp.org>
72017
72018         * lib/gettimeofday.c (gettimeofday): Add code for the case
72019         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
72020         maximum possible value for tv->tv_usec, rather than the minimum one.
72021
72022 2005-10-08  Martin Lambers  <marlam@marlam.de>
72023 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72024 2007-01-16  Bruno Haible  <bruno@clisp.org>
72025
72026         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
72027         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
72028         gl_FUNC_GETTIMEOFDAY.
72029         (Include): Add gettimeofday.h.
72030         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
72031         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
72032         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
72033         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
72034         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
72035         * lib/gettimeofday.h: New file.
72036         * lib/gettimeofday.c: Include <sys/timeb.h>.
72037         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
72038         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72039         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
72040         fall back on time().
72041
72042         * tests/test-gettimeofday.c: New file.
72043         * modules/gettimeofday-tests: New file.
72044
72045 2007-01-16  Eric Blake  <ebb9@byu.net>
72046
72047         * modules/fnmatch (Depends-on): Depend on wchar.
72048         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
72049         * m4/fnmatch.m4: Likewise.
72050         * modules/mbchar (Makefile.am): Assume <wchar.h>.
72051         * m4/mbchar.m4: Likewise.
72052         * modules/mbswidth (Depends-on): Depend on wchar.
72053         * lib/mbswidth.c: Assume <wchar.h>.
72054         * m4/mbswidth.m4: Likewise.
72055         * modules/quotearg (Depends-on): Depend on wchar.
72056         * lib/quotearg.c: Assume <wchar.h>.
72057         * m4/quotearg.m4: Likewise.
72058         * modules/regex (Depends-on): Depend on wchar.
72059         * lib/regex_internal.h: Assume <wchar.h>.
72060         * m4/regex.m4: Likewise.
72061         * modules/stdint (Depends-on): Depend on wchar.
72062         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
72063         * m4/stdint.m4: Likewise.
72064         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
72065         * modules/strftime (Depends-on): Depend on wchar.
72066         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
72067         * modules/strtol (Depends-on): Depend on wchar.
72068         * lib/strtol.c: Assume <wchar.h>.
72069         * modules/wcwidth (Depends-on): Depend on wchar.
72070         * lib/wcwidth.h: Assume <wchar.h>.
72071         * m4/wcwidth.m4: Likewise.
72072
72073 2007-01-16  Bruno Haible  <bruno@clisp.org>
72074
72075         * modules/csharpexec-script: New, created from...
72076         * modules/csharpexec: ... this.
72077
72078 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
72079
72080         * modules/javaexec-script: New, created from...
72081         * modules/javaexec: ... this.
72082
72083 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72084
72085         * modules/poll (Dependencies): Add sys_select.
72086
72087 2007-01-15  Jim Meyering  <jim@meyering.net>
72088
72089         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
72090         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
72091         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
72092         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
72093
72094 2007-01-15  Bruno Haible  <bruno@clisp.org>
72095
72096         * modules/striconveh: New file.
72097         * lib/striconveh.h: New file.
72098         * lib/striconveh.c: New file.
72099         * MODULES.html.sh (Internationalization functions): Add striconveh.
72100
72101         * modules/striconveh-tests: New file.
72102         * tests/test-striconveh.c: New file.
72103
72104 2007-01-15  Bruno Haible  <bruno@clisp.org>
72105
72106         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
72107         not from GNU libiconv or GNU libc.
72108
72109 2007-01-15  Bruno Haible  <bruno@clisp.org>
72110
72111         * doc/gnulib-intro.texi (Copyright): Explain the different license
72112         terms for module descriptions, autoconf macros, tests, documentation.
72113
72114 2007-01-14  Bruno Haible  <bruno@clisp.org>
72115
72116         * modules/striconv-tests: New file.
72117         * tests/test-striconv.c: New file.
72118
72119 2007-01-14  Bruno Haible  <bruno@clisp.org>
72120
72121         * modules/iconv-tests: New file.
72122         * tests/test-iconv.c: New file.
72123
72124 2007-01-14  Bruno Haible  <bruno@clisp.org>
72125
72126         * gnulib-tool (func_get_license): For test modules, use the license of
72127         the main module.
72128
72129 2007-01-14  Bruno Haible  <bruno@clisp.org>
72130
72131         * modules/iconv (Include): Clarify that <iconv.h> can only be included
72132         if iconv is found to exist.
72133
72134 2007-01-14  Bruno Haible  <bruno@clisp.org>
72135
72136         * modules/c-ctype-tests: New file.
72137         * tests/test-c-ctype.c: New file.
72138
72139 2007-01-14  Bruno Haible  <bruno@clisp.org>
72140
72141         * modules/binary-io-tests: New file.
72142         * tests/test-binary-io.sh: New file.
72143         * tests/test-binary-io.c: New file.
72144
72145 2007-01-14  Bruno Haible  <bruno@clisp.org>
72146
72147         * modules/array-oset-tests: New file.
72148         * tests/test-array_oset.c: New file.
72149
72150 2007-01-14  Bruno Haible  <bruno@clisp.org>
72151
72152         * modules/array-list-tests: New file.
72153         * tests/test-array_list.c: New file.
72154
72155 2007-01-14  Bruno Haible  <bruno@clisp.org>
72156
72157         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
72158         and make.
72159         Reported by Simon Josefsson in
72160         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
72161
72162 2007-01-14  Bruno Haible  <bruno@clisp.org>
72163
72164         * modules/allocsa-tests: New file.
72165         * tests/test-allocsa.c: New file.
72166
72167 2007-01-14  Bruno Haible  <bruno@clisp.org>
72168
72169         * modules/fchdir (Depends-on): Add absolute-header.
72170         * modules/unistd (Depends-on): Likewise.
72171
72172 2006-12-30  Bruno Haible  <bruno@clisp.org>
72173
72174         * modules/fchdir: New file.
72175         * modules/unistd (Files): Add lib/unistd_.h.
72176         (Makefile.am): Generate unistd.h from unistd_.h.
72177         * lib/fchdir.c: New file.
72178         * lib/dirent_.h: New file.
72179         * lib/unistd_.h: New file.
72180         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
72181         * m4/fchdir.m4: New file.
72182         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
72183         (gl_HEADER_UNISTD): Invoke it.
72184         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
72185         function.
72186         * lib/backupfile.c (opendir, closedir): Undefine.
72187         * lib/chown.c (open, close): Undefine.
72188         * lib/clean-temp.c (open, close): Undefine.
72189         * lib/copy-file.c (open, close): Undefine.
72190         * lib/execute.c (open, close): Undefine.
72191         * lib/fsusage.c (open, close): Undefine.
72192         * lib/gc-gnulib.c (open, close): Undefine.
72193         * lib/getcwd.c (opendir, closedir): Undefine.
72194         * lib/glob.c (opendir, closedir): Undefine.
72195         * lib/javacomp.c (open, close): Undefine.
72196         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
72197         * lib/openat-proc.c (open, close): Undefine.
72198         * lib/pagealign_alloc.c (open, close): Undefine.
72199         * lib/pipe.c (open, close): Undefine.
72200         * lib/progreloc.c (open, close): Undefine.
72201         * lib/savedir.c (opendir, closedir): Undefine.
72202         * lib/utime.c (open, close): Undefine.
72203         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
72204
72205 2007-01-10  Bruno Haible  <bruno@clisp.org>
72206
72207         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
72208
72209 2007-01-12  Eric Blake  <ebb9@byu.net>
72210
72211         Provide a robust <wchar.h>.  Further simplifications are now
72212         possible in other modules, but not included here.
72213         * modules/wchar: New module.
72214         * m4/wchar.m4: New file.
72215         * lib/wchar_.h: Likewise.
72216         * modules/mbchar (Depends-on): Depend on wchar, as the first use
72217         of the new module.
72218         * MODULES.html.sh (Extended multibyte and wide character utilities):
72219         New section.
72220
72221 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72222
72223         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
72224         to a reasonable default for memory allocation.
72225         (xreadlink): Don't allocate a huge buffer, to work around a buggy
72226         file system that reports garbage st_size values for symlinks.
72227         Problem reported by Liyang Hu.
72228
72229 2007-01-11  Simon Josefsson  <simon@josefsson.org>
72230
72231         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
72232         Emacs .#* auto-save files).
72233
72234 2007-01-11  Bruno Haible  <bruno@clisp.org>
72235
72236         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
72237         directory.
72238
72239 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72240
72241         Use @...@ consistently in lib/wctype_.h.
72242         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
72243         on it being set to 1 or 0.
72244         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
72245         go back to AC_SUBSTing it.
72246         * modules/wctype (Makefile.am): Undo previous change.
72247
72248 2007-01-10  Eric Blake  <ebb9@byu.net>
72249
72250         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
72251         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
72252         * modules/wctype (Makefile.am): Likewise.
72253         Reported by Chris McGuire.
72254
72255 2007-01-10  Jim Meyering  <jim@meyering.net>
72256
72257         fts.c: a small readability/maintainability improvement
72258         * lib/fts.c (fts_read): Make this code slightly more readable and
72259         maintainable by hoisting the "sp->fts_cur = p" assignments to
72260         immediately follow the statements that set P.  Derived from
72261         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
72262
72263 2007-01-10  Eric Blake  <ebb9@byu.net>
72264
72265         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
72266         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
72267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72268         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
72269         Reported by Chris McGuire.
72270
72271 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72272
72273         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
72274         in sed script.
72275
72276 2007-01-09  Bruno Haible  <bruno@clisp.org>
72277
72278         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
72279         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
72280         variables.
72281         (func_module): Use them.
72282
72283 2007-01-09  Bruno Haible  <bruno@clisp.org>
72284
72285         * modules/unistr/base: New file.
72286         * lib/unistr.h: New file.
72287
72288         * modules/unistr/u8-to-u16: New file.
72289         * lib/unistr/u8-to-u16.c: New file.
72290
72291         * modules/unistr/u8-to-u32: New file.
72292         * lib/unistr/u8-to-u32.c: New file.
72293
72294         * modules/unistr/u16-to-u8: New file.
72295         * lib/unistr/u16-to-u8.c: New file.
72296
72297         * modules/unistr/u16-to-u32: New file.
72298         * lib/unistr/u16-to-u32.c: New file.
72299
72300         * modules/unistr/u32-to-u8: New file.
72301         * lib/unistr/u32-to-u8.c: New file.
72302
72303         * modules/unistr/u32-to-u16: New file.
72304         * lib/unistr/u32-to-u16.c: New file.
72305
72306         * modules/unistr/u8-check: New file.
72307         * modules/unistr/u16-check: New file.
72308         * modules/unistr/u32-check: New file.
72309         * lib/unistr/u8-check.c: New file.
72310         * lib/unistr/u16-check.c: New file.
72311         * lib/unistr/u32-check.c: New file.
72312
72313         * modules/unistr/u8-chr: New file.
72314         * modules/unistr/u16-chr: New file.
72315         * modules/unistr/u32-chr: New file.
72316         * lib/unistr/u8-chr.c: New file.
72317         * lib/unistr/u16-chr.c: New file.
72318         * lib/unistr/u32-chr.c: New file.
72319
72320         * modules/unistr/u8-cmp: New file.
72321         * modules/unistr/u16-cmp: New file.
72322         * modules/unistr/u32-cmp: New file.
72323         * lib/unistr/u8-cmp.c: New file.
72324         * lib/unistr/u16-cmp.c: New file.
72325         * lib/unistr/u32-cmp.c: New file.
72326
72327         * modules/unistr/u8-cpy: New file.
72328         * modules/unistr/u16-cpy: New file.
72329         * modules/unistr/u32-cpy: New file.
72330         * lib/unistr/u8-cpy.c: New file.
72331         * lib/unistr/u16-cpy.c: New file.
72332         * lib/unistr/u32-cpy.c: New file.
72333         * lib/unistr/u-cpy.h: New file.
72334
72335         * modules/unistr/u8-cpy-alloc: New file.
72336         * modules/unistr/u16-cpy-alloc: New file.
72337         * modules/unistr/u32-cpy-alloc: New file.
72338         * lib/unistr/u8-cpy-alloc.c: New file.
72339         * lib/unistr/u16-cpy-alloc.c: New file.
72340         * lib/unistr/u32-cpy-alloc.c: New file.
72341         * lib/unistr/u-cpy-alloc.h: New file.
72342
72343         * modules/unistr/u8-endswith: New file.
72344         * modules/unistr/u16-endswith: New file.
72345         * modules/unistr/u32-endswith: New file.
72346         * lib/unistr/u8-endswith.c: New file.
72347         * lib/unistr/u16-endswith.c: New file.
72348         * lib/unistr/u32-endswith.c: New file.
72349         * lib/unistr/u-endswith.h: New file.
72350
72351         * modules/unistr/u8-mblen: New file.
72352         * modules/unistr/u16-mblen: New file.
72353         * modules/unistr/u32-mblen: New file.
72354         * lib/unistr/u8-mblen.c: New file.
72355         * lib/unistr/u16-mblen.c: New file.
72356         * lib/unistr/u32-mblen.c: New file.
72357
72358         * modules/unistr/u8-mbtouc: New file.
72359         * modules/unistr/u16-mbtouc: New file.
72360         * modules/unistr/u32-mbtouc: New file.
72361         * lib/unistr/u8-mbtouc.c: New file.
72362         * lib/unistr/u16-mbtouc.c: New file.
72363         * lib/unistr/u32-mbtouc.c: New file.
72364
72365         * modules/unistr/u8-mbtouc-safe: New file.
72366         * modules/unistr/u16-mbtouc-safe: New file.
72367         * modules/unistr/u32-mbtouc-safe: New file.
72368         * lib/unistr/u8-mbtouc-safe.c: New file.
72369         * lib/unistr/u16-mbtouc-safe.c: New file.
72370         * lib/unistr/u32-mbtouc-safe.c: New file.
72371
72372         * modules/unistr/u8-move: New file.
72373         * modules/unistr/u16-move: New file.
72374         * modules/unistr/u32-move: New file.
72375         * lib/unistr/u8-move.c: New file.
72376         * lib/unistr/u16-move.c: New file.
72377         * lib/unistr/u32-move.c: New file.
72378         * lib/unistr/u-move.h: New file.
72379
72380         * modules/unistr/u8-next: New file.
72381         * modules/unistr/u16-next: New file.
72382         * modules/unistr/u32-next: New file.
72383         * lib/unistr/u8-next.c: New file.
72384         * lib/unistr/u16-next.c: New file.
72385         * lib/unistr/u32-next.c: New file.
72386
72387         * modules/unistr/u8-prev: New file.
72388         * modules/unistr/u16-prev: New file.
72389         * modules/unistr/u32-prev: New file.
72390         * lib/unistr/u8-prev.c: New file.
72391         * lib/unistr/u16-prev.c: New file.
72392         * lib/unistr/u32-prev.c: New file.
72393
72394         * modules/unistr/u8-set: New file.
72395         * modules/unistr/u16-set: New file.
72396         * modules/unistr/u32-set: New file.
72397         * lib/unistr/u8-set.c: New file.
72398         * lib/unistr/u16-set.c: New file.
72399         * lib/unistr/u32-set.c: New file.
72400         * lib/unistr/u-set.h: New file.
72401
72402         * modules/unistr/u8-startswith: New file.
72403         * modules/unistr/u16-startswith: New file.
72404         * modules/unistr/u32-startswith: New file.
72405         * lib/unistr/u8-startswith.c: New file.
72406         * lib/unistr/u16-startswith.c: New file.
72407         * lib/unistr/u32-startswith.c: New file.
72408         * lib/unistr/u-startswith.h: New file.
72409
72410         * modules/unistr/u8-stpcpy: New file.
72411         * modules/unistr/u16-stpcpy: New file.
72412         * modules/unistr/u32-stpcpy: New file.
72413         * lib/unistr/u8-stpcpy.c: New file.
72414         * lib/unistr/u16-stpcpy.c: New file.
72415         * lib/unistr/u32-stpcpy.c: New file.
72416         * lib/unistr/u-stpcpy.h: New file.
72417
72418         * modules/unistr/u8-stpncpy: New file.
72419         * modules/unistr/u16-stpncpy: New file.
72420         * modules/unistr/u32-stpncpy: New file.
72421         * lib/unistr/u8-stpncpy.c: New file.
72422         * lib/unistr/u16-stpncpy.c: New file.
72423         * lib/unistr/u32-stpncpy.c: New file.
72424         * lib/unistr/u-stpncpy.h: New file.
72425
72426         * modules/unistr/u8-strcat: New file.
72427         * modules/unistr/u16-strcat: New file.
72428         * modules/unistr/u32-strcat: New file.
72429         * lib/unistr/u8-strcat.c: New file.
72430         * lib/unistr/u16-strcat.c: New file.
72431         * lib/unistr/u32-strcat.c: New file.
72432         * lib/unistr/u-strcat.h: New file.
72433
72434         * modules/unistr/u8-strchr: New file.
72435         * modules/unistr/u16-strchr: New file.
72436         * modules/unistr/u32-strchr: New file.
72437         * lib/unistr/u8-strchr.c: New file.
72438         * lib/unistr/u16-strchr.c: New file.
72439         * lib/unistr/u32-strchr.c: New file.
72440
72441         * modules/unistr/u8-strcmp: New file.
72442         * modules/unistr/u16-strcmp: New file.
72443         * modules/unistr/u32-strcmp: New file.
72444         * lib/unistr/u8-strcmp.c: New file.
72445         * lib/unistr/u16-strcmp.c: New file.
72446         * lib/unistr/u32-strcmp.c: New file.
72447
72448         * modules/unistr/u8-strcpy: New file.
72449         * modules/unistr/u16-strcpy: New file.
72450         * modules/unistr/u32-strcpy: New file.
72451         * lib/unistr/u8-strcpy.c: New file.
72452         * lib/unistr/u16-strcpy.c: New file.
72453         * lib/unistr/u32-strcpy.c: New file.
72454         * lib/unistr/u-strcpy.h: New file.
72455
72456         * modules/unistr/u8-strcspn: New file.
72457         * modules/unistr/u16-strcspn: New file.
72458         * modules/unistr/u32-strcspn: New file.
72459         * lib/unistr/u8-strcspn.c: New file.
72460         * lib/unistr/u16-strcspn.c: New file.
72461         * lib/unistr/u32-strcspn.c: New file.
72462         * lib/unistr/u-strcspn.h: New file.
72463
72464         * modules/unistr/u8-strdup: New file.
72465         * modules/unistr/u16-strdup: New file.
72466         * modules/unistr/u32-strdup: New file.
72467         * lib/unistr/u8-strdup.c: New file.
72468         * lib/unistr/u16-strdup.c: New file.
72469         * lib/unistr/u32-strdup.c: New file.
72470         * lib/unistr/u-strdup.h: New file.
72471
72472         * modules/unistr/u8-strlen: New file.
72473         * modules/unistr/u16-strlen: New file.
72474         * modules/unistr/u32-strlen: New file.
72475         * lib/unistr/u8-strlen.c: New file.
72476         * lib/unistr/u16-strlen.c: New file.
72477         * lib/unistr/u32-strlen.c: New file.
72478         * lib/unistr/u-strlen.h: New file.
72479
72480         * modules/unistr/u8-strmblen: New file.
72481         * modules/unistr/u16-strmblen: New file.
72482         * modules/unistr/u32-strmblen: New file.
72483         * lib/unistr/u8-strmblen.c: New file.
72484         * lib/unistr/u16-strmblen.c: New file.
72485         * lib/unistr/u32-strmblen.c: New file.
72486
72487         * modules/unistr/u8-strmbtouc: New file.
72488         * modules/unistr/u16-strmbtouc: New file.
72489         * modules/unistr/u32-strmbtouc: New file.
72490         * lib/unistr/u8-strmbtouc.c: New file.
72491         * lib/unistr/u16-strmbtouc.c: New file.
72492         * lib/unistr/u32-strmbtouc.c: New file.
72493
72494         * modules/unistr/u8-strncat: New file.
72495         * modules/unistr/u16-strncat: New file.
72496         * modules/unistr/u32-strncat: New file.
72497         * lib/unistr/u8-strncat.c: New file.
72498         * lib/unistr/u16-strncat.c: New file.
72499         * lib/unistr/u32-strncat.c: New file.
72500         * lib/unistr/u-strncat.h: New file.
72501
72502         * modules/unistr/u8-strncmp: New file.
72503         * modules/unistr/u16-strncmp: New file.
72504         * modules/unistr/u32-strncmp: New file.
72505         * lib/unistr/u8-strncmp.c: New file.
72506         * lib/unistr/u16-strncmp.c: New file.
72507         * lib/unistr/u32-strncmp.c: New file.
72508
72509         * modules/unistr/u8-strncpy: New file.
72510         * modules/unistr/u16-strncpy: New file.
72511         * modules/unistr/u32-strncpy: New file.
72512         * lib/unistr/u8-strncpy.c: New file.
72513         * lib/unistr/u16-strncpy.c: New file.
72514         * lib/unistr/u32-strncpy.c: New file.
72515         * lib/unistr/u-strncpy.h: New file.
72516
72517         * modules/unistr/u8-strnlen: New file.
72518         * modules/unistr/u16-strnlen: New file.
72519         * modules/unistr/u32-strnlen: New file.
72520         * lib/unistr/u8-strnlen.c: New file.
72521         * lib/unistr/u16-strnlen.c: New file.
72522         * lib/unistr/u32-strnlen.c: New file.
72523         * lib/unistr/u-strnlen.h: New file.
72524
72525         * modules/unistr/u8-strpbrk: New file.
72526         * modules/unistr/u16-strpbrk: New file.
72527         * modules/unistr/u32-strpbrk: New file.
72528         * lib/unistr/u8-strpbrk.c: New file.
72529         * lib/unistr/u16-strpbrk.c: New file.
72530         * lib/unistr/u32-strpbrk.c: New file.
72531         * lib/unistr/u-strpbrk.h: New file.
72532
72533         * modules/unistr/u8-strrchr: New file.
72534         * modules/unistr/u16-strrchr: New file.
72535         * modules/unistr/u32-strrchr: New file.
72536         * lib/unistr/u8-strrchr.c: New file.
72537         * lib/unistr/u16-strrchr.c: New file.
72538         * lib/unistr/u32-strrchr.c: New file.
72539
72540         * modules/unistr/u8-strspn: New file.
72541         * modules/unistr/u16-strspn: New file.
72542         * modules/unistr/u32-strspn: New file.
72543         * lib/unistr/u8-strspn.c: New file.
72544         * lib/unistr/u16-strspn.c: New file.
72545         * lib/unistr/u32-strspn.c: New file.
72546         * lib/unistr/u-strspn.h: New file.
72547
72548         * modules/unistr/u8-strstr: New file.
72549         * modules/unistr/u16-strstr: New file.
72550         * modules/unistr/u32-strstr: New file.
72551         * lib/unistr/u8-strstr.c: New file.
72552         * lib/unistr/u16-strstr.c: New file.
72553         * lib/unistr/u32-strstr.c: New file.
72554         * lib/unistr/u-strstr.h: New file.
72555
72556         * modules/unistr/u8-strtok: New file.
72557         * modules/unistr/u16-strtok: New file.
72558         * modules/unistr/u32-strtok: New file.
72559         * lib/unistr/u8-strtok.c: New file.
72560         * lib/unistr/u16-strtok.c: New file.
72561         * lib/unistr/u32-strtok.c: New file.
72562         * lib/unistr/u-strtok.h: New file.
72563
72564         * modules/unistr/u8-uctomb: New file.
72565         * modules/unistr/u16-uctomb: New file.
72566         * modules/unistr/u32-uctomb: New file.
72567         * lib/unistr/u8-uctomb.c: New file.
72568         * lib/unistr/u16-uctomb.c: New file.
72569         * lib/unistr/u32-uctomb.c: New file.
72570
72571         * MODULES.html.sh (Unicode string functions): Add the new modules.
72572
72573 2007-01-08  Bruno Haible  <bruno@clisp.org>
72574
72575         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
72576         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
72577         subdirectories.
72578
72579 2007-01-08  Karl Berry  <karl@gnu.org>
72580
72581         * doc/error.texi: mention that main() fns must set program_name
72582         when progname is used.
72583
72584 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
72585
72586         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
72587         WCTYPE_H is empty, for the benefit of builds from non-distclean
72588         directories.  Problem reported by Eric Blake in
72589         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
72590
72591 2007-01-08  Bruno Haible  <bruno@clisp.org>
72592
72593         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
72594         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
72595         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
72596         PROVIDE_CANONICALIZE_FILENAME_MODE.
72597         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
72598
72599 2007-01-08  Bruno Haible  <bruno@clisp.org>
72600
72601         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
72602         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
72603         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
72604         * lib/fts.c: Likewise.
72605         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
72606
72607 2006-12-25  Bruno Haible  <bruno@clisp.org>
72608
72609         * modules/utf8-ucs4-safe: New file.
72610         * lib/utf8-ucs4-safe.h: New file.
72611         * lib/unistr/utf8-ucs4-safe.c: New file.
72612
72613         * modules/utf16-ucs4-safe: New file.
72614         * lib/utf16-ucs4-safe.h: New file.
72615         * lib/unistr/utf16-ucs4-safe.c: New file.
72616
72617         * MODULES.html.sh (Unicode string functions): Add the new modules.
72618
72619 2007-01-08  Bruno Haible  <bruno@clisp.org>
72620
72621         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
72622         (Depends-on): Add unitypes.
72623         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72624         (u8_mbtouc_aux): Move out to separate file.
72625         (u8_mbtouc): Use ucs4_t, uint8_t types.
72626         * lib/unistr/utf8-ucs4.c: New file.
72627
72628         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
72629         (Depends-on): Add unitypes.
72630         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72631         (u16_mbtouc_aux): Move out to separate file.
72632         (u16_mbtouc): Use ucs4_t, uint16_t types.
72633         * lib/unistr/utf16-ucs4.c: New file.
72634
72635         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
72636         (Depends-on): Add unitypes.
72637         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
72638         (u8_uctomb_aux): Move out to separate file.
72639         (u8_uctomb): Use ucs4_t, uint8_t types.
72640         * lib/unistr/ucs4-utf8.c: New file.
72641
72642         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
72643         (Depends-on): Add unitypes.
72644         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
72645         (u16_uctomb_aux): Move out to separate file.
72646         (u16_uctomb): Use ucs4_t, uint16_t types.
72647         * lib/unistr/ucs4-utf16.c: New file.
72648
72649 2006-12-25  Bruno Haible  <bruno@clisp.org>
72650
72651         * modules/unitypes: New file.
72652         * lib/unitypes.h: New file.
72653         * MODULES.html.sh (func_all_modules): New section "Unicode string
72654         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
72655         this section. Add unitypes.
72656
72657 2007-01-08  Bruno Haible  <bruno@clisp.org>
72658
72659         Avoid variable names that conflict with those from libtool.
72660         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
72661         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
72662         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
72663         library_names_spec to acl_library_names_spec, hardcode_* to
72664         acl_hardcode_*.
72665         Reported by Ralf Wildenhues.
72666
72667 2007-01-08  Bruno Haible  <bruno@clisp.org>
72668
72669         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
72670         definition.
72671         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
72672         definition.
72673         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
72674         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
72675         definition.
72676         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
72677         definition.
72678         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
72679         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
72680         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
72681         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
72682         definition.
72683         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
72684         definition.
72685         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
72686         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
72687         GC_USE_<algorithm>.
72688         * lib/gc-libgcrypt.c: Likewise.
72689         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
72690         * modules/gc-arctwo (configure.ac): Likewise.
72691         * modules/gc-des (configure.ac): Likewise.
72692         * modules/gc-hmac-md5 (configure.ac): Likewise.
72693         * modules/gc-hmac-sha1 (configure.ac): Likewise.
72694         * modules/gc-md2 (configure.ac): Likewise.
72695         * modules/gc-md4 (configure.ac): Likewise.
72696         * modules/gc-md5 (configure.ac): Likewise.
72697         * modules/gc-random (configure.ac): Likewise.
72698         * modules/gc-rijndael (configure.ac): Likewise.
72699         * modules/gc-sha1 (configure.ac): Likewise.
72700
72701 2007-01-08  Bruno Haible  <bruno@clisp.org>
72702
72703         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
72704         macro definition.
72705         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
72706         definition.
72707         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
72708         definition.
72709         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
72710         * modules/fcntl-safer (configure.ac): Likewise.
72711         * modules/fopen-safer (configure.ac): Likewise.
72712         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
72713         GNULIB_FWRITEERROR macro definition.
72714
72715 2007-01-08  Bruno Haible  <bruno@clisp.org>
72716
72717         * m4/gnulib-common.m4: New file.
72718         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
72719         (func_get_filelist): Add m4/gnulib-common.m4.
72720
72721 2007-01-08  Bruno Haible  <bruno@clisp.org>
72722
72723         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
72724         command.
72725
72726 2007-01-08  Jim Meyering  <jim@meyering.net>
72727
72728         Use a more robust test for a "can't happen" condition.
72729         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
72730         narrowed the st_size value.  Presuming the "can't happen" condition
72731         is true, that narrowing could conceivably convert an invalid st_size
72732         value into a valid one.  Instead, use a change based on Matthew
72733         Woehlke's original patch.
72734
72735         Slight readability improvement: use an assert-like macro
72736         in place of literal "abort ()" uses.
72737         * lib/fts.c (fts_assert): Define.
72738         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
72739         Use this macro instead of a bare 'abort'.
72740
72741 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
72742
72743         Don't worry about using IRIX 5.3's wctype.h broken definitions;
72744         simply work around them.
72745         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
72746         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
72747         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
72748         declaring.
72749         Don't bother to define as macros, since the standard doesn't require it.
72750         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
72751         longer worry about IRIX 5.3.
72752         (HAVE_WCTYPE_CTMP_BUG): Remove.
72753
72754 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72755
72756         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
72757         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
72758         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
72759         Problems reported by Georg Schwarz for IRIX 5.3.
72760
72761         * gnulib-tool (autoconf_minversion): Take the maximum version number
72762         found, not the minimum.  Problem reported by James Youngman.
72763
72764 2007-01-03  Karl Berry  <karl@gnu.org>
72765
72766         * doc/error.texi: new file, explaining interaction with progname.
72767         * doc/gnulib.texi: include it.  Update copyright.
72768
72769 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72770
72771         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72772         AC_CANONICAL_HOST, to improve autobuild outputs.
72773
72774 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72775             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72776
72777         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72778         sockets, server sockets, and other file descriptors.  Count errors
72779         to compute the return value.  Reorder the code a bit to be easier
72780         to follow.  Don't set event bits that were not requested (except
72781         POLLERR and POLLHUP).
72782
72783 2007-01-01  Bruno Haible  <bruno@clisp.org>
72784
72785         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72786
72787 2007-01-03  Jim Meyering  <jim@meyering.net>
72788
72789         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72790
72791 2007-01-02  Bruno Haible  <bruno@clisp.org>
72792
72793         * modules/settime (Include): Require timespec.h.
72794         * modules/nanosleep (Include): Likewise.
72795
72796 2007-01-01  Bruno Haible  <bruno@clisp.org>
72797
72798         * gnulib-tool (func_emit_copyright_notice): Bump year.
72799         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72800
72801 2007-01-01  Bruno Haible  <bruno@clisp.org>
72802
72803         Improve support for OpenBSD.
72804         * build-aux/config.rpath (libname_spec): Export.
72805         (library_names_spec): New variable. Export.
72806         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72807         library_names_spec from the config.rpath output. Locate shared library
72808         through the name pattern in library_names_spec.
72809
72810 2007-01-01  Eric Blake  <ebb9@byu.net>
72811
72812         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72813
72814 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72815
72816         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72817         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72818         assume the C locale, and avoid an "eval" that could cause trouble.
72819         Problem with SORT reported by Bob Proulx.
72820
72821         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72822         Define.  Trivial patch from Henning Nielsen Lund, originally
72823         sent to bug-grep@gnu.org today.
72824
72825 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72826
72827         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72828         struct stat.  Problem reported by Henning Nielsen Lund.
72829         * lib/acl.c: Include acl.h first, to check interface.  Don't
72830         bother to include sys/types.h and sys/stat.h again.
72831
72832 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72833
72834         Import the following change from libc; problem reported by
72835         Sven Verdoolaege.
72836
72837         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72838
72839         [BZ #1373]
72840         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72841
72842 2006-12-28  Jim Meyering  <jim@meyering.net>
72843
72844         * build-aux/announce-gen: Do not assume that the package
72845         builds any of tar.gz, tar.bz2, and .xdelta files.
72846         Suggestion from Simon Josefsson.
72847
72848 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72849
72850         * modules/announce-gen: New file.
72851
72852 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72853
72854         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72855         handles its gotchas now.
72856         * lib/mbswidth.c: Likewise.
72857         * lib/wcwidth.h: Likewise.
72858         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72859         and iswcntrl; the wctype module does this stuff now.
72860         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72861         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72862         * modules/mbchar (Depends-on): Add wctype.
72863         * modules/mbswidth (Depends-on): Likewise.
72864         * modules/wcwidth (Depends-on): Likewise.
72865
72866 2006-12-27  Eric Blake  <ebb9@byu.net>
72867
72868         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72869         module uses more than what <wctype.h> is required to provide.
72870
72871 2006-12-26  Eric Blake  <ebb9@byu.net>
72872
72873         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72874
72875 2006-12-26  Eric Blake  <ebb9@byu.net>
72876
72877         * modules/absolute-header: New module.
72878         * modules/fcntl (Depends-on): Depend on it.
72879         * modules/inttypes (Depends-on): Likewise.
72880         * modules/stdint (Depends-on): Likewise.
72881         * modules/sys_stat (Depends-on): Likewise.
72882         * modules/wctype (Depends-on): Likewise.
72883         * MODULES.html.sh (Support for building libraries and
72884         executables): Document it.
72885
72886 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72887
72888         * gnulib-tool (SED): Remove, undoing previous change.
72889         The problem was that it broke coreutils on Solaris, because
72890         "sed --posix" leaked into a makefile.
72891         (sed): New alias, if 'alias' and GNU sed.
72892
72893 2006-12-24  Jim Meyering  <jim@meyering.net>
72894
72895         Work around an fchownat bug in glibc-2.4:
72896         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72897         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72898         in spite of the -P option.
72899         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72900         New macros.
72901         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72902         * modules/openat (Files): Add lib/fchownat.c.
72903         * lib/openat.c (fchownat): Don't define here.  Move to...
72904         * lib/fchownat.c: ...this new file.
72905
72906 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72907
72908         Fix bug reported by Bruno Haible in
72909         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72910         where quotearg.c didn't compile on Mac OS X 10.2 because it
72911         lacks <wchar.h> and wint_t.
72912         * lib/wctype_.h (__wctype_wint_t): New type.
72913         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72914         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72915         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72916         Arg is now of type __wctype_wint_t, not wint_t.
72917         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72918         substitute HAVE_WINT_T.
72919         * modules/wctype (Files): Add m4/wint_t.m4.
72920         (wctype.h): Substitute HAVE_WINT_T.
72921
72922 2006-12-23  Bruno Haible  <bruno@clisp.org>
72923
72924         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72925
72926 2006-12-23  Bruno Haible  <bruno@clisp.org>
72927
72928         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72929         S_ISLNK.
72930         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72931         mingw.
72932
72933 2006-12-22  Bruno Haible  <bruno@clisp.org>
72934
72935         * lib/copy-file.c: Include acl.h.
72936         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72937         Close the file descriptors only after being done with copy_acl.
72938         * modules/copy-file (Depends-on): Add acl.
72939
72940 2006-12-22  Bruno Haible  <bruno@clisp.org>
72941
72942         * gnulib-tool (SED): New variable.
72943         Use $SED instead of sed everywhere.
72944
72945 2006-12-22  Bruno Haible  <bruno@clisp.org>
72946
72947         * modules/no-c++: New file.
72948         * m4/no-c++.m4: New file.
72949         * MODULES.html.sh (Support for building libraries and executables):
72950         Add no-c++.
72951
72952 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
72953
72954         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72955         Include <limits.h>, and use its INT_MAX to rewrite the
72956         j loop so that it does not overflow 'int'.  Problem reported by
72957         Ralf Wildenhues in
72958         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
72959         Play it safe by shifting left by 1 rather than multiplying by 2,
72960         as GCC is less likely to optimize this away when the value
72961         is signed (when it assumes overflow leads to undefined behavior).
72962         Also, don't assume time_t uses two's complement.
72963
72964 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
72965
72966         * MODULES.html.sh: New module wctype.
72967         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
72968         * lib/fnmatch.c: Don't bother to include <wchar.h> before
72969         <wctype.h>, since the new wctype module should fix this.
72970         * lib/quotearg.c: Include <wctype.h> unconditionally, since
72971         the wctype module should arrange for it.
72972         * lib/regex_internal.h: Likewise.
72973         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
72974         since the wctype module should handle this now.
72975         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
72976         * modules/fnmatch (Depends-on): Add wctype.
72977         * modules/quotearg (Depends-on): Likewise.
72978         * modules/regex (Depends-on): Likewise.
72979
72980 2006-12-19  Bruno Haible  <bruno@clisp.org>
72981
72982         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72983         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72984
72985 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72986
72987         * modules/savewd (Depends-on): Fix dependency on fcntl.
72988
72989 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72990
72991         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72992         conforms to C99, rather than relying on the user's environment
72993         setting of STDINT_H.
72994
72995 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72996         and Eric Blake  <ebb9@byu.net>
72997
72998         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72999         This is more consistent with the other defines here.
73000         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
73001         Port to z/OS.  Problem reported by Paul Gilmartin.
73002         Change local vars to use gl_ prefix rather than ac_.
73003         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
73004         with other defines.
73005         * modules/double-slash-root: New module.
73006         * modules/dirname (Files): Remove m4/double-slash-root.m4.
73007         (Depends-on): Add double-slash-root.
73008         * MODULES.html.sh (File system functions): Mention new module.
73009
73010 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
73011
73012         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
73013         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
73014         This is for the benefit of gzip, which doesn't do i18n.
73015
73016 2006-12-12  Jim Meyering  <jim@meyering.net>
73017
73018         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
73019         Reported by Andreas Schwab <schwab@suse.de>.
73020
73021 2006-12-12  Bruno Haible  <bruno@clisp.org>
73022
73023         Merge these changes.
73024         2006-09-05  Bruno Haible  <bruno@clisp.org>
73025         * lib/iconvme.c (iconv_string): No need to save and restore errno when
73026         iconv_alloc succeeded.
73027         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
73028         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
73029         test for " && dest " at the end - dest is always != NULL there. Call
73030         iconv with 4xNULL arguments initially, to reset the state. Call iconv
73031         with 2xNULL arguments, also to flush the state storage. Handle the
73032         IRIX iconv behaviour. Realloc the final result, to throw away unused
73033         memory.
73034
73035 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
73036
73037         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
73038         and fchmodat unconditionally, since glibc 2.4 has them.
73039         Problem reported by Arkadiusz Miskiewicz.
73040
73041 2006-12-10  Bruno Haible  <bruno@clisp.org>
73042
73043         * gnulib-tool (func_import): Show the include files only for those
73044         modules that are copied and specified.
73045         Reported by Karl Berry.
73046
73047 2006-12-08  Jim Meyering  <jim@meyering.net>
73048
73049         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
73050         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
73051
73052         * build-aux/announce-gen: Add two new options, both optional:
73053         --bootstrap-tools=TOOL_LIST
73054               a comma-separated list of tools, e.g.,
73055               autoconf,automake,bison,gnulib
73056         --gnulib-snapshot-date=DATE
73057               if gnulib is in the bootstrap tool list,
73058               then report this as the snapshot date.
73059               If not specified, use the current date/time.
73060               If you specify a date here, be sure it's UTC.
73061
73062 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73063
73064         * tests/test-argp-2.sh: Fix test to match actual output.
73065         (func_compare): Fix sed script to be portable.
73066
73067 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
73068
73069         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
73070         workaround for this case.  It is not autoconfigured now; offhand
73071         it's hard to see how to autoconfigure it.
73072
73073 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73074
73075         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
73076         a directory that is about to be chowned.  Such a directory's
73077         initial file permissions should permit the owner only and this
73078         should not be changed until after the chown, since the group and
73079         other bits would be incorrect if they granted permission before
73080         the chown.
73081
73082         Fix porting problem for iswctype reported by Georg Schwarz in:
73083         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
73084         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
73085         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
73086         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
73087         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73088
73089 2006-12-03  Jim Meyering  <jim@meyering.net>
73090
73091         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
73092         p->fts_statp may not yet be defined.
73093         (fts_read): Instead, set it in the caller, once p->fts_statp is
73094         sure to be defined, and corresponds to a top-level directory.
73095         This bug made du -x fail.  Here's the coreutils test case:
73096         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
73097         Reported by Mike Frysinger.
73098
73099 2006-12-01  Jim Meyering  <jim@meyering.net>
73100
73101         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
73102         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
73103         Reported by Simon Josefsson.
73104
73105 2006-11-30  Jim Meyering  <jim@meyering.net>
73106
73107         * m4/warning.m4: Use the all-permissive copyright notice
73108         recommended by RMS (rather than LGPL).
73109         * m4/vararrays.m4: Likewise.
73110         * m4/flexmember.m4: Likewise.
73111
73112 2006-11-29  Bruno Haible  <bruno@clisp.org>
73113
73114         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73115         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
73116         using +=.
73117         Reported by Simon Josefsson <simon@josefsson.org>.
73118
73119 2006-11-28  James Youngman <jay@gnu.org>
73120
73121         * README: Advise users that they might find the bug-gnulib@gnu.org
73122         and autotools-announce@gnu.org mailing lists useful.
73123
73124 2006-11-28  Bruno Haible  <bruno@clisp.org>
73125
73126         * m4/ptrdiff_max.m4: Remove file.
73127
73128 2006-11-21  Bruno Haible  <bruno@clisp.org>
73129
73130         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
73131         _AC_COMPUTE_INT.
73132         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73133         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
73134         _AC_COMPUTE_INT.
73135         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73136         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
73137         _AC_COMPUTE_INT.
73138         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73139
73140 2006-11-28  Jim Meyering  <jim@meyering.net>
73141
73142         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
73143         warning from "gcc -Wshadow" about shadowing the builtin.
73144
73145 2006-11-27  Bruno Haible  <bruno@clisp.org>
73146
73147         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
73148         _AC_COMPUTE_INT.
73149         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73150
73151 2006-11-27  Bruno Haible  <bruno@clisp.org>
73152             Paul Eggert  <eggert@cs.ucla.edu>
73153
73154         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
73155
73156 2006-11-26  Bruno Haible  <bruno@clisp.org>
73157
73158         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73159         noinst_LTLIBRARIES.
73160
73161 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73162             Bruno Haible  <bruno@clisp.org>
73163
73164         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
73165         if compiling with "gcc -ansi".
73166
73167 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73168
73169         Fix some incompatibilities with gcc -ansi -pedantic.
73170         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
73171         if compiling pedantically with GCC, unless it's C99 or later.
73172         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
73173         it mishandles gcc -ansi -pedantic as well.
73174         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
73175         if gcc -pedantic.
73176         * lib/regexec.c (check_node_accept_bytes): Don't use auto
73177         initializers for struct if -pedantic, unless it's C99 or later.
73178
73179 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
73180
73181         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
73182         Don't close an fd more than once. Identical atimes indicate
73183         success, not failure.
73184
73185 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
73186
73187         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
73188
73189 2006-11-23  Jim Meyering  <jim@meyering.net>
73190
73191         * build-aux/announce-gen: New file.  From coreutils.
73192
73193 2006-11-22  Jim Meyering  <jim@meyering.net>
73194
73195         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
73196         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
73197         (fts_read): Use a temporary to narrow the overused st_size member
73198         before using it in a switch statement.  Reported by Matthew Woehlke.
73199
73200         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
73201         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
73202
73203 2006-11-20  Bruno Haible  <bruno@clisp.org>
73204
73205         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
73206         changequote instead of pairs of brackets.
73207         Reported by Andreas Schwab <schwab@suse.de>.
73208
73209 2006-11-21  Jim Meyering  <jim@meyering.net>
73210
73211         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
73212         so as to remain compatible with older compilers.
73213         Patch from Michael Deutschmann.
73214
73215 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73216
73217         * MODULES.html.sh (File system functions): Add openat.
73218
73219         * lib/openat.h (rpl_fstatat): New macro, if
73220         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
73221         (fstatat): Define to rpl_fstatat under the same conditions,
73222         unless COMPILING_FSTATAT.
73223         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
73224         seems to have the bug.
73225         * lib/fstatat.c: New file.
73226         * modules/openat (Files): Add it.
73227
73228 2006-11-20  Bruno Haible  <bruno@clisp.org>
73229
73230         * Makefile: New file.
73231
73232 2006-11-20  Jim Meyering  <jim@meyering.net>
73233
73234         The beginnings of syntax-related checks for gnulib.
73235         * lib/Makefile: New file.
73236         * lib/t-idcache: New script.  Ensure that the two halves of
73237         idcache.c stay in sync.
73238
73239         * lib/idcache.c: Adjust comments in user- and group- portions to
73240         be more accurate, and to be consistent with one another.
73241
73242 2006-11-20  Jim Meyering  <jim@meyering.net>
73243
73244         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
73245         continue using the flexible array member (thus, this module performs
73246         half as many malloc calls), with the addition that...
73247         (getgroup, getuser): Consistently record a non-match via an empty
73248         "name" string, and map an empty string match to a NULL return value.
73249         * modules/idcache (Depends-on): Re-add flexmember.
73250
73251         * lib/idcache.c (getuser): Remove all uses of the register keyword.
73252         (getuidbyname, getgroup, getgidbyname): Likewise.
73253
73254         Use cleaner syntax: NULL rather than 0.
73255         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
73256
73257 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73258
73259         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
73260         It mishandled the case where the group was missing.
73261         Problem reported by Greg Schafer.
73262         * modules/idcache: Likewise.
73263
73264 2006-11-18  Jim Meyering  <jim@meyering.net>
73265
73266         * check-module (%exempt_header): Add exception for some
73267         conditionally-included headers.
73268
73269         * modules/i-ring (Depends-on): Add verify.
73270         (License): Change to LGPL.
73271
73272 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73273
73274         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
73275         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
73276         and inttostr.h.  Use snprintf rather than uinttostr, so that
73277         LGPLed code doesn't depend on GPLed.
73278
73279 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73280
73281         * modules/inline (License): Change from GPL to LGPL.
73282
73283 2006-11-17  Jim Meyering  <jim@meyering.net>
73284
73285         * modules/d-type (License): Switch to LGPL.
73286
73287 2006-11-15  Bruno Haible  <bruno@clisp.org>
73288
73289         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
73290
73291 2006-11-15  Eric Blake  <ebb9@byu.net>
73292
73293         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
73294         the module dependency.
73295
73296 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73297             Bruno Haible  <bruno@clisp.org>
73298
73299         * gnulib-tool (func_create_testdir): Add license consistency check.
73300
73301 2006-11-15  Eric Blake  <ebb9@byu.net>
73302
73303         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
73304         random "(cached)" in configure output.
73305
73306 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73307
73308         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
73309         test for conforming inttypes.h is both announced and cached.
73310
73311         * MODULES.html.sh (seen_modules, seen_files): New variables.
73312         (func_module): Rewrite to use a few less gnulib-tool and sed
73313         invocations.  Avoid a couple of quadratic algorithms for ...
73314         (missed_modules, missed_files): ... these, with ...
73315         (func_append, func_tmpdir): ... these new functions, from
73316         gnulib-tool.  Analogously, install traps for cleanup.
73317
73318         * tests/test-gc.c (main): Remove unused variables.
73319         * tests/test-read-file.c: Include stdlib.h, for 'free'.
73320
73321 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
73322
73323         * modules/inttostr (License): Change to LGPL.
73324
73325 2006-11-14  Eric Blake  <ebb9@byu.net>
73326
73327         * modules/tempname (License): Change to LGPL.
73328
73329 2006-11-14  Eric Blake  <ebb9@byu.net>
73330
73331         * doc/functions.texi (Function Portability): *printf functions on
73332         Cygwin now understand all POSIX size specifiers.
73333
73334 2006-11-14  Bruno Haible  <bruno@clisp.org>
73335
73336         * modules/c-ctype (License): Change to LGPL.
73337
73338 2006-11-12  Bruno Haible  <bruno@clisp.org>
73339
73340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
73341         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
73342         for GNOME libraries, for which the include files are installed in
73343         subdirectories of $prefix/include.
73344
73345 2006-11-12  Bruno Haible  <bruno@clisp.org>
73346
73347         * m4/lib-link.m4: Require at least autoconf-2.54.
73348         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73349         name to underscores for the --with option.
73350
73351 2006-11-13  Bruno Haible  <bruno@clisp.org>
73352
73353         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73354         the tests directory.
73355         Reported by Ralf Wildenhues.
73356
73357 2006-11-13  Bruno Haible  <bruno@clisp.org>
73358
73359         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73360         (func_emit_initmacro_end): Undo the override here.
73361         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73362         Works around the famous automake error in coreutils.
73363
73364 2006-11-13  Eric Blake  <ebb9@byu.net>
73365
73366         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73367         element, not its node.
73368
73369 2006-11-12  Bruno Haible  <bruno@clisp.org>
73370
73371         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73372         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73373
73374 2006-11-12  Bruno Haible  <bruno@clisp.org>
73375
73376         * gnulib-tool: New option --local-symlink.
73377         (func_usage): Document it.
73378         (lsymbolic): New variable.
73379         (func_import, func_create_testdir): If --symlink was not specified,
73380         test whether --local-symlink was specified and the file comes from
73381         the local_gnulib_dir.
73382
73383 2006-11-12  Bruno Haible  <bruno@clisp.org>
73384
73385         * gnulib-tool (func_ln): New function.
73386         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73387
73388 2006-11-12  Bruno Haible  <bruno@clisp.org>
73389
73390         Finish support for source files in subdirectories.
73391         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73392         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73393         AUTOMAKE_OPTIONS.
73394         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73395
73396 2006-11-12  Bruno Haible  <bruno@clisp.org>
73397
73398         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73399         EXTRA_lib_SOURCES augmentation.
73400         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73401
73402 2006-11-12  Jim Meyering  <jim@meyering.net>
73403
73404         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
73405         file descriptors.  This also averts a failure on systems with
73406         native openat support when a traversed directory lacks "x" access.
73407         * lib/fts_.h: Include "i-ring.h"
73408         (struct FTS) [fts_fd_ring]: New member.
73409         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
73410         (FCHDIR): Add parentheses.
73411         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
73412         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
73413         When descending, rather than simply closing the previous
73414         fts_cwd_fd value, push that file descriptor onto the ring.
73415         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
73416         (fts_open): Initialize the new fd_ring member.
73417         (fts_close): Clear the ring.
73418         (fts_safe_changedir): When possible, use our new fd_ring to skip
73419         the diropen and fstat and dev/ino comparison that would normally
73420         accompany a virtual `chdir ("..")'.
73421
73422         * modules/fts (Depends-on): Add i-ring.
73423         * modules/i-ring: New module.
73424         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
73425         * m4/i-ring.m4: New file.
73426
73427 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73428
73429         * gnulib-tool (func_create_testdir): Fix replacement of
73430         `build-aux' in configure.ac.  Run autotools in gltests
73431         subdirectory.
73432         (func_create_testdir, func_create_megatestdir, test): There is
73433         no need for '--force' in most autotool invocations in a new
73434         tree.  Actually fail the whole test if any of the tools, or the
73435         configure or make stages fail.
73436
73437         Sync from Automake.
73438         * build-aux/gnupload: Revert last change.  Add pointer to upload
73439         instructions of the GNU Maintenance Instructions.
73440         Suggestion by Karl Berry.
73441
73442 2006-11-10  Jim Meyering  <jim@meyering.net>
73443
73444         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
73445
73446 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73447
73448         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
73449         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
73450         (bind_textdomain_codeset) [! ENABLE_NLS]:
73451         Evaluate all the arguments.  That way, callers get compatible behavior
73452         if the arguments have side effects.  Also, it avoids some GCC
73453         diagnostics in some cases; Joel E. Denny reported problems when Bison
73454         was configured with --enable-gcc-warnigs.
73455
73456 2006-11-10  Jim Meyering  <jim@meyering.net>
73457
73458         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
73459         relevant options in CFLAGS (like -O, -fno-inline) are taken into
73460         account.
73461
73462 2006-11-10  Jim Meyering  <jim@meyering.net>
73463
73464         * modules/inline: New file/module.
73465         * modules/xalloc (Files): Remove m4/inline.m4.
73466         (Depends-on): Add inline, instead.
73467         * modules/oset: Likewise.
73468         * modules/list: Likewise.
73469
73470 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73471
73472         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
73473         Problem reported by Matthew Woehlke.
73474
73475 2006-11-09  Bruno Haible  <bruno@clisp.org>
73476
73477         * lib/tempname.c (gen_tempname): Remove variant that invokes
73478         __gen_tempname.
73479         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
73480         __gen_tempname.
73481
73482 2006-11-08  Bruno Haible  <bruno@clisp.org>
73483
73484         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
73485         to 'yes' instead of 'cross-compiling'.
73486
73487 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73488
73489         * lib/quotearg.h (quotearg_free): New decl.
73490         * lib/quotearg.c (quotearg_free): New function.
73491         (slot0, nslots, slotvec0, slotvec):
73492         Now file-scope so that quotearg_free can get at them.
73493
73494 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73495
73496         Sync from Automake.
73497         * build-aux/gnupload: Add missing 'gnu' to example URL.
73498         Report by Karl Berry.
73499
73500 2006-11-08  Bruno Haible  <bruno@clisp.org>
73501
73502         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
73503         Suggested by Paul Eggert.
73504
73505 2006-11-08  Jim Meyering  <jim@meyering.net>
73506
73507         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
73508         It's already included if !_LIBC.
73509         (fts_safe_changedir): Add a comment.
73510
73511 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73512
73513         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
73514         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
73515         Matthew Woehlke.
73516
73517         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
73518         definitions up, to avoid colliding with change below.
73519         (static_inline) [HAVE_INLINE]: New macro.
73520         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
73521         Provide extern decls when !HAVE_INLINE.  Do not define unless
73522         static_inline is defined, either by us or by xmalloc.c.  Use
73523         static_inline rather than static inline.
73524         (XCALLOC): Optimize sizeof(T) = 1 case.
73525         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
73526
73527 2006-11-07  Bruno Haible  <bruno@clisp.org>
73528
73529         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
73530         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
73531         AC_C_INLINE.
73532         * modules/xalloc (Files): Add m4/inline.m4.
73533
73534 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73535
73536         * README: Fix typo.
73537         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
73538         (Miscellanous Notes): ...from this.
73539
73540 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73541
73542         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
73543         Mention that offsetof should be used instead of sizeof.
73544         From Bruno Haible.
73545
73546 2006-11-07  Bruno Haible  <bruno@clisp.org>
73547
73548         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
73549
73550 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73551
73552         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73553         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
73554         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73555         (gl_tree_add_before, gl_tree_add_after):
73556         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
73557         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
73558         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
73559         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
73560         (gl_linked_add_after, gl_linked_add_at): Likewise.
73561         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
73562         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73563         (gl_tree_add_before, gl_tree_add_after): Likewise.
73564         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
73565         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
73566         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
73567
73568 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73569
73570         * lib/gl_oset.h: Use C comment style, not C++ comment style.
73571
73572 2006-11-06  Bruno Haible  <bruno@clisp.org>
73573
73574         * m4/inline.m4: New file.
73575         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
73576         * modules/list (Files): Add m4/inline.m4.
73577         * modules/oset (Files): Likewise.
73578
73579 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73580
73581         * lib/idcache.c: Include <stddef.h>, for offsetof.
73582         (struct userid.name): Change from char * to a flexible array member.
73583         All uses changed.
73584         * modules/idcache (Depends-on): Add flexmember.
73585
73586         * MODULES.html.sh (Core language properties): New module flexmember.
73587         * modules/flexmember, m4/flexmember.m4: New files.
73588
73589         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
73590         inline functions that are identical with the old xnmalloc_inline,
73591         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
73592         that we can avoid some unnecessary integer multiplications and
73593         divisions in the common case where the element size is known at
73594         compile time.
73595         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
73596         needed.
73597         (xnboundedmalloc): Remove.
73598         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
73599         arguments, for consistency with rest of this header.
73600         (xcharalloc): Rewrite using XNMALLOC.
73601         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
73602         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
73603         versions have been moved to lib/xalloc.h and renamed to be the
73604         non-*_inline versions.
73605         (xmalloc, xrealloc): Implement without reference to the xnmalloc
73606         and xnrealloc functions, since those functions are now inline and
73607         now call us.
73608         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
73609         renaming described above.
73610         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
73611         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
73612         captures the dependency in AC_C_INLINE.
73613
73614         New module canonicalize-lgpl, proposed by Charles Wilson in
73615         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
73616         with a few small changes afterwards.
73617         * MODULES.html.sh (File system functions): New module
73618         canonicalize-lgpl.
73619         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
73620         and canonicalize_file_name.
73621         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
73622         * modules/canonicalize-lgpl: New files.
73623
73624 2006-11-05  Bruno Haible  <bruno@clisp.org>
73625
73626         * gnulib-tool (func_import, func_create_testdir): Create directories
73627         also for files in subdirectories of lib/.
73628
73629 2006-11-05  Bruno Haible  <bruno@clisp.org>
73630
73631         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
73632         ANSI C compliant.
73633
73634 2006-11-03  Bruno Haible  <bruno@clisp.org>
73635
73636         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73637         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
73638         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
73639         (xnboundedmalloc): New inline function.
73640         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
73641         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
73642         xmalloc.
73643         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
73644         xmalloc.
73645         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
73646         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
73647         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
73648         xmalloc.
73649         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73650         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
73651         xmalloc.
73652         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
73653         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73654         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
73655         xmalloc.
73656         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73657         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
73658         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73659         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
73660         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
73661         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
73662         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
73663
73664 2006-11-03  Bruno Haible  <bruno@clisp.org>
73665
73666         * lib/c-ctype.h [C++]: Define functions without name mangling.
73667         * lib/fwriteerror.h [C++]: Likewise.
73668         * lib/gcd.h [C++]: Likewise.
73669         * lib/linebreak.h [C++]: Likewise.
73670
73671 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73672
73673         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
73674         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
73675         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
73676         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73677         Check for functions and headers just once.
73678         Check for declaration of canonicalize_file_name.
73679         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
73680
73681 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73682
73683         * gnulib-tool (func_import): Fix typo in actioncmd.
73684
73685 2006-11-02  Bruno Haible  <bruno@clisp.org>
73686
73687         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
73688         newline sequence in the Makefile.am snippet as a space, like "make"
73689         does.
73690         Reported by Roger Persson <perrog@gmail.com>.
73691
73692 2006-11-01  Bruno Haible  <bruno@clisp.org>
73693
73694         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
73695         already declared in <string.h>.
73696         * lib/strcase.h (strncasecmp): Don't declare it if yes.
73697
73698 2006-11-01  Bruno Haible  <bruno@clisp.org>
73699
73700         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
73701         * lib/strcase.h: Include <string.h>.
73702         (strcasecmp): Define to rpl_strcasecmp here.
73703
73704 2006-11-01  Bruno Haible  <bruno@clisp.org>
73705
73706         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
73707
73708 2006-11-01  Eric Blake  <ebb9@byu.net>
73709
73710         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
73711
73712         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
73713
73714 2006-10-29  Bruno Haible  <bruno@clisp.org>
73715
73716         Make it compile in C++ mode.
73717         * lib/full-write.c (full_rw): Add a cast.
73718
73719 2006-11-01  Bruno Haible  <bruno@clisp.org>
73720
73721         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
73722         be POSIX compliant.
73723         Reported by Roger Persson <perrog@gmail.com>.
73724
73725 2006-11-01  Eric Blake  <ebb9@byu.net>
73726
73727         * lib/getopt_.h: Fix comments.
73728
73729 2006-10-31  Eric Blake  <ebb9@byu.net>
73730
73731         * modules/tmpdir (Depends-on): Add sys_stat.
73732         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
73733         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
73734         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
73735         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
73736         tempname.
73737
73738 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
73739
73740         Avoid some C++ diagnostics reported by Bruno Haible.
73741         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
73742         xmalloc.
73743         (quotearg_alloc): Use xcharalloc rather than xmalloc.
73744         (struct slotvec): Move to top level.
73745         (quotearg_n_options): Rewrite to avoid xmalloc.
73746         * lib/xalloc.h (xcharalloc): New function.
73747         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
73748         [defined __cplusplus]: Add function template that provides result
73749         type propagation.  This part of the change is from Bruno Haible.
73750
73751 2006-10-29  Bruno Haible  <bruno@clisp.org>
73752
73753         Make it compile in C++ mode.
73754         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
73755         * lib/strnlen1.c (strnlen1): Cast memchr result.
73756         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
73757         * lib/clean-temp.c (string_equals, string_hash): Add casts.
73758         (create_temp_dir): Rename local variable 'template'.
73759         (compile_csharp_using_sscli): Add cast.
73760         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
73761         * lib/findprog.c (find_in_path): Likewise.
73762         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
73763         * lib/wait-process.c (register_slave_subprocess): Likewise.
73764
73765 2006-10-22  Bruno Haible  <bruno@clisp.org>
73766
73767         * modules/tsearch: New file.
73768         * lib/tsearch.h: New file.
73769         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73770         * m4/tsearch.m4: New file.
73771         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73772
73773 2006-10-29  Eric Blake  <ebb9@byu.net>
73774
73775         * lib/arcfour.c: Assume config.h.
73776         * lib/arctwo.c: Likewise.
73777         * lib/base64.c: Likewise.
73778         * lib/check-version.c: Likewise.
73779         * lib/crc.c: Likewise.
73780         * lib/des.c: Likewise.
73781         * lib/gc-gnulib.c: Likewise.
73782         * lib/gc-libgcrypt.c: Likewise.
73783         * lib/gc-pbkdf2-sha1.c: Likewise.
73784         * lib/getaddrinfo.c: Likewise.
73785         * lib/getdelim.c: Likewise.
73786         * lib/getline.c: Likewise.
73787         * lib/hmac-md5.c: Likewise.
73788         * lib/hmac-sha1.c: Likewise.
73789         * lib/iconvme.c: Likewise.
73790         * lib/md2.c: Likewise.
73791         * lib/md4.c: Likewise.
73792         * lib/memxor.c: Likewise.
73793         * lib/read-file.c: Likewise.
73794         * lib/readline.c: Likewise.
73795         * lib/rijndael-alg-fst.c: Likewise.
73796         * lib/rijndael-api-fst.c: Likewise.
73797         * lib/xgetdomainname.c: Likewise.
73798
73799 2006-10-28  Eric Blake  <ebb9@byu.net>
73800
73801         * lib/xstrndup.c: Assume config.h.
73802
73803 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73804
73805         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73806         stat-macros.h is now for our own macros, whereas stat_h is for
73807         macros in the <sys/stat.h> name space.
73808         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73809         (STAT_MACROS_H): Remove.
73810         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73811         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73812         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73813         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73814         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73815         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73816         Move these macros to ...
73817         * lib/stat_.h: here.  Don't include stat-macros.h.
73818         * lib/canonicalize.c: Don't include stat-macros.h.
73819         * lib/chown.c: Likewise.
73820         * lib/euidaccess.c: Likewise.
73821         * lib/file-type.c: Likewise.
73822         * lib/filemode.c: Likewise.
73823         * lib/glob.c: Likewise.
73824         * lib/isapipe.c: Likewise.
73825         * lib/lchown.c: Likewise.
73826         * lib/lstat.c: Likewise.
73827         * lib/mkdir-p.c: Likewise.
73828         * lib/rmdir.c: Likewise.
73829         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73830         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73831         unless mkdir isn't declared, to speed up 'configure'.
73832         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73833         would define all the S_* symbols.
73834         * modules/canonicalize (Depends-on):
73835         Depend on sys_stat, not stat-macros.
73836         * modules/chown: Likewise.
73837         * modules/euidaccess: Likewise.
73838         * modules/filemode: Likewise.
73839         * modules/file-type: Likewise.
73840         * modules/glob: Likewise.
73841         * modules/isapipe: Likewise.
73842         * modules/lchown: Likewise.
73843         * modules/lstat: Likewise.
73844         * modules/mkancesdirs: Likewise.
73845         * modules/rmdir: Likewise.
73846         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73847         * modules/modechange: Likewise.
73848         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73849         (configure.ac): Remove gl_STAT_MACROS.
73850         * modules/sys_stat (Depends-on): Remove stat-macros.
73851
73852 2006-10-27  Bruno Haible  <bruno@clisp.org>
73853
73854         * m4/signed.m4: Remove file.
73855         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73856         invocation.
73857         * modules/vasnprintf (Files): Remove m4/signed.m4.
73858
73859 2006-10-27  Bruno Haible  <bruno@clisp.org>
73860
73861         Update to GNU gettext 0.16.
73862         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73863         m4/inttypes-h.m4, m4/signed.m4.
73864         * m4/gettext.m4: Update to GNU gettext 0.16.
73865         * m4/intl.m4: New file, from GNU gettext.
73866         * m4/intldir.m4: New file, from GNU gettext.
73867         * config/srclist.txt: Update
73868
73869 2006-10-27  Eric Blake  <ebb9@byu.net>
73870
73871         * MODULES.html.sh: Document tempname.
73872         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73873         dependencies.
73874         (Files): Move lib/tempname.c...
73875         * modules/tempname: ...to this new module.
73876         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73877         (gl_PREREQ_TEMPNAME): Move...
73878         * m4/tempname.m4: ...to this new file.
73879         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73880         * modules/sys_stat (Depends-on): Add stat-macros.
73881         * lib/stat_.h (includes): Pick up stat macros.
73882         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73883         if stat macros are broken.
73884         * lib/tempname.c (includes): No need to include "stat-macros.h".
73885         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73886         (direxists, __path_search) [!_LIBC]: Don't compile these in
73887         gnulib; the tmpdir module covers that.
73888         * lib/tempname.h: New file.
73889
73890 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73891
73892         * COPYING: Explain how gnulib-tool converts licence headers.
73893         Almost all wording by Eric Blake.
73894
73895 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73896
73897         * lib/mbchar.h (is_basic_table): Make read-only.
73898         * lib/mbchar.c (is_basic_table): Likewise.
73899         Reported by John Darrington.
73900
73901 2006-10-25  Bruno Haible  <bruno@clisp.org>
73902
73903         * lib/progname.h (set_program_name): Undefine before defining.
73904
73905 2006-10-25  Bruno Haible  <bruno@clisp.org>
73906
73907         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73908         false for non-gcc C++ compilers.
73909         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73910
73911 2006-10-24  Bruno Haible  <bruno@clisp.org>
73912
73913         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73914         iconv implementations like Irix iconv.
73915
73916 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73917
73918         * modules/vararrays: New file.
73919         * m4/vararrays.m4: New file, taken from diffutils.
73920         * MODULES.html.sh: New module vararrays.
73921
73922 2006-10-24  Karl Berry  <karl@gnu.org>
73923
73924         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73925         Don't call GNU Unix.
73926
73927 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73928
73929         * users.txt: Add Libtool.
73930
73931         Sync from Libtool:
73932
73933         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73934
73935         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73936         to gnulib's policy of including config.h unconditionally.
73937
73938 2006-10-24  Bruno Haible  <bruno@clisp.org>
73939
73940         * modules/wcwidth (Files): Add m4/wint_t.m4.
73941         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
73942         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
73943
73944 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73945
73946         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
73947         to pacify GCC with some -W flags enabled.  Problem reported by
73948         Bruno Haible.
73949
73950 2006-10-24  Jim Meyering  <jim@meyering.net>
73951
73952         * MODULES.html.sh: Remove uinttostr.  It's not a module.
73953         Reported by Karl Berry.
73954
73955 2006-10-23  Bruno Haible  <bruno@clisp.org>
73956
73957         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
73958
73959 2006-10-24  Bruno Haible  <bruno@clisp.org>
73960
73961         * lib/gl_list.h: Use C comment style, not C++ comment style.
73962
73963 2006-10-23  Eric Blake  <ebb9@byu.net>
73964
73965         * lib/getaddrinfo.c (includes): Add missing include.
73966
73967 2006-10-23  Bruno Haible  <bruno@clisp.org>
73968             Paul Eggert  <eggert@cs.ucla.edu>
73969
73970         Ability to rename obstack_free.
73971         * lib/obstack.h (__obstack_free): New macro. Declare instead of
73972         obstack_free.
73973         (obstack_free): Invoke the __obstack_free macro.
73974         * lib/obstack.c (obstack_free): Use __obstack_free macro.
73975
73976 2006-10-23  Bruno Haible  <bruno@clisp.org>
73977             Paul Eggert  <eggert@cs.ucla.edu>
73978
73979         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73980         __argc, __argv from the declaration. (They are defined as macros on
73981         mingw.)
73982
73983 2006-10-22  Bruno Haible  <bruno@clisp.org>
73984
73985         * doc/gnulib-intro.texi: New file.
73986         * doc/gnulib.texi: Include it.
73987
73988 2006-10-21  Bruno Haible  <bruno@clisp.org>
73989
73990         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73991         "Introduction", "Miscellanous Notes", "Particular Modules".
73992
73993 2006-10-21  Bruno Haible  <bruno@clisp.org>
73994
73995         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73996         Change mostlyclean-local rule to avoid sh syntax error from bash
73997         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73998
73999 2006-10-23  Jim Meyering  <jim@meyering.net>
74000
74001         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
74002         in place of snprintf.
74003
74004         * modules/inttostr (Files): Add lib/uinttostr.c.
74005         * lib/uinttostr.c (inttostr): New file/function.
74006         * lib/inttostr.h (uinttostr): Declare.
74007         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
74008         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74009         Add uinttostr.
74010         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
74011
74012 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74013
74014         * lib/canonicalize.c (ELOOP): Define if not already defined.
74015         Problem reported by Bruno Haible in
74016         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
74017
74018 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74019
74020         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
74021         Problem reported by Perry Smith and Ville Laurikari.
74022
74023         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
74024         uses.
74025
74026 2006-10-19  Bruno Haible  <bruno@clisp.org>
74027
74028         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
74029         for mingw.
74030
74031 2006-10-19  Bruno Haible  <bruno@clisp.org>
74032
74033         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
74034         Needed for mingw.
74035
74036 2006-10-19  Bruno Haible  <bruno@clisp.org>
74037
74038         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
74039
74040 2006-10-19  Bruno Haible  <bruno@clisp.org>
74041
74042         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
74043         it.
74044
74045 2006-10-19  Bruno Haible  <bruno@clisp.org>
74046
74047         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
74048         invocation.
74049
74050 2006-10-19  Bruno Haible  <bruno@clisp.org>
74051
74052         * gnulib-tool (func_create_testdir): Don't include ftruncate and
74053         mountlist by default.
74054
74055 2006-10-16  Bruno Haible  <bruno@clisp.org>
74056
74057         * lib/c-strstr.c: Include c-strstr.h.
74058
74059 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74060
74061         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
74062         in a slash.
74063
74064 2006-10-18  Bruno Haible  <bruno@clisp.org>
74065
74066         * lib/lock.h [C++]: Wrap definitions in extern "C".
74067
74068 2006-10-18  Bruno Haible  <bruno@clisp.org>
74069
74070         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
74071         gl_LIBOBJS list.
74072
74073 2006-10-18  Bruno Haible  <bruno@clisp.org>
74074
74075         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
74076
74077 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
74078
74079         * lib/xstrtol.h: Include gettext.h.
74080         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
74081         Problem reported by Eric Blake.
74082         * modules/xstrtol (Depends-on): Add gettext-h.
74083
74084 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
74085
74086         * lib/strftime.c (advance): New macro.
74087         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
74088         incomplete type, so you can't add 0 to it.  Problem and patch
74089         reported by Eelco Dolstra for dietlibc.
74090
74091 2006-10-18  Jim Meyering  <jim@meyering.net>
74092
74093         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
74094         type for a local, and rename it: s/up/user_proc/.
74095
74096 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
74097
74098         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
74099         READ_UTMP_USER_PROCESS.
74100         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
74101
74102 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74103
74104         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
74105         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
74106
74107 2006-10-17  Eric Blake  <ebb9@byu.net>
74108
74109         * lib/sigprocmask.c (sigprocmask): Fix typo.
74110
74111         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
74112
74113         * modules/clean-temp (Makefile.am): Don't add to make output...
74114         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
74115         config.h.
74116
74117 2006-10-17  Bruno Haible  <bruno@clisp.org>
74118
74119         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
74120         differently if DEFAULT_TEXT_DOMAIN is set.
74121
74122 2006-10-16  Bruno Haible  <bruno@clisp.org>
74123
74124         * lib/clean-temp.c: Include fwriteerror.h.
74125
74126 2006-10-16  Bruno Haible  <bruno@clisp.org>
74127
74128         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
74129
74130 2006-10-16  Bruno Haible  <bruno@clisp.org>
74131
74132         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
74133         * lib/sigprocmask.h: Include <sys/types.h>.
74134         (sigset_t): Use the system's definition if present.
74135
74136 2006-10-17  Eric Blake  <ebb9@byu.net>
74137
74138         * lib/xvasprintf.c (includes): Assume config.h.
74139         * lib/xasprintf.c (includes): Likewise.
74140
74141 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74142
74143         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
74144         at least as wide as intmax_t.
74145
74146 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
74147
74148         (Imported from Automake.)
74149         * build-aux/gnupload: Update to version 1.1 of directive file.
74150
74151 2006-10-16  Eric Blake  <ebb9@byu.net>
74152
74153         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
74154         match Automake 1.10a.
74155
74156 2006-10-14  Bruno Haible  <bruno@clisp.org>
74157
74158         * modules/sigprocmask: New file.
74159         * lib/sigprocmask.h: New file.
74160         * lib/sigprocmask.c: New file.
74161         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
74162         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
74163         request sigprocmask.o.
74164         (gl_PREREQ_SIGPROCMASK): New macro.
74165         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
74166         (Depends-on): Add sigprocmask.
74167         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
74168         gt_SIGNALBLOCKING. Test for 'raise' only once.
74169         * lib/fatal-signal.c: Include sigprocmask.h.
74170         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
74171         unblock_fatal_signals): Define always.
74172         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74173         sigprocmask.
74174
74175 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74176
74177         Sync from Automake.
74178         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
74179         which incorrectly sets the mode of an existing destination
74180         directory.  In some cases the unpatched install-sh could do the
74181         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
74182         system.  We hope this is rare in practice, but it's clearly worth
74183         fixing.  Problem reported by Alex Unleashed in
74184         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
74185         Also, don't bother to check for -m bugs unless we're using -m;
74186         suggested by Stepan Kasal.
74187
74188 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74189
74190         Sync from Automake.
74191         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
74192         `-c' flag, so they appear at the same position as in %FASTDEP%
74193         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
74194         which ignores unknown options only after the first non-option.
74195         Bug report against M4 by Nelson H. F. Beebe.
74196
74197 2006-10-13  Jim Meyering  <jim@meyering.net>
74198
74199         Fix a bug in yesterday's change.
74200         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
74201         p->fts_statp->st_dev would be used uninitialized.
74202         Ensures that we always call fts_stat on the very first entry.
74203         Miklos Szeredi reported that find -xdev stopped working.
74204
74205 2006-10-12  Bruno Haible  <bruno@clisp.org>
74206
74207         * gnulib-tool (func_get_automake_snippet): Append an automatically
74208         computed EXTRA_DIST augmentation.
74209         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
74210         * modules/alloca-opt (Makefile.am): Likewise.
74211         * modules/allocsa (Makefile.am): Likewise.
74212         * modules/arcfour (Makefile.am): Likewise.
74213         * modules/arctwo (Makefile.am): Likewise.
74214         * modules/argmatch (Makefile.am): Likewise.
74215         * modules/argz (Makefile.am): Likewise.
74216         * modules/atexit (Makefile.am): Likewise.
74217         * modules/backupfile (Makefile.am): Likewise.
74218         * modules/byteswap (Makefile.am): Likewise.
74219         * modules/c-strtod (Makefile.am): Likewise.
74220         * modules/c-strtold (Makefile.am): Likewise.
74221         * modules/calloc (Makefile.am): Likewise.
74222         * modules/canon-host (Makefile.am): Likewise.
74223         * modules/canonicalize (Makefile.am): Likewise.
74224         * modules/chdir-long (Makefile.am): Likewise.
74225         * modules/chdir-safer (Makefile.am): Likewise.
74226         * modules/check-version (Makefile.am): Likewise.
74227         * modules/chown (Makefile.am): Likewise.
74228         * modules/cloexec (Makefile.am): Likewise.
74229         * modules/close-stream (Makefile.am): Likewise.
74230         * modules/closeout (Makefile.am): Likewise.
74231         * modules/crc (Makefile.am): Likewise.
74232         * modules/csharpexec (Makefile.am): Likewise.
74233         * modules/cycle-check (Makefile.am): Likewise.
74234         * modules/des (Makefile.am): Likewise.
74235         * modules/dev-ino (Makefile.am): Likewise.
74236         * modules/dirfd (Makefile.am): Likewise.
74237         * modules/dirname (Makefile.am): Likewise.
74238         * modules/dup2 (Makefile.am): Likewise.
74239         * modules/eealloc (Makefile.am): Likewise.
74240         * modules/error (Makefile.am): Likewise.
74241         * modules/euidaccess (Makefile.am): Likewise.
74242         * modules/exclude (Makefile.am): Likewise.
74243         * modules/exitfail (Makefile.am): Likewise.
74244         * modules/fcntl-safer (Makefile.am): Likewise.
74245         * modules/fcntl (Makefile.am): Likewise.
74246         * modules/file-type (Makefile.am): Likewise.
74247         * modules/fileblocks (Makefile.am): Likewise.
74248         * modules/filemode (Makefile.am): Likewise.
74249         * modules/filenamecat (Makefile.am): Likewise.
74250         * modules/fnmatch (Makefile.am): Likewise.
74251         * modules/fopen-safer (Makefile.am): Likewise.
74252         * modules/fpending (Makefile.am): Likewise.
74253         * modules/fprintftime (Makefile.am): Likewise.
74254         * modules/free (Makefile.am): Likewise.
74255         * modules/fsusage (Makefile.am): Likewise.
74256         * modules/ftruncate (Makefile.am): Likewise.
74257         * modules/fts (Makefile.am): Likewise.
74258         * modules/gc-arcfour (Makefile.am): Likewise.
74259         * modules/gc-des (Makefile.am): Likewise.
74260         * modules/gc-hmac-md5 (Makefile.am): Likewise.
74261         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
74262         * modules/gc-md4 (Makefile.am): Likewise.
74263         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74264         * modules/gc-sha1 (Makefile.am): Likewise.
74265         * modules/gc (Makefile.am): Likewise.
74266         * modules/getaddrinfo (Makefile.am): Likewise.
74267         * modules/getcwd (Makefile.am): Likewise.
74268         * modules/getdelim (Makefile.am): Likewise.
74269         * modules/getdomainname (Makefile.am): Likewise.
74270         * modules/getgroups (Makefile.am): Likewise.
74271         * modules/gethostname (Makefile.am): Likewise.
74272         * modules/gethrxtime (Makefile.am): Likewise.
74273         * modules/getline (Makefile.am): Likewise.
74274         * modules/getloadavg (Makefile.am): Likewise.
74275         * modules/getlogin_r (Makefile.am): Likewise.
74276         * modules/getndelim2 (Makefile.am): Likewise.
74277         * modules/getopt (Makefile.am): Likewise.
74278         * modules/getpagesize (Makefile.am): Likewise.
74279         * modules/getpass-gnu (Makefile.am): Likewise.
74280         * modules/getpass (Makefile.am): Likewise.
74281         * modules/getsubopt (Makefile.am): Likewise.
74282         * modules/gettime (Makefile.am): Likewise.
74283         * modules/gettimeofday (Makefile.am): Likewise.
74284         * modules/getugroups (Makefile.am): Likewise.
74285         * modules/getusershell (Makefile.am): Likewise.
74286         * modules/glob (Makefile.am): Likewise.
74287         * modules/group-member (Makefile.am): Likewise.
74288         * modules/hard-locale (Makefile.am): Likewise.
74289         * modules/hash (Makefile.am): Likewise.
74290         * modules/hmac-md5 (Makefile.am): Likewise.
74291         * modules/hmac-sha1 (Makefile.am): Likewise.
74292         * modules/human (Makefile.am): Likewise.
74293         * modules/idcache (Makefile.am): Likewise.
74294         * modules/imaxabs (Makefile.am): Likewise.
74295         * modules/imaxdiv (Makefile.am): Likewise.
74296         * modules/inet_ntop (Makefile.am): Likewise.
74297         * modules/inet_pton (Makefile.am): Likewise.
74298         * modules/intprops (Makefile.am): Likewise.
74299         * modules/inttostr (Makefile.am): Likewise.
74300         * modules/inttypes (Makefile.am): Likewise.
74301         * modules/isapipe (Makefile.am): Likewise.
74302         * modules/javaversion (Makefile.am): Likewise.
74303         * modules/lchmod (Makefile.am): Likewise.
74304         * modules/lchown (Makefile.am): Likewise.
74305         * modules/localcharset (Makefile.am): Likewise.
74306         * modules/long-options (Makefile.am): Likewise.
74307         * modules/lstat (Makefile.am): Likewise.
74308         * modules/malloc (Makefile.am): Likewise.
74309         * modules/mathl (Makefile.am): Likewise.
74310         * modules/mbchar (Makefile.am): Likewise.
74311         * modules/md2 (Makefile.am): Likewise.
74312         * modules/md4 (Makefile.am): Likewise.
74313         * modules/md5 (Makefile.am): Likewise.
74314         * modules/memcasecmp (Makefile.am): Likewise.
74315         * modules/memchr (Makefile.am): Likewise.
74316         * modules/memcmp (Makefile.am): Likewise.
74317         * modules/memcoll (Makefile.am): Likewise.
74318         * modules/memcpy (Makefile.am): Likewise.
74319         * modules/memmem (Makefile.am): Likewise.
74320         * modules/memmove (Makefile.am): Likewise.
74321         * modules/mempcpy (Makefile.am): Likewise.
74322         * modules/memrchr (Makefile.am): Likewise.
74323         * modules/memset (Makefile.am): Likewise.
74324         * modules/memxor (Makefile.am): Likewise.
74325         * modules/mkancesdirs (Makefile.am): Likewise.
74326         * modules/mkdir-p (Makefile.am): Likewise.
74327         * modules/mkdir (Makefile.am): Likewise.
74328         * modules/mkdtemp (Makefile.am): Likewise.
74329         * modules/mkstemp (Makefile.am): Likewise.
74330         * modules/mktime (Makefile.am): Likewise.
74331         * modules/modechange (Makefile.am): Likewise.
74332         * modules/mountlist (Makefile.am): Likewise.
74333         * modules/nanosleep (Makefile.am): Likewise.
74334         * modules/obstack (Makefile.am): Likewise.
74335         * modules/openat (Makefile.am): Likewise.
74336         * modules/pagealign_alloc (Makefile.am): Likewise.
74337         * modules/pathmax (Makefile.am): Likewise.
74338         * modules/physmem (Makefile.am): Likewise.
74339         * modules/poll (Makefile.am): Likewise.
74340         * modules/posixtm (Makefile.am): Likewise.
74341         * modules/posixver (Makefile.am): Likewise.
74342         * modules/putenv (Makefile.am): Likewise.
74343         * modules/quote (Makefile.am): Likewise.
74344         * modules/quotearg (Makefile.am): Likewise.
74345         * modules/raise (Makefile.am): Likewise.
74346         * modules/read-file (Makefile.am): Likewise.
74347         * modules/readline (Makefile.am): Likewise.
74348         * modules/readlink (Makefile.am): Likewise.
74349         * modules/readtokens (Makefile.am): Likewise.
74350         * modules/readutmp (Makefile.am): Likewise.
74351         * modules/realloc (Makefile.am): Likewise.
74352         * modules/regex (Makefile.am): Likewise.
74353         * modules/rename-dest-slash (Makefile.am): Likewise.
74354         * modules/rename (Makefile.am): Likewise.
74355         * modules/rijndael (Makefile.am): Likewise.
74356         * modules/rmdir (Makefile.am): Likewise.
74357         * modules/rpmatch (Makefile.am): Likewise.
74358         * modules/safe-read (Makefile.am): Likewise.
74359         * modules/safe-write (Makefile.am): Likewise.
74360         * modules/same-inode (Makefile.am): Likewise.
74361         * modules/same (Makefile.am): Likewise.
74362         * modules/save-cwd (Makefile.am): Likewise.
74363         * modules/savedir (Makefile.am): Likewise.
74364         * modules/setenv (Makefile.am): Likewise.
74365         * modules/settime (Makefile.am): Likewise.
74366         * modules/sha1 (Makefile.am): Likewise.
74367         * modules/sig2str (Makefile.am): Likewise.
74368         * modules/snprintf (Makefile.am): Likewise.
74369         * modules/stat-macros (Makefile.am): Likewise.
74370         * modules/stat-time (Makefile.am): Likewise.
74371         * modules/stdbool (Makefile.am): Likewise.
74372         * modules/stdint (Makefile.am): Likewise.
74373         * modules/stdlib-safer (Makefile.am): Likewise.
74374         * modules/stpcpy (Makefile.am): Likewise.
74375         * modules/stpncpy (Makefile.am): Likewise.
74376         * modules/strcase (Makefile.am): Likewise.
74377         * modules/strcasestr (Makefile.am): Likewise.
74378         * modules/strchrnul (Makefile.am): Likewise.
74379         * modules/strcspn (Makefile.am): Likewise.
74380         * modules/strdup (Makefile.am): Likewise.
74381         * modules/strerror (Makefile.am): Likewise.
74382         * modules/strftime (Makefile.am): Likewise.
74383         * modules/strndup (Makefile.am): Likewise.
74384         * modules/strnlen (Makefile.am): Likewise.
74385         * modules/strpbrk (Makefile.am): Likewise.
74386         * modules/strsep (Makefile.am): Likewise.
74387         * modules/strstr (Makefile.am): Likewise.
74388         * modules/strtod (Makefile.am): Likewise.
74389         * modules/strtoimax (Makefile.am): Likewise.
74390         * modules/strtok_r (Makefile.am): Likewise.
74391         * modules/strtol (Makefile.am): Likewise.
74392         * modules/strtoll (Makefile.am): Likewise.
74393         * modules/strtoul (Makefile.am): Likewise.
74394         * modules/strtoull (Makefile.am): Likewise.
74395         * modules/strtoumax (Makefile.am): Likewise.
74396         * modules/strverscmp (Makefile.am): Likewise.
74397         * modules/sys_socket (Makefile.am): Likewise.
74398         * modules/sys_stat (Makefile.am): Likewise.
74399         * modules/sysexits (Makefile.am): Likewise.
74400         * modules/time_r (Makefile.am): Likewise.
74401         * modules/timegm (Makefile.am): Likewise.
74402         * modules/timespec (Makefile.am): Likewise.
74403         * modules/tmpfile-safer (Makefile.am): Likewise.
74404         * modules/trim (Makefile.am): Likewise.
74405         * modules/unistd-safer (Makefile.am): Likewise.
74406         * modules/unlinkdir (Makefile.am): Likewise.
74407         * modules/unlocked-io (Makefile.am): Likewise.
74408         * modules/userspec (Makefile.am): Likewise.
74409         * modules/utime (Makefile.am): Likewise.
74410         * modules/utimecmp (Makefile.am): Likewise.
74411         * modules/utimens (Makefile.am): Likewise.
74412         * modules/vasnprintf (Makefile.am): Likewise.
74413         * modules/vasprintf (Makefile.am): Likewise.
74414         * modules/vsnprintf (Makefile.am): Likewise.
74415         * modules/xalloc (Makefile.am): Likewise.
74416         * modules/xgetcwd (Makefile.am): Likewise.
74417         * modules/xnanosleep (Makefile.am): Likewise.
74418         * modules/xreadlink (Makefile.am): Likewise.
74419         * modules/xstrtod (Makefile.am): Likewise.
74420         * modules/xstrtol (Makefile.am): Likewise.
74421         * modules/xstrtold (Makefile.am): Likewise.
74422         * modules/yesno (Makefile.am): Likewise.
74423         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
74424
74425 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74426
74427         * modules/error (Makefile.am): Distribute files through
74428         EXTRA_DIST, not lib_SOURCES.
74429
74430 2006-10-12  Eric Blake  <ebb9@byu.net>
74431
74432         * modules/error (Makefile.am): Distribute files in /lib.
74433         * modules/obstack (Makefile.am): Likewise.
74434
74435 2006-10-12  Bruno Haible  <bruno@clisp.org>
74436
74437         * modules/acl (Makefile.am): Distribute all files in lib/ through
74438         EXTRA_DIST.
74439         * modules/arcfour (Makefile.am): Likewise.
74440         * modules/arctwo (Makefile.am): Likewise.
74441         * modules/argmatch (Makefile.am): Likewise.
74442         * modules/argz (Makefile.am): Likewise.
74443         * modules/atexit (Makefile.am): Likewise.
74444         * modules/backupfile (Makefile.am): Likewise.
74445         * modules/c-strtod (Makefile.am): Likewise.
74446         * modules/c-strtold (Makefile.am): Likewise.
74447         * modules/calloc (Makefile.am): Likewise.
74448         * modules/canon-host (Makefile.am): Likewise.
74449         * modules/canonicalize (Makefile.am): Likewise.
74450         * modules/chdir-long (Makefile.am): Likewise.
74451         * modules/chdir-safer (Makefile.am): Likewise.
74452         * modules/check-version (Makefile.am): Likewise.
74453         * modules/chown (Makefile.am): Likewise.
74454         * modules/cloexec (Makefile.am): Likewise.
74455         * modules/close-stream (Makefile.am): Likewise.
74456         * modules/closeout (Makefile.am): Likewise.
74457         * modules/crc (Makefile.am): Likewise.
74458         * modules/cycle-check (Makefile.am): Likewise.
74459         * modules/des (Makefile.am): Likewise.
74460         * modules/dirfd (Makefile.am): Likewise.
74461         * modules/dirname (Makefile.am): Likewise.
74462         * modules/dup2 (Makefile.am): Likewise.
74463         * modules/euidaccess (Makefile.am): Likewise.
74464         * modules/exclude (Makefile.am): Likewise.
74465         * modules/exitfail (Makefile.am): Likewise.
74466         * modules/fcntl-safer (Makefile.am): Likewise.
74467         * modules/file-type (Makefile.am): Likewise.
74468         * modules/fileblocks (Makefile.am): Likewise.
74469         * modules/filemode (Makefile.am): Likewise.
74470         * modules/filenamecat (Makefile.am): Likewise.
74471         * modules/fnmatch (Makefile.am): Likewise.
74472         * modules/fopen-safer (Makefile.am): Likewise.
74473         * modules/fpending (Makefile.am): Likewise.
74474         * modules/fprintftime (Makefile.am): Likewise.
74475         * modules/free (Makefile.am): Likewise.
74476         * modules/fsusage (Makefile.am): Likewise.
74477         * modules/ftruncate (Makefile.am): Likewise.
74478         * modules/fts (Makefile.am): Likewise.
74479         * modules/gc (Makefile.am): Likewise.
74480         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74481         * modules/getaddrinfo (Makefile.am): Likewise.
74482         * modules/getcwd (Makefile.am): Likewise.
74483         * modules/getdelim (Makefile.am): Likewise.
74484         * modules/getdomainname (Makefile.am): Likewise.
74485         * modules/getgroups (Makefile.am): Likewise.
74486         * modules/gethostname (Makefile.am): Likewise.
74487         * modules/gethrxtime (Makefile.am): Likewise.
74488         * modules/getline (Makefile.am): Likewise.
74489         * modules/getloadavg (Makefile.am): Likewise.
74490         * modules/getlogin_r (Makefile.am): Likewise.
74491         * modules/getopt (Makefile.am): Likewise.
74492         * modules/getpass (Makefile.am): Likewise.
74493         * modules/getpass-gnu (Makefile.am): Likewise.
74494         * modules/getsubopt (Makefile.am): Likewise.
74495         * modules/gettime (Makefile.am): Likewise.
74496         * modules/gettimeofday (Makefile.am): Likewise.
74497         * modules/getugroups (Makefile.am): Likewise.
74498         * modules/getusershell (Makefile.am): Likewise.
74499         * modules/glob (Makefile.am): Likewise.
74500         * modules/group-member (Makefile.am): Likewise.
74501         * modules/hard-locale (Makefile.am): Likewise.
74502         * modules/hash (Makefile.am): Likewise.
74503         * modules/hmac-md5 (Makefile.am): Likewise.
74504         * modules/hmac-sha1 (Makefile.am): Likewise.
74505         * modules/human (Makefile.am): Likewise.
74506         * modules/idcache (Makefile.am): Likewise.
74507         * modules/imaxabs (Makefile.am): Likewise.
74508         * modules/imaxdiv (Makefile.am): Likewise.
74509         * modules/inet_ntop (Makefile.am): Likewise.
74510         * modules/inet_pton (Makefile.am): Likewise.
74511         * modules/inttostr (Makefile.am): Likewise.
74512         * modules/isapipe (Makefile.am): Likewise.
74513         * modules/lchown (Makefile.am): Likewise.
74514         * modules/long-options (Makefile.am): Likewise.
74515         * modules/lstat (Makefile.am): Likewise.
74516         * modules/malloc (Makefile.am): Likewise.
74517         * modules/mathl (Makefile.am): Likewise.
74518         * modules/mbchar (Makefile.am): Likewise.
74519         * modules/md2 (Makefile.am): Likewise.
74520         * modules/md4 (Makefile.am): Likewise.
74521         * modules/md5 (Makefile.am): Likewise.
74522         * modules/memcasecmp (Makefile.am): Likewise.
74523         * modules/memchr (Makefile.am): Likewise.
74524         * modules/memcmp (Makefile.am): Likewise.
74525         * modules/memcoll (Makefile.am): Likewise.
74526         * modules/memcpy (Makefile.am): Likewise.
74527         * modules/memmem (Makefile.am): Likewise.
74528         * modules/memmove (Makefile.am): Likewise.
74529         * modules/mempcpy (Makefile.am): Likewise.
74530         * modules/memrchr (Makefile.am): Likewise.
74531         * modules/memset (Makefile.am): Likewise.
74532         * modules/memxor (Makefile.am): Likewise.
74533         * modules/mkancesdirs (Makefile.am): Likewise.
74534         * modules/mkdir (Makefile.am): Likewise.
74535         * modules/mkdir-p (Makefile.am): Likewise.
74536         * modules/mkdtemp (Makefile.am): Likewise.
74537         * modules/mkstemp (Makefile.am): Likewise.
74538         * modules/mktime (Makefile.am): Likewise.
74539         * modules/modechange (Makefile.am): Likewise.
74540         * modules/mountlist (Makefile.am): Likewise.
74541         * modules/nanosleep (Makefile.am): Likewise.
74542         * modules/openat (Makefile.am): Likewise.
74543         * modules/pagealign_alloc (Makefile.am): Likewise.
74544         * modules/physmem (Makefile.am): Likewise.
74545         * modules/poll (Makefile.am): Likewise.
74546         * modules/posixtm (Makefile.am): Likewise.
74547         * modules/posixver (Makefile.am): Likewise.
74548         * modules/putenv (Makefile.am): Likewise.
74549         * modules/quote (Makefile.am): Likewise.
74550         * modules/quotearg (Makefile.am): Likewise.
74551         * modules/raise (Makefile.am): Likewise.
74552         * modules/read-file (Makefile.am): Likewise.
74553         * modules/readline (Makefile.am): Likewise.
74554         * modules/readlink (Makefile.am): Likewise.
74555         * modules/readtokens (Makefile.am): Likewise.
74556         * modules/readutmp (Makefile.am): Likewise.
74557         * modules/realloc (Makefile.am): Likewise.
74558         * modules/regex (Makefile.am): Likewise.
74559         * modules/rename (Makefile.am): Likewise.
74560         * modules/rename-dest-slash (Makefile.am): Likewise.
74561         * modules/rijndael (Makefile.am): Likewise.
74562         * modules/rmdir (Makefile.am): Likewise.
74563         * modules/rpmatch (Makefile.am): Likewise.
74564         * modules/safe-read (Makefile.am): Likewise.
74565         * modules/safe-write (Makefile.am): Likewise.
74566         * modules/same (Makefile.am): Likewise.
74567         * modules/save-cwd (Makefile.am): Likewise.
74568         * modules/savedir (Makefile.am): Likewise.
74569         * modules/setenv (Makefile.am): Likewise.
74570         * modules/settime (Makefile.am): Likewise.
74571         * modules/sha1 (Makefile.am): Likewise.
74572         * modules/sig2str (Makefile.am): Likewise.
74573         * modules/snprintf (Makefile.am): Likewise.
74574         * modules/stdlib-safer (Makefile.am): Likewise.
74575         * modules/stpcpy (Makefile.am): Likewise.
74576         * modules/stpncpy (Makefile.am): Likewise.
74577         * modules/strcase (Makefile.am): Likewise.
74578         * modules/strcasestr (Makefile.am): Likewise.
74579         * modules/strchrnul (Makefile.am): Likewise.
74580         * modules/strcspn (Makefile.am): Likewise.
74581         * modules/strdup (Makefile.am): Likewise.
74582         * modules/strerror (Makefile.am): Likewise.
74583         * modules/strftime (Makefile.am): Likewise.
74584         * modules/strndup (Makefile.am): Likewise.
74585         * modules/strnlen (Makefile.am): Likewise.
74586         * modules/strpbrk (Makefile.am): Likewise.
74587         * modules/strsep (Makefile.am): Likewise.
74588         * modules/strstr (Makefile.am): Likewise.
74589         * modules/strtod (Makefile.am): Likewise.
74590         * modules/strtoimax (Makefile.am): Likewise.
74591         * modules/strtok_r (Makefile.am): Likewise.
74592         * modules/strtol (Makefile.am): Likewise.
74593         * modules/strtoll (Makefile.am): Likewise.
74594         * modules/strtoul (Makefile.am): Likewise.
74595         * modules/strtoull (Makefile.am): Likewise.
74596         * modules/strtoumax (Makefile.am): Likewise.
74597         * modules/strverscmp (Makefile.am): Likewise.
74598         * modules/time_r (Makefile.am): Likewise.
74599         * modules/timegm (Makefile.am): Likewise.
74600         * modules/tmpfile-safer (Makefile.am): Likewise.
74601         * modules/unistd-safer (Makefile.am): Likewise.
74602         * modules/unlinkdir (Makefile.am): Likewise.
74603         * modules/userspec (Makefile.am): Likewise.
74604         * modules/utime (Makefile.am): Likewise.
74605         * modules/utimecmp (Makefile.am): Likewise.
74606         * modules/utimens (Makefile.am): Likewise.
74607         * modules/vasnprintf (Makefile.am): Likewise.
74608         * modules/vasprintf (Makefile.am): Likewise.
74609         * modules/vsnprintf (Makefile.am): Likewise.
74610         * modules/xalloc (Makefile.am): Likewise.
74611         * modules/xgetcwd (Makefile.am): Likewise.
74612         * modules/xnanosleep (Makefile.am): Likewise.
74613         * modules/xreadlink (Makefile.am): Likewise.
74614         * modules/xstrtod (Makefile.am): Likewise.
74615         * modules/xstrtol (Makefile.am): Likewise.
74616         * modules/xstrtold (Makefile.am): Likewise.
74617         * modules/yesno (Makefile.am): Likewise.
74618
74619 2006-10-12  Jim Meyering  <jim@meyering.net>
74620
74621         * m4/getloadavg.m4: Revert the change below.
74622
74623         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
74624         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
74625         fail with a symlink, which is what coreutils' ./bootstrap now
74626         creates by default.
74627
74628 2006-10-12  Bruno Haible  <bruno@clisp.org>
74629
74630         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
74631         mingw.
74632         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
74633         MSVC and mingw explicitly.
74634
74635 2006-10-11  Simon Josefsson  <jas@extundo.com>
74636             Bruno Haible  <bruno@clisp.org>
74637
74638         Add support for multiple gnulib-tool invocations in the scope of a
74639         single configure.ac file.
74640         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
74641         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
74642         with the same contents as the _LIBADD variable.
74643         (func_emit_initmacro_start, func_emit_initmacro_end,
74644         func_emit_initmacro_done): New functions.
74645         (func_import, func_create_testdir): Invoke them. Allow the identifiers
74646         gl_LIBOBJS and gl_LTLIBOBJS.
74647
74648 2006-10-11  Bruno Haible  <bruno@clisp.org>
74649
74650         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
74651         (func_create_testdir): Don't create po/Makefile.am, don't invoke
74652         autoreconf. Instead, invoke autopoint explicitly but move back the
74653         *.m4 files from gnulib.
74654
74655 2006-10-11  Bruno Haible  <bruno@clisp.org>
74656
74657         * gnulib-tool (func_usage): Make module names after --create-testdir
74658         optional.
74659         (func_create_testdir): If no module was specified, use nearly all
74660         modules.
74661
74662 2006-10-12  Jim Meyering  <jim@meyering.net>
74663
74664         Big performance improvement for fts-based tools that use FTS_NOSTAT.
74665         Avoid spurious inode-mismatch problems on non-POSIX file systems.
74666         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
74667         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
74668         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
74669         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
74670         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
74671         (fts_set_stat_required): New function.
74672         (fts_open): Defer the calls to fts_stat, if possible or requested.
74673         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
74674         into fts_stat itself.
74675         (fts_read): Perform any required (deferred) fts_stat call.
74676         (fts_build): Likewise, for the directory we're about to open and read.
74677         In the readdir loop, carefully decide whether each entry will require
74678         an eventual call to fts_stat, using dirent.d_type info if available.
74679         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
74680         a command line argument into this function.  Update all callers.
74681         Map a return value of FTS_DOT to FTS_D for a command line argument.
74682         * modules/fts (Depends-on): Add d-type.  Alphabetize.
74683         Thanks to Miklos Szeredi for his tenacity and for the initial
74684         bug report about "find" failing on a FUSE-based file system.
74685
74686         * lib/fts.c (fts_open): Use consistent indentation.
74687
74688 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74689
74690         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
74691         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
74692         reported by Jim Meyering.  All uses of cache variables renamed
74693         to match Autoconf's.
74694         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
74695         the other one.
74696
74697         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74698         Fix misspelling in diagnostic.
74699
74700 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74701
74702         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
74703         defined.  Problem reported by Matthew Woehlke.
74704
74705         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
74706         Add support for Tandem NonStop R series.
74707         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
74708         Use new macro.
74709
74710         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
74711         (has_trailing_slash): Omit size arg; all callers changed.
74712         Omit 'inline', since it doesn't help performance and we'd
74713         need to configure it.
74714         Don't count //, ///, etc. as having a trailing slash.
74715         As a side effect, this removes a C99ism reported by Matthew Woehlke.
74716         (rpl_rename_dest_slash): On failure, use rename's errno rather
74717         than (in some cases) an incorrect or junk errno.
74718         Simplify code by removing need to compute length; this does
74719         cause it to make two passes instead of one over the file name,
74720         but it's worth it.
74721
74722         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
74723         change, since Autoconf's version may no longer be appropriate now
74724         that we are using CVS Autoconf's version.  Add support for Tandem.
74725
74726 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74727             Bruno Haible  <bruno@clisp.org>
74728
74729         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
74730         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
74731         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
74732         gl_AC_TYPE_LONG_LONG.
74733
74734         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
74735         instead of HAVE_LONG_LONG.
74736         * lib/printf-args.c (printf_fetchargs): Likewise.
74737         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
74738         * lib/vasnprintf.c (VASNPRINTF): Likewise.
74739         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
74740         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
74741         gl_AC_TYPE_LONG_LONG.
74742
74743 2006-10-11  Bruno Haible  <bruno@clisp.org>
74744
74745         * m4/longlong.m4: Add comments.
74746         * m4/ulonglong.m4: Likewise.
74747
74748 2006-10-10  Bruno Haible  <bruno@clisp.org>
74749
74750         Make it possible to #define stpcpy, strdup to aliases.
74751         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
74752         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
74753
74754 2006-10-10  Bruno Haible  <bruno@clisp.org>
74755
74756         Make it possible to #define gcd to an alias.
74757         * lib/gcd.c: Include config.h.
74758
74759 2006-10-10  Bruno Haible  <bruno@clisp.org>
74760
74761         Make it possible to #define c_isascii to an alias.
74762         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
74763         defined. Undefine the macros before defining them, to avoid gcc
74764         warnings.
74765         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
74766         define NO_C_CTYPE_MACROS early.
74767
74768 2006-10-10  Bruno Haible  <bruno@clisp.org>
74769
74770         Make it possible to #define set_program_name to an alias.
74771         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74772         ENABLE_RELOCATABLE early.
74773
74774 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74775
74776         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74777         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74778         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74779         More generally, don't assume that 64-bit signed int is available
74780         if unsigned int is, and vice versa.
74781         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74782         unsigned symbols, not on their signed counterparts.
74783         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74784         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74785         (UINT64_C, UINTMAX_C):
74786         Likewise.
74787         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74788         unsigned counterparts.
74789         (Have_long_long, Unsigned): New macros.
74790         (Int): Renamed from INT.
74791         (strtoimax): Use the new macros.
74792         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74793         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74794         * modules/inttypes (inttypes.h): Substitute
74795         HAVE_UNSIGNED_LONG_LONG_INT.
74796         * modules/stdint (stdint.h): Likewise.
74797         (Files): Add m4/ulonglong.m4.
74798
74799 2006-10-10  Bruno Haible  <bruno@clisp.org>
74800
74801         Fix a gcc -Wshadow warning.
74802         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74803         to 'bucket'.
74804         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74805         gl_linked_indexof_from_to): Likewise.
74806         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74807         Likewise.
74808         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74809         Likewise.
74810         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74811         Reported by Eric Blake.
74812
74813 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74814
74815         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74816         for NetBSD.  Problem reported by Bruno Haible.
74817
74818 2006-10-09  Jim Meyering  <jim@meyering.net>
74819
74820         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74821         Patch from Bruno Haible.
74822
74823 2006-10-09  Jim Meyering  <jim@meyering.net>
74824
74825         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74826         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74827         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74828
74829 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74830
74831         Don't include <config.h> twice; this doesn't work in some cases,
74832         e.g., when config.h has "#define intmax_t long long int" and
74833         we include <config.h>, <inttypes.h>, <config.h> in that order.
74834         Problem reported by Matthew Woehlke in:
74835         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74836         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74837         * lib/fts-cycle.c: Don't include config.h.
74838         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74839         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74840         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74841         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74842         inttypes.h.
74843         * lib/xstrtoumax.c: Likewise.
74844         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74845         __strtol and the like, so that this module is more like its siblings.
74846         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74847         Remove; no longer needed now that we assume gnulib inttypes.h.
74848
74849 2006-10-08  Bruno Haible  <bruno@clisp.org>
74850
74851         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74852         option.
74853
74854 2006-10-07  Jim Meyering  <jim@meyering.net>
74855
74856         * modules/inttypes (inttypes.h): Revert what seems to have been
74857         an inadvertent part of today's change: use "|", not "/" in the
74858         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74859
74860 2006-10-07  Bruno Haible  <bruno@clisp.org>
74861
74862         * modules/sublist: New file.
74863
74864 2006-10-07  Bruno Haible  <bruno@clisp.org>
74865
74866         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74867         * modules/argz (argz.h): Likewise.
74868         * modules/arpa_inet (arpa/inet.h): Likewise.
74869         * modules/byteswap (byteswap.h): Likewise.
74870         * modules/configmake (configmake.h): Likewise.
74871         * modules/fcntl (fcntl.h): Likewise.
74872         * modules/fnmatch (fnmatch.h): Likewise.
74873         * modules/getopt (getopt.h): Likewise.
74874         * modules/glob (glob.h): Likewise.
74875         * modules/inttypes (inttypes.h): Likewise.
74876         * modules/netinet_in (netinet/in.h): Likewise.
74877         * modules/poll (poll.h): Likewise.
74878         * modules/stdbool (stdbool.h): Likewise.
74879         * modules/stdint (stdint.h): Likewise.
74880         * modules/sys_select (sys/select.h): Likewise.
74881         * modules/sys_socket (sys/socket.h): Likewise.
74882         * modules/sys_stat (sys/stat.h): Likewise.
74883         * modules/sysexits (sysexits.h): Likewise.
74884         * modules/unistd (unistd.h): Likewise.
74885         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74886         Add a "DO NOT EDIT" comment to the generated file.
74887         (func_import): Likewise for gnulib-comp.m4.
74888
74889 2006-10-07  Bruno Haible  <bruno@clisp.org>
74890
74891         * lib/gl_sublist.h: New file.
74892         * lib/gl_sublist.c: New file.
74893
74894 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74895
74896         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74897         name (relative to the original working directory) and the file
74898         name component (relative to the temporary working directory).  All
74899         callers changed.
74900         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74901         * lib/mkdir-p.c (make_dir_parents): Likewise.
74902         * lib/mkdir-p.h (make_dir_parents): Likewise.
74903
74904 2006-10-06  Eric Blake  <ebb9@byu.net>
74905
74906         Define several macros for use by the clean-temp module.
74907         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74908         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74909         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74910
74911         * lib/clean-temp.h (close_stream_temp): New declaration.
74912         * lib/clean-temp.c (includes): Pull in headers according to what
74913         other modules are in use.
74914         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74915
74916 2006-10-06  Bruno Haible  <bruno@clisp.org>
74917
74918         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74919         instead of fopen, fwriteerror.
74920
74921 2006-10-06  Bruno Haible  <bruno@clisp.org>
74922
74923         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74924         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74925         int.
74926         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74927         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74928         Return an error indicator.
74929         Suggested by Eric Blake.
74930
74931 2006-10-06  Bruno Haible  <bruno@clisp.org>
74932
74933         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74934         Reported by Eric Blake.
74935
74936 2006-10-06  Bruno Haible  <bruno@clisp.org>
74937
74938         * modules/closeout (Description): Mention stderr too.
74939
74940 2006-10-06  Bruno Haible  <bruno@clisp.org>
74941         and Paul Eggert  <eggert@cs.ucla.edu>
74942
74943         * lib/closeout.c (close_stdout): Also close stderr.
74944         * lib/closeout.h: Update comment.
74945
74946 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74947
74948         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
74949         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
74950         * lib/dirchownmod.c: Include lchown.h.
74951         * lib/lchown.c: Don't include files that lchown.h now includes.
74952         Don't declare chown, since lchown.h now does that.
74953         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
74954         (lchown): Define to rpl_chown if lchown is declared but
74955         does not exist.  Declare using a prototype if lchown is not
74956         declared.  Add a copyright notice.
74957         * lib/mkstemp.h: Include <unistd.h>.
74958         * lib/openat.c: Include lchown.h.
74959
74960         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
74961         we now test for that separately.
74962         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
74963         rather than O_NOFOLLOW, when testing whether it's possible to
74964         avoid a race condition reliably.
74965         * lib/savewd.c (savewd_chdir): Likewise.
74966
74967         Remove macros that are no longer needed now that stdint.h is
74968         reliable.
74969         * lib/fsusage.c (UINTMAX_MAX): Remove.
74970         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
74971         * lib/utimecmp.c (SIZE_MAX): Remove.
74972
74973         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
74974
74975         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
74976         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
74977         O_NOATIME works.
74978
74979 2006-10-05  Bruno Haible  <bruno@clisp.org>
74980
74981         * lib/gl_list.h (gl_sortedlist_search_from_to,
74982         gl_sortedlist_indexof_from_to): New declarations.
74983         (gl_list_implementation): New fields sortedlist_search_from_to,
74984         sortedlist_indexof_from_to.
74985         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74986         inline functions.
74987         * lib/gl_list.c (gl_sortedlist_search_from_to,
74988         gl_sortedlist_indexof_from_to): New functions.
74989         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74990         function.
74991         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74992         (gl_array_sortedlist_search_from_to): New function.
74993         (gl_array_list_implementation): Update.
74994         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74995         function.
74996         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74997         (gl_carray_sortedlist_search_from_to): New function.
74998         (gl_carray_list_implementation): Update.
74999         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
75000         gl_linked_sortedlist_indexof_from_to): New functions.
75001         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75002         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75003         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
75004         gl_tree_sortedlist_indexof_from_to): New functions.
75005         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75006         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75007         Update.
75008         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75009         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
75010         Update.
75011
75012 2006-10-05  Bruno Haible  <bruno@clisp.org>
75013
75014         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
75015         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
75016         (struct gl_list_implementation): Add fields search_from_to,
75017         indexof_from_to. Remove fields search, indexof.
75018         (gl_list_search): Use the search_from_to method.
75019         (gl_list_search_from, gl_list_search_from_to): New functions.
75020         (gl_list_indexof): Use the indexof_from_to method.
75021         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75022         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
75023         (gl_list_search_from, gl_list_search_from_to): New functions.
75024         (gl_list_indexof): Use the indexof_from_to method.
75025         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75026         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
75027         gl_array_indexof. Add start_index, end_index arguments.
75028         (gl_array_search_from_to): Renamed from gl_array_search. Add
75029         start_index, end_index arguments.
75030         (gl_array_remove, gl_array_list_implementation): Update.
75031         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
75032         gl_carray_indexof. Add start_index, end_index arguments.
75033         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
75034         start_index, end_index arguments.
75035         (gl_carray_remove, gl_carray_list_implementation): Update.
75036         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
75037         gl_linked_search. Add start_index, end_index arguments.
75038         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
75039         start_index, end_index arguments.
75040         (gl_linked_remove): Update.
75041         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75042         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75043         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
75044         field to 'size_t'.
75045         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
75046         gl_tree_search. Add start_index, end_index arguments.
75047         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75048         start_index, end_index arguments.
75049         (gl_tree_remove): Update.
75050         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75051         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75052         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
75053         function.
75054         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
75055         gl_tree_search. Add start_index, end_index arguments.
75056         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75057         start_index, end_index arguments.
75058         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75059         Update.
75060         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75061
75062 2006-10-05  Bruno Haible  <bruno@clisp.org>
75063
75064         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
75065
75066         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
75067         fwriteerror_temp): New declarations.
75068         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
75069         (descriptors): New variable.
75070         (cleanup): First, close the descriptors.
75071         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
75072         fclose_temp, fwriteerror_temp): New functions.
75073
75074 2006-10-04  Jim Meyering  <jim@meyering.net>
75075
75076         * lib/fts.c (fts_open): Tiny comment change.
75077
75078 2006-10-04  Bruno Haible  <bruno@clisp.org>
75079
75080         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
75081         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
75082         gl_LOCK_BODY.
75083         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
75084         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
75085         gl_LOCK_EARLY_BODY.
75086         (gl_LOCK): Require gl_LOCK_BODY.
75087
75088 2006-10-04  Bruno Haible  <bruno@clisp.org>
75089
75090         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
75091         (gl_oset_search_atleast): New declaration.
75092         (struct gl_oset_implementation): Add field 'search_atleast'.
75093         (gl_oset_search_atleast): New inline function.
75094         * lib/gl_oset.c (gl_oset_search_atleast): New function.
75095         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
75096         (gl_array_oset_implementation): Update.
75097         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
75098         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
75099         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
75100
75101 2006-10-04  Bruno Haible  <bruno@clisp.org>
75102
75103         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
75104
75105 2006-10-03  Bruno Haible  <bruno@clisp.org>
75106
75107         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
75108         from gl_avltreehash_list_implementation.
75109
75110 2006-10-03  Bruno Haible  <bruno@clisp.org>
75111
75112         * lib/gl_oset.c (gl_oset_add): Fix return type.
75113
75114 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
75115
75116         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
75117
75118 2006-10-02  Eric Blake  <ebb9@byu.net>
75119
75120         * modules/strnlen (Depends-on): Add extensions.
75121
75122 2006-10-02  Eric Blake  <ebb9@byu.net>
75123
75124         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
75125         definition in 2.60+.
75126
75127 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
75128
75129         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
75130         checks.
75131
75132 2006-10-02  Bruno Haible  <bruno@clisp.org>
75133
75134         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
75135         to the AUTOMAKE_OPTIONS.
75136         Reported by Jim Meyering.
75137
75138 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75139
75140         Work around bug in Solaris 10 /proc file system:
75141         /proc/self/fd/NNN/.. isn't the parent directory of
75142         the directory whose file descriptor is NNN.  This needs to
75143         be worked around at run time, not compile time, since a
75144         program might be built on Solaris 8, where things work, and
75145         run on Solaris 10.
75146         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
75147         to use the following interface instead:
75148         (OPENAT_BUFFER_SIZE): New macro.
75149         (openat_proc_name): New function.
75150         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
75151         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
75152         Likewise.
75153         * lib/openat-proc.c: New file.
75154         * modules/openat (Files): Add lib/openat-proc.c.
75155         (Depends-on): Add same-inode, stdbool.
75156         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
75157
75158 2006-09-29  Bruno Haible  <bruno@clisp.org>
75159
75160         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
75161         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
75162         argument. Set stdout_closed before testing for ferror, not after.
75163         (fwriteerror, fwriteerror_no_ebadf): New functions.
75164
75165 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75166
75167         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
75168
75169 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
75170
75171         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
75172         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
75173
75174 2006-09-28  Jim Meyering  <jim@meyering.net>
75175
75176         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
75177         Include <unistd.h>.
75178
75179 2006-09-28  Bruno Haible  <bruno@clisp.org>
75180
75181         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
75182         * modules/linkedhash-list (Depends-on): Likewise.
75183         * modules/rbtreehash-list (Depends-on): Likewise.
75184
75185 2006-09-28  Bruno Haible  <bruno@clisp.org>
75186
75187         * lib/strndup.h: Simplify the redefinition of strndup.
75188         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
75189         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
75190
75191 2006-09-28  Bruno Haible  <bruno@clisp.org>
75192
75193         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
75194         * lib/gl_linkedhash_list.c: Likewise.
75195         * lib/gl_rbtreehash_list.c: Likewise.
75196
75197 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75198
75199         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
75200         getaddrinfo.
75201
75202         * lib/__fpending.h: Don't include <stdio_ext.h> unless
75203         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
75204         it causes <stdio_ext.h> to cause a compile-time error.
75205         Problem reported by Nelson H. F. Beebe.
75206         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
75207         of HAVE_DECL___PENDING.
75208
75209         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
75210         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
75211         declaration.
75212
75213 2006-09-27  Jim Meyering  <jim@meyering.net>
75214
75215         This file could end up with a definition for a function
75216         named __strndup, rather than rpl_strndup on a system with
75217         incomplete weak_alias support.
75218         * lib/strndup.c (strndup): Rename from __strndup.
75219         Remove #defines that used to map __strndup to strndup.
75220         Don't use K&R prototypes.
75221         Remove LIBC-related code, since this file is not sync'd with glibc.
75222         * lib/strndup.h: Revamp, accordingly.
75223         * m4/strndup.m4: Modernize.
75224
75225 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75226
75227         * modules/savewd (Depends-on): Add 'raise'.
75228         * lib/savewd.c: Include <signal.h>, for 'raise'.
75229
75230 2006-09-26  Jim Meyering  <jim@meyering.net>
75231
75232         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
75233         when we detect Darwin 8.7.0's acl_get_file bug.
75234         Rearrange to perform the new (below) run-test while $LIBS
75235         contains any acl-related library.  Set USE_ACL at the end.
75236         (gl_ACL_GET_FILE): New function.
75237
75238 2006-09-26  Eric Blake  <ebb9@byu.net>
75239
75240         * lib/verror.c: Include <config.h> unconditionally.
75241
75242 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75243
75244         * modules/clock-time (Maintainer): Add self.
75245         * modules/getlogin_r (Depends-on): Add extensions.
75246
75247 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75248
75249         * modules/clock-time: New module.
75250         * modules/nanosleep (Depends-on): Add clock-time.
75251         * modules/gethrxtime (Depends-on): Likewise.
75252         * modules/gettime (Depends-on): Likewise.
75253         * modules/settime (Depends-on): Likewise.
75254
75255         * modules/fts-lgpl: Depend on openat.
75256         * modules/mkancesdirs: Depend on savewd.
75257         * modules/mkdir-p: Likewise.
75258
75259 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75260
75261         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
75262
75263         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
75264         `gl_have_arbitrary_file_name_length_limit' to
75265         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
75266         actually works between configure runs.
75267
75268 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75269             Bruno Haible  <bruno@clisp.org>
75270
75271         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
75272
75273 2006-09-25  Jim Meyering  <jim@meyering.net>
75274
75275         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
75276         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
75277
75278 2006-09-25  Eric Blake  <ebb9@byu.net>
75279
75280         * gnulib-tool (func_import, func_create_testdir): Fix typos in
75281         exec's in 2006-09-18 patch when shuffling fds.
75282
75283 2006-09-25  Bruno Haible  <bruno@clisp.org>
75284
75285         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
75286         Reported by Jim Meyering.
75287
75288 2006-09-24  Jim Meyering  <jim@meyering.net>
75289
75290         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
75291         compare a pointer against a literal "0".  That caused failures with
75292         at least HP-UX's hpcc.
75293
75294 2006-09-22  Simon Josefsson  <jas@extundo.com>
75295
75296         * modules/gc-sha1:
75297         * modules/gc-md4:
75298         * modules/gc-hmac-sha1:
75299         * modules/gc-hmac-md5:
75300         * modules/gc-des:
75301         * modules/gc-arcfour: Distribute more files.
75302
75303 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75304
75305         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
75306         (gl_linked_iterator_from_to): Initialize struct completely.
75307         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
75308         (gl_tree_iterator_from_to): Likewise
75309         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
75310         * lib/gl_array_list.c [lint] (gl_array_iterator)
75311         (gl_array_iterator_from_to): Likewise.
75312         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
75313         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
75314         (gl_carray_iterator_from_to): Likewise.
75315
75316         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
75317         * lib/md4.c (md4_process_block): Remove unused variable.
75318         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
75319         parentheses for clarity.
75320
75321 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75322
75323         * modules/bison-i18n (Depends-on): Add gettext.
75324
75325 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75326
75327         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
75328         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
75329         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
75330         also add missing comma that caused broken test.
75331         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
75332         stdlib.h, for `abort'.
75333         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
75334         variables.
75335         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
75336         include unistd.h if present, for `rmdir'.
75337         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
75338         variables.
75339         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
75340         in the process include standard headers for prototypes.
75341         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
75342         gets declared on GNU/Linux.
75343         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75344         unistd.h, for `rmdir'.
75345         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75346
75347         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75348         always true.
75349         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75350
75351         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75352
75353 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75354
75355         * gnulib-tool (func_version): Create output all at once.  This
75356         may help avoid triggering unnecessary SIGPIPEs, and at any
75357         rate it doesn't hurt.
75358
75359 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75360             Bruno Haible  <bruno@clisp.org>
75361
75362         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75363         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75364         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75365
75366         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75367         (gl_FUNC_VASPRINTF): Invoke it.
75368
75369 2006-09-22  Bruno Haible  <bruno@clisp.org>
75370
75371         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75372         getloadavg.c as first argument.
75373
75374 2006-09-22  Bruno Haible  <bruno@clisp.org>
75375
75376         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75377         at the beginning of the gl_INIT macro.
75378         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75379         gl_GETLOADAVG.
75380
75381 2006-09-22  Bruno Haible  <bruno@clisp.org>
75382
75383         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75384         module.
75385         Suggested by Ralf Wildenhues.
75386
75387 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75388
75389         Import this patch from libc:
75390
75391         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75392
75393         * lib/regex_internal.c (re_string_reconstruct): Handle
75394         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75395         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75396         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75397         re_string_context_at.
75398
75399         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75400         now requires it.
75401         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
75402         gl_REGEX now does it for us.
75403         (gl_REGEX): Add test taken from
75404         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
75405
75406         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
75407         Check that large offsets work.  Modernize Autoconf usages.
75408         Prefer "yes" to mean a good thing rather than a bad.
75409         Don't put "#define mkstemp" in config.h, as this might interfere
75410         with standard system headers that "#define mkstemp mkstemp64".
75411
75412         * modules/mkstemp (Depends-on): Add extensions, so that
75413         mkstemp is visible on some platforms.
75414         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
75415         (Include): Change to "mkstemp.h" from <stdlib.h>.
75416         (Files): Add mkstemp.h.
75417
75418         * lib/mkstemp.h: New file, since some standard headers
75419         #define mkstemp.
75420         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
75421         Include "mkstemp.h".
75422         Make the _LIBC code resemble glibc original more,
75423         e.g., use K&R style.
75424         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
75425         (mkstemp): Remove, since mkstemp.h does this for us.
75426         * lib/stdlib--.h: Include mkstemp.h.
75427
75428         Import this patch from libc:
75429
75430         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75431
75432         * lib/tempname.c (__gen_tempname): Change attempts_min
75433         into a macro.  Use preprocessor to decide how to initialize
75434         attempts [Coverity CID 67].
75435
75436 2006-09-20  Bruno Haible  <bruno@clisp.org>
75437
75438         * lib/mkdtemp.c: Import from libc.
75439         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75440                 * sysdeps/posix/tempname.c (__gen_tempname): Change
75441                 attempts_min into a macro.  Use preprocessor to decide how to
75442                 initialize attempts [Coverity CID 67].
75443         2001-11-27  Paul Eggert  <eggert@twinsun.com>
75444                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
75445                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
75446
75447 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75448
75449         * gnulib-tool (func_exit): New function, to allow to pass the
75450         exit status portably through the trap.  Use everywhere.
75451         (--help, --version): Signal a write error.
75452         (trap): catch SIGPIPE, for write errors.
75453         Exit at the end of the trap, with the correct exit status.
75454
75455 2006-09-19  Karl Berry  <karl@gnu.org>
75456
75457         * doc/gnulib.texi: note about the license texinfo files.
75458
75459 2006-09-19  Eric Blake  <ebb9@byu.net>
75460
75461         * gnulib-tool: Avoid space-tab.
75462
75463 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75464
75465         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
75466         that prevented coreutils 6.1 from building.  Problem reported
75467         by Petter Reinholdtsen.
75468
75469 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75470
75471         * gnulib-tool (avoidlist): Fix typo that broke options like
75472         --avoid=lock that are used by coreutils bootstrap.
75473
75474 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
75475
75476         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
75477         more systematically.
75478
75479 2006-09-18  Jim Meyering  <jim@meyering.net>
75480
75481         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
75482
75483 2006-09-18  Bruno Haible  <bruno@clisp.org>
75484
75485         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
75486
75487 2006-09-18  Bruno Haible  <bruno@clisp.org>
75488
75489         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
75490         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
75491         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
75492         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
75493         * m4/gettext.m4: Require autoconf >= 2.52.
75494         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
75495         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
75496         of gl_cv_header_inttypes_h.
75497
75498 2006-09-18  Bruno Haible  <bruno@clisp.org>
75499
75500         * lib/javaversion.c: Include configmake.h.
75501
75502 2006-09-18  Bruno Haible  <bruno@clisp.org>
75503
75504         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
75505         avoid that the while loops be executed in a subshell.
75506
75507 2006-09-18  Bruno Haible  <bruno@clisp.org>
75508
75509         * MODULES.html.sh (func_module): Break long lines.
75510         Suggested by Bruce Korb <bkorb@gnu.org>.
75511
75512 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75513
75514         Speed up by a factor of 1.12.
75515         * gnulib-tool (nl): New variable.
75516         (func_import): Rewrite include directive extraction to only read each
75517         directive once.
75518
75519 2006-09-17  Bruno Haible  <bruno@clisp.org>
75520
75521         * modules/javaversion (Makefile.am): Remove DEFS setting.
75522         (Depends-on): Add configmake, for PKGDATADIR definition.
75523
75524 2006-09-17  Bruno Haible  <bruno@clisp.org>
75525
75526         * gnulib-tool (func_create_testdir): Rewrite all files at once.
75527
75528 2006-09-17  Bruno Haible  <bruno@clisp.org>
75529
75530         * gnulib-tool (func_append): New function, stolen from libtool.m4.
75531         (func_modules_transitive_closure, func_modules_add_dummy,
75532         func_modules_to_filelist, func_import, func_create_testdir,
75533         func_create_megatestdir, ...): Use it wherever possible.
75534         Suggested by Ralf Wildenhues.
75535
75536 2006-09-16  Karl Berry  <karl@gnu.org>
75537
75538         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
75539         to avoid sectioning errors.
75540         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
75541         [ifinfo]: blank line after @center-ed titles.
75542         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
75543         Spell FSF address consistently with others.
75544         (These changes approved by rms.)
75545
75546 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75547
75548         Speed up by a factor of 1.61.
75549         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
75550         already checked module names again.
75551
75552 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75553
75554         Speed up by a factor of 1.13.
75555         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
75556         for new_files, and the input to func_add_or_update.
75557
75558 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75559
75560         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
75561         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
75562
75563 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75564
75565         * modules/mkancesdirs (Depends-on): Add fcntl.
75566         * modules/savewd: New file.
75567         * MODULES.html.sh (File system functions): Add savewd.
75568
75569         * modules/configmake (Makefile.am): Add support for the
75570         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
75571
75572 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75573
75574         * m4/savewd.m4: New file.
75575
75576 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75577
75578         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
75579         (dirchownmod): New arg FD.  All callers changed.
75580         Use FD rather than opening the directory ourself, as opening is
75581         now the caller's responsibility.
75582         * lib/dirchownmod.h: Likewise.
75583         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
75584         hosts that require <sys/types.h> before <sys/stat.h>.  Include
75585         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
75586         (test_dir): Remove.
75587         (mkancesdirs): Return length of prefix of FILE that has already
75588         been made, or -2 if there is a child doing the work.  Redo
75589         algorithm so that it is O(N) rather than O(N**2).  Optimize away
75590         ".", and treat ".." specially since it might stray back into
75591         already-created areas.  Use a subprocess if necessary.  New arg
75592         WD; all users changed.  MAKE_DIR function should now return 1
75593         if it creates a directory that is not readable.  Return -2 if
75594         a child process is spun off.
75595         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
75596         Adjust signature to match code.
75597         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
75598         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
75599         all users changed.
75600         * lib/savewd.c, lib/savewd.h: New files.
75601
75602 2006-09-15  Jim Meyering  <jim@meyering.net>
75603
75604         * modules/rename-dest-slash: New module.
75605         * MODULES.html.sh (posix_compat): Add it here.
75606
75607         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
75608
75609 2006-09-15  Jim Meyering  <jim@meyering.net>
75610
75611         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
75612         file.
75613
75614         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
75615
75616 2006-09-15  Jim Meyering  <jim@meyering.net>
75617
75618         * lib/rename-dest-slash.c (has_trailing_slash): Use
75619         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
75620         (rpl_rename_dest_slash): Perform the cheaper trailing slash
75621         test before testing whether SRC is a directory.
75622         Suggestions from Bruno Haible.
75623
75624         Avoid a warning about an unused variable.
75625         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
75626         into the #ifdef block where it's used.
75627
75628         * lib/rename-dest-slash.c: New file.
75629
75630 2006-09-14  Bruno Haible  <bruno@clisp.org>
75631
75632         * lib/allocsa.c: Include <config.h> unconditionally.
75633         * lib/asnprintf.c: Likewise.
75634         * lib/asprintf.c: Likewise.
75635         * lib/c-strcasecmp.c: Likewise.
75636         * lib/c-strcasestr.c: Likewise.
75637         * lib/c-strncasecmp.c: Likewise.
75638         * lib/c-strstr.c: Likewise.
75639         * lib/classpath.c: Likewise.
75640         * lib/clean-temp.c: Likewise.
75641         * lib/concatpath.c: Likewise.
75642         * lib/copy-file.c: Likewise.
75643         * lib/csharpcomp.c: Likewise.
75644         * lib/csharpexec.c: Likewise.
75645         * lib/execute.c: Likewise.
75646         * lib/fatal-signal.c: Likewise.
75647         * lib/findprog.c: Likewise.
75648         * lib/fwriteerror.c: Likewise.
75649         * lib/gl_array_list.c: Likewise.
75650         * lib/gl_array_oset.c: Likewise.
75651         * lib/gl_avltree_list.c: Likewise.
75652         * lib/gl_avltree_oset.c: Likewise.
75653         * lib/gl_avltreehash_list.c: Likewise.
75654         * lib/gl_carray_list.c: Likewise.
75655         * lib/gl_linked_list.c: Likewise.
75656         * lib/gl_linkedhash_list.c: Likewise.
75657         * lib/gl_list.c: Likewise.
75658         * lib/gl_oset.c: Likewise.
75659         * lib/gl_rbtree_list.c: Likewise.
75660         * lib/gl_rbtree_oset.c: Likewise.
75661         * lib/gl_rbtreehash_list.c: Likewise.
75662         * lib/imaxabs.c: Likewise.
75663         * lib/imaxdiv.c: Likewise.
75664         * lib/javacomp.c: Likewise.
75665         * lib/javaexec.c: Likewise.
75666         * lib/javaversion.c: Likewise.
75667         * lib/linebreak.c: Likewise.
75668         * lib/localcharset.c: Likewise.
75669         * lib/lock.c: Likewise.
75670         * lib/mbchar.c: Likewise.
75671         * lib/mbswidth.c: Likewise.
75672         * lib/mkdtemp.c: Likewise.
75673         * lib/pipe.c: Likewise.
75674         * lib/printf-args.c: Likewise.
75675         * lib/printf-parse.c: Likewise.
75676         * lib/progname.c: Likewise.
75677         * lib/progreloc.c: Likewise.
75678         * lib/readlink.c: Likewise.
75679         * lib/sh-quote.c: Likewise.
75680         * lib/stpcpy.c: Likewise.
75681         * lib/stpncpy.c: Likewise.
75682         * lib/strcasecmp.c: Likewise.
75683         * lib/strcasestr.c: Likewise.
75684         * lib/strcspn.c: Likewise.
75685         * lib/striconv.c: Likewise.
75686         * lib/strncasecmp.c: Likewise.
75687         * lib/strnlen1.c: Likewise.
75688         * lib/strstr.c: Likewise.
75689         * lib/strtok_r.c: Likewise.
75690         * lib/tls.c: Likewise.
75691         * lib/tmpdir.c: Likewise.
75692         * lib/unicodeio.c: Likewise.
75693         * lib/unsetenv.c: Likewise.
75694         * lib/vasnprintf.c: Likewise.
75695         * lib/vasprintf.c: Likewise.
75696         * lib/wait-process.c: Likewise.
75697         * lib/xallocsa.c: Likewise.
75698         * lib/xsetenv.c: Likewise.
75699         * lib/xstriconv.c: Likewise.
75700
75701 2006-09-13  Simon Josefsson  <jas@extundo.com>
75702
75703         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
75704         that internally, suggested by Ralf Wildenhues
75705         <Ralf.Wildenhues@gmx.de>.
75706
75707 2006-09-13  Simon Josefsson  <jas@extundo.com>
75708
75709         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
75710         @LIBOBJS@.
75711         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75712
75713 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75714
75715         * lib/_fpending.c: Include <config.h> unconditionally, since we no
75716         longer worry about uses that don't define HAVE_CONFIG_H.
75717         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
75718         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
75719         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
75720         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
75721         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
75722         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
75723         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
75724         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
75725         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
75726         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
75727         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
75728         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
75729         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
75730         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
75731         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
75732         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
75733         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
75734         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
75735         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
75736         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
75737         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
75738         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
75739         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
75740         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
75741         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
75742         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
75743         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
75744         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
75745         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
75746         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
75747         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
75748         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
75749         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
75750         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
75751         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
75752         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
75753         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
75754         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
75755         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
75756         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
75757         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
75758         Likewise.
75759
75760 2006-09-13  Eric Blake  <ebb9@byu.net>
75761
75762         * lib/getopt.c: Fix typo in last commit.
75763
75764 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75765
75766         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75767         dgettext.
75768
75769 2006-09-12  Jim Meyering  <jim@meyering.net>
75770
75771         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75772         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75773         Reported by Nelson H. F. Beebe.
75774
75775 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75776
75777         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75778         program_invocation_name and program_invocation_short_name are
75779         initialized.
75780         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75781         and program_invocation_short_name to argp.h, so they are visible
75782         to user programs.
75783         * lib/argp.h: Likewise
75784
75785 2006-09-10  Bruno Haible  <bruno@clisp.org>
75786
75787         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75788         m4/inttypes_h.m4, m4/uintmax_t.m4.
75789
75790 2006-09-10  Bruno Haible  <bruno@clisp.org>
75791
75792         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75793         gl_AC_TYPE_UINTMAX_T.
75794
75795 2006-09-10  Bruno Haible  <bruno@clisp.org>
75796
75797         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75798
75799 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75800
75801         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75802         convention.  Text proposed by Bruno Haible.
75803         (struct argp_option): Document the use of N_() wrappers.
75804
75805         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75806         '\v', and translate the two parts separately, instead of feeding
75807         the whole string to gettext.  This allows to exclude
75808         '\v' from the strings visible to the translator by writing doc
75809         strings as N_("..") "\v" N_("..").
75810
75811 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75812
75813         * config/srclist.txt: Undo latest change; the bug was fixed.
75814
75815 2006-09-09  Bruno Haible  <bruno@clisp.org>
75816
75817         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75818         assignments if building a library without libtool.
75819         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75820         in func_emit_lib_Makefile_am.
75821         (func_import): When building a static library libfoo.a, arrange to
75822         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75823         (func_create_testdir): Likewise.
75824         * modules/gc (configure.ac, Makefile.am): If building statically,
75825         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75826         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75827         * modules/striconv (configure.ac, Makefile.am): Likewise.
75828         Based on a suggestion by Ralf Wildenhues.
75829
75830 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75831
75832         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75833         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75834         Also:
75835
75836         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75837         Add year_2050_test to catch glibc bug 2821
75838         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75839
75840         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75841         Prefer #ifdef to #if.
75842
75843         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75844         Return from 'main' instead of calling 'exit'.
75845
75846 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75847
75848         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75849         returned the maximum time_t value rather than (time_t) -1.
75850         Problem originally reported by William Bardwell
75851         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75852
75853         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75854         Moved to here ...
75855         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75856         ... from here.
75857
75858 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75859
75860         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75861         2821 is fixed.
75862
75863 2006-09-08  Jim Meyering  <jim@meyering.net>
75864
75865         Don't make generated files read-only.  That would bother too many
75866         people.  However, do retain the ability to work when targets are
75867         read-only: remove the destination and temporary files before writing
75868         them (when generated via sed or echo), or by using the -f option for
75869         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75870         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75871         * modules/byteswap, modules/configmake, modules/fcntl:
75872         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75873         * modules/localcharset, modules/netinet_in, modules/poll:
75874         * modules/stdbool, modules/stdint, modules/sys_select:
75875         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75876
75877 2006-09-08  Jim Meyering  <jim@meyering.net>
75878
75879         Avoid new build failure on FreeBSD 6.0.
75880         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75881         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75882         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75883
75884 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75885
75886         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75887
75888 2006-09-07  Jim Meyering  <jim@meyering.net>
75889
75890         Fix global typo in last change: use chmod u-w, not chmod u-x.
75891         Spotted by Paul Eggert and Bruce Korb.
75892         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75893         * modules/byteswap, modules/configmake, modules/fcntl:
75894         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75895         * modules/localcharset, modules/netinet_in, modules/poll:
75896         * modules/stdbool, modules/stdint, modules/sys_select:
75897         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75898
75899 2006-09-06  Jim Meyering  <jim@meyering.net>
75900
75901         Make generated files be read-only.
75902         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75903         Ensure that each generated file is now read-only.
75904         * modules/argz: Likewise.
75905         * modules/arpa_inet: Likewise.
75906         * modules/byteswap: Likewise.
75907         * modules/configmake: Likewise.
75908         * modules/fcntl: Likewise.
75909         * modules/fnmatch: Likewise.
75910         * modules/getopt: Likewise.
75911         * modules/glob: Likewise.
75912         * modules/inttypes: Likewise.
75913         * modules/netinet_in: Likewise.
75914         * modules/poll: Likewise.
75915         * modules/stdbool: Likewise.
75916         * modules/stdint: Likewise.
75917         * modules/sys_select: Likewise.
75918         * modules/sys_socket: Likewise.
75919         * modules/sys_stat: Likewise.
75920         * modules/sysexits: Likewise.
75921         * modules/localcharset: Same as above, but continue using temporary
75922         file named "t-$@" (why different?) rather than the "$@-t" used
75923         everywhere else.
75924
75925         * modules/sysexits (Makefile.am): Replace literal occurrences
75926         of "sysexit.h" more readable, and more consistent, "$@".
75927
75928 2006-09-06  Bruno Haible  <bruno@clisp.org>
75929
75930         * modules/striconv: New file.
75931         * modules/xstriconv: New file.
75932         * MODULES.html.sh (Internationalization functions): Add striconv,
75933         xstriconv.
75934
75935 2006-09-06  Bruno Haible  <bruno@clisp.org>
75936
75937         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
75938         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
75939         not using libtool correctly.
75940
75941 2006-09-06  Bruno Haible  <bruno@clisp.org>
75942
75943         * lib/striconv.h: New file.
75944         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
75945         iconvstring.c.
75946         * lib/xstriconv.h: New file.
75947         * lib/xstriconv.c: New file.
75948
75949 2006-09-06  Bruno Haible  <bruno@clisp.org>
75950
75951         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75952         lib_..._LDFLAGS.
75953
75954 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75955
75956         * lib/argz_.h: Sync from Libtool.
75957
75958         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
75959                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75960
75961         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
75962
75963 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75964
75965         * modules/trim: New file.
75966
75967 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75968
75969         * lib/trim.h: New file.
75970         * lib/trim.c: New file.
75971
75972 2006-09-05  Bruno Haible  <bruno@clisp.org>
75973
75974         * MODULES.html.sh (String handling): Add trim.
75975
75976 2006-09-04  Karl Berry  <karl@gnu.org>
75977
75978         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75979         until next release.
75980
75981 2006-09-03  Bruno Haible  <bruno@clisp.org>
75982
75983         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75984         correctly.
75985
75986 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75987
75988         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75989         not gl_GETLOADAVG.  Omit unneeded semicolons.
75990         Problems reported by Ralf Wildenhues in
75991         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75992         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75993         at the end, which is the usual gnulib style.
75994
75995         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75996         of doing all the work ourselves.
75997         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75998         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75999
76000 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76001
76002         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
76003         Problem reported by Ralf Wildenhues in
76004         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76005
76006         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
76007         HAVE_STRUCT_STATFS_F_FSTYPENAME.
76008
76009 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76010
76011         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
76012         yesterday's patch by changing test -n to test -z.
76013
76014 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76015
76016         * modules/getloadavg (Files): Add m4/getloadavg.m4.
76017         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
76018         the former is now obsolescent.
76019
76020         * modules/chdir-long (Depends-on): Add fcntl.
76021
76022 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
76025         obsolescent, and programs should use gnulib instead.
76026         * m4/getloadavg.m4: New file, with contents taken from Autoconf
76027         but with prefixes changed.
76028
76029 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76030
76031         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
76032         or stdbool.h, because they might not exist while configuring.
76033
76034         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
76035         Don't include unistd.h or limits.h; not needed, since chdir-long.h
76036         does that for us.
76037         (O_DIRECTORY): Remove.
76038
76039 2006-08-31  Eric Blake  <ebb9@byu.net>
76040
76041         * gnulib-tool: Don't let emacs change spaces to TAB.
76042
76043 2006-08-31  Bruno Haible  <bruno@clisp.org>
76044
76045         * gnulib-tool: When calling func_import more than once, do it in a
76046         subshell.
76047         Reported by Eric Blake <ebb9@byu.net>.
76048
76049 2006-08-31  Bruno Haible  <bruno@clisp.org>
76050
76051         * gnulib-tool (nl): Remove variable.
76052         (sed_transform_lib_file): Use more robust test for config-h module.
76053         (func_import): Fix typo in 2006-08-25 patch.
76054
76055 2006-08-31  Bruno Haible  <bruno@clisp.org>
76056
76057         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
76058         specified, augment Makefile.am variables instead of assigning them.
76059
76060 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         Work around a bug in both the Linux and SunOS 64-bit kernels:
76063         nanosleep mishandles sleeps for longer than 2**31 seconds.
76064         Problem reported by Frank v Waveren in
76065         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76066         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
76067         Check for nanosleep bug.
76068         (LIB_NANOSLEEP): Append clock_gettime library if needed.
76069
76070 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76071
76072         Work around a bug in both the Linux and SunOS 64-bit kernels:
76073         nanosleep mishandles sleeps for longer than 2**31 seconds.
76074         Problem reported by Frank v Waveren in
76075         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76076         * lib/nanosleep.c (BILLION): New constant.
76077         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
76078         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
76079         implementation.
76080
76081 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76082
76083         * modules/nanosleep (Depends-on): Add gettime.
76084
76085 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76086         and Simon Josefsson  <jas@extundo.com>
76087         and Oskar Liljeblad  <oskar@osk.mine.nu>
76088
76089         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
76090         * gnulib-tool (func_import): New license type 'unmodifiable license
76091         text'.
76092         * modules/fdl: Use it.  Longer description.
76093         * module/gpl, module/lgpl: New files.
76094
76095 2006-08-30  Jim Meyering  <jim@meyering.net>
76096
76097         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
76098         shadowing the parameter.
76099
76100 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76101
76102         Sync from Libtool:
76103
76104         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76105
76106         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
76107         sharing with gnulib.  Report by Eric Blake.
76108
76109 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76110
76111         * modules/isapipe: New file.
76112         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
76113
76114 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76115
76116         * modules/configmake (Makefile.am): Add a comment, and omit
76117         the CONFIGMAKE_ prefix from generated macro names.  Suggested
76118         by Bruno Haible.
76119
76120 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76121
76122         * m4/isapipe.m4: New file.
76123
76124 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76125
76126         * lib/isapipe.c, lib/isapipe.h: New files.
76127
76128 2006-08-29  Jim Meyering  <jim@meyering.net>
76129
76130         * modules/configmake (Makefile.am): Make configmake.h depend on
76131         Makefile.  Otherwise, a stale configmake.h could hang around.
76132
76133 2006-08-29  Eric Blake  <ebb9@byu.net>
76134
76135         * lib/error.c (error_at_line, print_errno_message): Match libc, after
76136         resolution of upstream bug 3044.
76137
76138 2006-08-29  Bruno Haible  <bruno@clisp.org>
76139
76140         * modules/localcharset (Depends-on): Add configmake.
76141         (Makefile.am): Remove setting of LIBDIR through DEFS.
76142
76143 2006-08-29  Bruno Haible  <bruno@clisp.org>
76144
76145         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
76146         defined.
76147
76148 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76149
76150         * modules/fcntl: New file.
76151         * modules/chdir-safer (Depends-on): Add fcntl.
76152         * modules/fts: Likewise.
76153         * modules/mkdir-p: Likewise.
76154
76155         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
76156         This undoes the most recent change, since we're now addressing the
76157         problem in a different way.
76158
76159         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
76160         into output, since the output might be called Makefile.am even
76161         if $makefile_name is something different.
76162         (func_import): Use $makefile_am rather than
76163         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
76164         empty.
76165
76166         * modules/inttypes (Files): Add m4/inttypes-h.m4.
76167
76168 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76169
76170         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
76171         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
76172         recent change to stdint.m4, since we're now addressing the problem in a
76173         different way.
76174
76175 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76176
76177         * m4/fcntl_h.m4: New file.
76178
76179 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76180
76181         * lib/fcntl_.h: New file.
76182         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
76183         the fcntl module.
76184         * lib/dirchownmod.c: Likewise.
76185         * lib/fts.c: Likewise.
76186
76187         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
76188         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
76189         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
76190         just before including <inttypes.h>, to avoid circular inclusion.
76191
76192 2006-08-28  Jim Meyering  <jim@meyering.net>
76193
76194         * doc/visibility.texi: Actually read and correct the grammar of the
76195         sentence affected by yesterday's change.
76196
76197 2006-08-28  Eric Blake  <ebb9@byu.net>
76198
76199         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
76200         needs wrapper.
76201
76202 2006-08-28  Eric Blake  <ebb9@byu.net>
76203
76204         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
76205
76206 2006-08-28  Eric Blake  <ebb9@byu.net>
76207
76208         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
76209
76210 2006-08-28  Bruno Haible  <bruno@clisp.org>
76211
76212         * modules/c-strstr: New file, from GNU gettext.
76213         * MODULES.html.sh (String handling): Add c-strstr.
76214
76215 2006-08-28  Bruno Haible  <bruno@clisp.org>
76216
76217         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
76218         macros.
76219         Reported by Eric Blake.
76220
76221 2006-08-28  Bruno Haible  <bruno@clisp.org>
76222
76223         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
76224         (VASNPRINTF): Return a string of length > INT_MAX without failing.
76225         * lib/vasprintf.c: Include errno.h, limits.h.
76226         (EOVERFLOW): New fallback definition.
76227         (vasprintf): Test here whether the string length is > INT_MAX.
76228         * lib/vsnprintf.c: Include errno.h, limits.h.
76229         (EOVERFLOW): New fallback definition.
76230         (vsnprintf): Fix bug when generated string was too long for the buffer.
76231         Test here whether the string length is > INT_MAX.
76232
76233 2006-08-28  Bruno Haible  <bruno@clisp.org>
76234
76235         * lib/inttypes_.h (SCNX*): Remove definitions.
76236         Reported by Eric Blake.
76237
76238 2006-08-28  Bruno Haible  <bruno@clisp.org>
76239
76240         * lib/c-strstr.h: New file, from GNU gettext.
76241         * lib/c-strstr.c: New file, from GNU gettext.
76242
76243 2006-08-28  Bruno Haible  <bruno@clisp.org>
76244
76245         * gnulib-tool: Reorder some statements.
76246
76247 2006-08-28  Bruno Haible  <bruno@clisp.org>
76248
76249         * gnulib-tool: New option --makefile-name.
76250         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
76251         $makefile_name.
76252         (func_import): Write $makefile_name to the cache file, and read it from
76253         there unless explicitly specified. Use $makefile_name as file name
76254         instead of Makefile.am. Adjust the recommendations accordingly.
76255
76256 2006-08-28  Bruno Haible  <bruno@clisp.org>
76257
76258         * gnulib-tool (func_verify_module): Check against misapplying patch.
76259
76260 2006-08-28  Bruno Haible  <bruno@clisp.org>
76261
76262         * gnulib-tool (func_relativize, func_relconcat): New functions.
76263         Give an error if --local-dir is given with --update.
76264         Remove trailing slashes from $local_gnulib_dir.
76265         (func_import): Store the relativized $local_gnulib_dir in
76266         gnulib-cache.m4, and read it from there if not specified explicitly.
76267
76268 2006-08-28  Bruno Haible  <bruno@clisp.org>
76269
76270         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
76271         is the current directory. Respect also $local_gnulib_dir.
76272
76273 2006-08-28  Bruno Haible  <bruno@clisp.org>
76274             Simon Josefsson  <jas@extundo.com>
76275
76276         BeOS portability.
76277         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
76278
76279 2006-08-27  Jim Meyering  <jim@meyering.net>
76280
76281         * doc/visibility.texi: Remove duplicate word: "pointer".
76282
76283 2006-08-26  Bruno Haible  <bruno@clisp.org>
76284
76285         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
76286         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
76287         (Makefile.am): Create inttypes.h from inttypes_.h.
76288         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
76289
76290         * modules/imaxabs: New file.
76291
76292         * modules/imaxdiv: New file.
76293
76294 2006-08-26  Bruno Haible  <bruno@clisp.org>
76295
76296         * m4/inttypes.m4: New file.
76297         * m4/_inttypes_h.m4: Remove file.
76298         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
76299         PRI_MACROS_BROKEN.
76300         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
76301
76302         * m4/imaxabs.m4: New file.
76303
76304         * m4/imaxdiv.m4: New file.
76305
76306 2006-08-26  Bruno Haible  <bruno@clisp.org>
76307
76308         * lib/inttypes_.h: New file.
76309         * lib/inttypes.h: Remove file.
76310         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
76311
76312         * lib/imaxabs.c: New file.
76313
76314         * lib/imaxdiv.c: New file.
76315
76316 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76317
76318         New config-h module, so that "make" output needn't be cluttered
76319         by -DHAVE_CONFIG_H.
76320         * MODULES.html.sh (Support for building libraries and executables):
76321         Add config-h.
76322         * modules/config-h: New file.
76323         * gnulib-tool (nl, sed_transform_lib_file): New vars.
76324         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
76325         the config-h module is used.
76326
76327         New configmake module, so that "make" output needn't be cluttered
76328         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
76329         * MODULES.html.sh (Support for building libraries and executables):
76330         Add configmake.
76331         * modules/configmake: New file.
76332
76333 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76334
76335         * m4/config-h.m4: New file.
76336
76337 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76338
76339         * config/srclist.txt: Add elisp-comp.
76340
76341 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76342
76343         * MODULES.html.sh (Support for building libraries and executables):
76344         Add elisp-comp.
76345         * build-aux/elisp-comp: New file.
76346         * modules/elisp-comp: New file.
76347
76348 2006-08-24  Bruno Haible  <bruno@clisp.org>
76349
76350         * gnulib-tool (func_create_testdir): Use non-default values of
76351         sourcebase and m4base.
76352
76353 2006-08-24  Bruno Haible  <bruno@clisp.org>
76354
76355         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76356         HTML structure.
76357
76358 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * modules/openat (Depends-on): Add lchown.
76361
76362 2006-08-23  Bruno Haible  <bruno@clisp.org>
76363
76364         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76365         of gl_LOCK_EARLY instead of gl_LOCK.
76366
76367 2006-08-23  Bruno Haible  <bruno@clisp.org>
76368
76369         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76370         on OSF/1 to no.
76371         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76372
76373 2006-08-23  Bruno Haible  <bruno@clisp.org>
76374
76375         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76376         as unusable.
76377
76378         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76379         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76380         (gl_LOCK): New macro.
76381
76382 2006-08-22  Simon Josefsson  <jas@extundo.com>
76383
76384         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76385         to md5 module.
76386
76387 2006-08-22  Simon Josefsson  <jas@extundo.com>
76388
76389         * MODULES.html.sh: Add "Support for maintaining and release
76390         projects".
76391
76392         * build-aux/gnupload: New file, from coreutils.
76393
76394 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76395
76396         Avoid the need for AC_LIBSOURCES in m4 macros.
76397         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76398         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76399         * modules/check-version (EXTRA_DIST): Add check-version.h.
76400         * modules/crc (EXTRA_DIST): Add crc.h.
76401         * modules/des (EXTRA_DIST): Add des.h.
76402         * modules/gc (EXTRA_DIST): Add gc.h.
76403         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
76404         * modules/getline (EXTRA_DIST): Add getline.h.
76405         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
76406         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
76407         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
76408         * modules/md2 (EXTRA_DIST): Add md2.h.
76409         * modules/md4 (EXTRA_DIST): Add md4.h.
76410         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
76411         * modules/read-file (EXTRA_DIST): Add read-file.h.
76412         * modules/readline (EXTRA_DIST): Add readline.h.
76413         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
76414         rijndael-api-fst.h.
76415
76416 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76417
76418         * m4/rijndael.m4 (gl_ARCFOUR):
76419         * m4/arctwo.m4 (gl_ARCTWO):
76420         * m4/check-version.m4 (gl_CHECK_VERSION):
76421         * m4/crc.m4 (gl_CRC):
76422         * m4/des.m4 (gl_DES):
76423         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
76424         * m4/gc.m4 (gl_GC):
76425         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
76426         * m4/getline.m4 (gl_FUNC_GETLINE):
76427         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
76428         * m4/hmac-md5.m4 (gl_HMAC_MD5):
76429         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
76430         * m4/md2.m4 (gl_MD2):
76431         * m4/md4.m4 (gl_MD4):
76432         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
76433         * m4/read-file.m4 (gl_FUNC_READ_FILE):
76434         * m4/readline.m4 (gl_FUNC_READLINE):
76435         * m4/rijndael.m4 (gl_RIJNDAEL):
76436         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76437         to get the necessary .h files and whatnot.
76438
76439 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76440
76441         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
76442         gnulib rather than the other way around.
76443         * config/srclistvars.sh (COREUTILS): Remove.
76444
76445 2006-08-22  Jim Meyering  <jim@meyering.net>
76446
76447         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
76448
76449         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
76450
76451 2006-08-22  Eric Blake  <ebb9@byu.net>
76452
76453         * modules/regexprops-generic: New file.
76454         * MODULES.html.sh (Support for building documentation): List it.
76455
76456 2006-08-22  Eric Blake  <ebb9@byu.net>
76457
76458         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
76459         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
76460         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
76461         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
76462
76463 2006-08-22  Bruno Haible  <bruno@clisp.org>
76464
76465         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
76466         and lib_LTLIBRARIES like the other lib_* variables.
76467
76468 2006-08-22  Bruno Haible  <bruno@clisp.org>
76469
76470         * build-aux/x-to-1.in: New file, from GNU gettext.
76471
76472 2006-08-22  Bruno Haible  <bruno@clisp.org>
76473
76474         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
76475         <utmpx.h> exists.
76476
76477 2006-08-22  Bruno Haible  <bruno@clisp.org>
76478
76479         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
76480         <utmpx.h> exists.
76481
76482 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76483
76484         BeOS portability.
76485         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
76486         exist.
76487         Problem reported by Bruno Haible.
76488
76489 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76490
76491         Avoid the need for AC_LIBSOURCES in m4 macros.
76492         * modules/acl (EXTRA_DIST): Add acl.h.
76493         * modules/argmatch (Files): Add m4/argmatch.m4.
76494         (configure.ac): Add gl_ARGMATCH.
76495         (EXTRA_DIST): Renamed from lib_SOURCES, for
76496         consistency with the other modules.  Remove argmatch.c.
76497         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
76498         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
76499         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
76500         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
76501         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
76502         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
76503         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
76504         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
76505         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
76506         * modules/closeout (EXTRA_DIST): Add closeout.h.
76507         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
76508         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
76509         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
76510         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
76511         dirname.h; remove basename.c and stripslash.c.
76512         * modules/exclude (EXTRA_DIST): Add exclude.h.
76513         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
76514         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
76515         * modules/file-type (EXTRA_DIST): Add file-type.h.
76516         * modules/filemode (EXTRA_DIST): Add filemode.h.
76517         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
76518         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76519         * modules/fpending (EXTRA_DIST): Add __fpending.h.
76520         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
76521         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
76522         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
76523         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
76524         * modules/getdate (EXTRA_DIST): Add getdate.c.
76525         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
76526         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
76527         * modules/getpass (EXTRA_DIST): Add getpass.h.
76528         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
76529         * modules/group-member (EXTRA_DIST): Add group-member.h.
76530         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
76531         * modules/hash (EXTRA_DIST): Add hash.h.
76532         * modules/human (EXTRA_DIST): Add human.h.
76533         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
76534         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
76535         * modules/lchown (EXTRA_DIST): Add lchown.h.
76536         * modules/long-options (EXTRA_DIST): Add long-options.h.
76537         * modules/lstat (EXTRA_DIST): Add lstat.h.
76538         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
76539         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
76540         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
76541         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
76542         * modules/memxor (EXTRA_DIST): Add memxor.h.
76543         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
76544         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
76545         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
76546         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
76547         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
76548         * modules/physmem (EXTRA_DIST): Add physmem.h.
76549         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
76550         * modules/posixver (EXTRA_DIST): Add posixver.h.
76551         * modules/quote (EXTRA_DIST): Add quote.h.
76552         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
76553         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
76554         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
76555         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
76556         regex_internal.h regexec.c.
76557         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
76558         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
76559         * modules/same (EXTRA_DIST): Add same.h.
76560         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
76561         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
76562         * modules/savedir (EXTRA_DIST): Add savedir.h.
76563         * modules/sha1 (EXTRA_DIST): Add sha1.h.
76564         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
76565         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
76566         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
76567         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
76568         * modules/strdup (EXTRA_DIST): Add strdup.h.
76569         * modules/strftime (EXTRA_DIST): Add strftime.h.
76570         * modules/strndup (EXTRA_DIST): Add strndup.h.
76571         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
76572         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
76573         * modules/time_r (EXTRA_DIST): Add time_r.h.
76574         * modules/timespec (EXTRA_DIST): Add timespec.h.
76575         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76576         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
76577         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
76578         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
76579         * modules/userspec (EXTRA_DIST): Add userspec.h.
76580         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
76581         * modules/utimens (EXTRA_DIST): Add utimens.h.
76582         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
76583         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
76584         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
76585         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
76586         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
76587         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
76588         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
76589         * modules/yesno (EXTRA_DIST): Add yesno.h.
76590
76591 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76592
76593         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
76594
76595         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
76596         * m4/dev-ino.m4, same-inode.m4: Remove.
76597
76598         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
76599         * m4/acl.m4 (AC_FUNC_ACL):
76600         * m4/backupfile.m4 (gl_BACKUPFILE):
76601         * m4/c-strtod.m4 (gl_C99_STRTOLD):
76602         * m4/canon-host.m4 (gl_CANON_HOST):
76603         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76604         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
76605         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
76606         * m4/cloexec.m4 (gl_CLOEXEC):
76607         * m4/close-stream.m4 (gl_CLOSE_STREAM):
76608         * m4/closeout.m4 (gl_CLOSEOUT):
76609         * m4/dirfd.m4 (gl_FUNC_DIRFD):
76610         * m4/dirname.m4 (gl_DIRNAME):
76611         * m4/exclude.m4 (gl_EXCLUDE):
76612         * m4/exitfail.m4 (gl_EXITFAIL):
76613         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
76614         * m4/file-type.m4 (gl_FILE_TYPE):
76615         * m4/filemode.m4 (gl_FILEMODE):
76616         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
76617         * m4/fpending.m4 (gl_FUNC_FPENDING):
76618         * m4/fprintftime.m4 (gl_FPRINTFTIME):
76619         * m4/fts.m4 (gl_FUNC_FTS):
76620         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
76621         * m4/getdate.m4 (gl_GETDATE):
76622         * m4/gethrxtime.m4 (gl_GETHRXTIME):
76623         * m4/getpagesize.m4 (gl_GETPAGESIZE):
76624         * m4/getpass.m4 (gl_FUNC_GETPASS):
76625         * m4/gettime.m4 (gl_GETTIME):
76626         * m4/getugroups.m4 (gl_GETUGROUPS):
76627         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
76628         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
76629         * m4/hard-locale.m4 (gl_HARD_LOCALE):
76630         * m4/hash.m4 (gl_HASH):
76631         * m4/idcache.m4 (gl_IDCACHE):
76632         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
76633         * m4/lchown.m4 (gl_FUNC_LCHOWN):
76634         * m4/long-options.m4 (gl_LONG_OPTIONS):
76635         * m4/lstat.m4 (gl_FUNC_LSTAT):
76636         * m4/md5.m4 (gl_MD5):
76637         * m4/memcasecmp.m4 (gl_MEMCASECMP):
76638         * m4/memcoll.m4 (gl_MEMCOLL):
76639         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
76640         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
76641         * m4/memxor.m4 (gl_MEMXOR):
76642         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
76643         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
76644         * m4/modechange.m4 (gl_MODECHANGE):
76645         * m4/mountlist.m4 (gl_MOUNTLIST):
76646         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
76647         * m4/openat.m4 (gl_FUNC_OPENAT):
76648         * m4/pathmax.m4 (gl_PATHMAX):
76649         * m4/physmem.m4 (gl_PHYSMEM):
76650         * m4/posixtm.m4 (gl_POSIXTM):
76651         * m4/posixver.m4 (gl_POSIXVER):
76652         * m4/quote.m4 (gl_QUOTE):
76653         * m4/quotearg.m4 (gl_QUOTEARG):
76654         * m4/readtokens.m4 (gl_READTOKENS):
76655         * m4/readutmp.m4 (gl_READUTMP):
76656         * m4/regex.m4 (gl_REGEX):
76657         * m4/safe-read.m4 (gl_SAFE_READ):
76658         * m4/safe-write.m4 (gl_SAFE_WRITE):
76659         * m4/same.m4 (gl_SAME):
76660         * m4/save-cwd.m4 (gl_SAVE_CWD):
76661         * m4/savedir.m4 (gl_SAVEDIR):
76662         * m4/settime.m4 (gl_SETTIME):
76663         * m4/sha1.m4 (gl_SHA1):
76664         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
76665         * m4/stat-macros.m4 (gl_STAT_MACROS):
76666         * m4/stat-time.m4 (gl_STAT_TIME):
76667         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
76668         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
76669         * m4/strdup.m4 (gl_FUNC_STRDUP):
76670         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
76671         * m4/strndup.m4 (gl_FUNC_STRNDUP):
76672         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
76673         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
76674         * m4/time_r.m4 (gl_TIME_R):
76675         * m4/timespec.m4 (gl_TIMESPEC):
76676         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
76677         * m4/unlinkdir.m4 (gl_UNLINKDIR):
76678         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
76679         * m4/userspec.m4 (gl_USERSPEC):
76680         * m4/utimecmp.m4 (gl_UTIMECMP):
76681         * m4/utimens.m4 (gl_UTIMENS):
76682         * m4/xalloc.m4 (gl_XALLOC):
76683         * m4/xgetcwd.m4 (gl_XGETCWD):
76684         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
76685         * m4/xreadlink.m4 (gl_XREADLINK):
76686         * m4/xstrtod.m4 (gl_XSTRTOD):
76687         * m4/yesno.m4 (gl_YESNO):
76688         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76689         to get the necessary .h files and whatnot.
76690
76691 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
76692             Bruno Haible  <bruno@clisp.org>
76693
76694         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
76695         /bin/sh understanding of '!' conditional negation.
76696
76697 2006-08-21  Jim Meyering  <jim@meyering.net>
76698
76699         * modules/openat (Depends-on): Really alphabetize.
76700
76701         * modules/acl (Depends-on): Add error and quote.
76702
76703         * check-module (find_included_lib_files): Add at-func.c to the
76704         ok-to-include-more-than-once white list.
76705
76706         * modules/openat (Depends-on): Add lstat.  Alphabetize.
76707
76708 2006-08-21  Bruno Haible  <bruno@clisp.org>
76709
76710         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76711         Emit a pkgdata_DATA variable only if some snippets add contents to it.
76712         Reported by Martin Lambers <marlam@marlam.de>.
76713
76714 2006-08-21  Bruno Haible  <bruno@clisp.org>
76715
76716         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
76717         specify an installation location, don't emit a noinst_LIBRARIES or
76718         noinst_LTLIBRARIES assignment.
76719
76720 2006-08-21  Bruno Haible  <bruno@clisp.org>
76721
76722         BeOS portability.
76723         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
76724         BeOS has mbrtowc() but no <wctype.h>.
76725
76726 2006-08-21  Bruno Haible  <bruno@clisp.org>
76727
76728         BeOS portability.
76729         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
76730         exist.
76731
76732 2006-08-21  Bruno Haible  <bruno@clisp.org>
76733
76734         BeOS portability.
76735         * lib/mbchar.h: Include <wctype.h> only if it exists.
76736
76737 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76738
76739         Remove files that are no longer needed by their respective modules.
76740         * m4/obstack.m4: Remove.
76741         * m4/strerror_r.m4: Remove.
76742         * m4/uint32_t.m4: Remove.
76743         * m4/uintptr_t.m4: Remove.
76744         * m4/ullong_max.m4: Remove.
76745         * m4/xstrtoimax.m4: Remove.
76746         * m4/xstrtoumax.m4: Remove.
76747
76748         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
76749         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
76750         dependencies now capture this.
76751
76752         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
76753         Do not use AC_LIBSOURCES, since gnulib modules now do this.
76754         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
76755         * m4/human.m4 (gl_HUMAN): Likewise.
76756         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
76757         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
76758
76759         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
76760
76761         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
76762         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
76763         stdint.
76764         * m4/human.m4 (gl_HUMAN): Likewise.
76765         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
76766         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76767         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76768         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76769         * m4/xstrtol (gl_XSTRTOL): Likewise.
76770
76771         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76772         AC_TYPE_LONG_LONG_INT.
76773         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76774         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76775         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76776         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76777
76778         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76779         on stdbool.
76780
76781         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76782         (gl_PREREQ_XSTRTOUL): Remove.
76783
76784         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76785
76786         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76787         mode.
76788
76789 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76790
76791         Add and change modules to make it easier for coreutils to use
76792         gnulib-tool.
76793         * modules/backupfile (Files): Remove m4/d-ino.m4.
76794         (Depends-on): Add d-ino.
76795         * modules/cycle-check (Depends-on): Add stdint.
76796         (lib_SOURCES): Add cycle-check.h.
76797         * modules/d-ino: New module.
76798         * modules/d-type: New module.
76799         * modules/error (Files): Remove m4/strerror_r.m4.
76800         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76801         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76802         m4/inttypes_h.m4, m4/uintmax_t.m4.
76803         (Depends-on): Add stdint.
76804         (lib_SOURCES): Add fsusage.h.
76805         * modules/getcwd (Files): Remove d-ino.m4.
76806         (Depends-on): Add d-ino.
76807         * modules/getndelim2 (Depends-on): Add stdint.
76808         * modules/glob (Files): Remove m4/d-type.m4.
76809         (Depends-on): Add d-type.
76810         * modules/host-os: New module.
76811         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76812         m4/inttypes_h.m4, m4/uintmax_t.m4.
76813         * Depends-on: Add stdint.
76814         (lib_SOURCES): Add human.h.
76815         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76816         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76817         m4/uintmax_t.m4, m4/ulonglong.m4.
76818         (Depends-on): Add stdint.
76819         (EXTRA_DIST): Add inttostr.h.
76820         * modules/lchmod: New module.
76821         * modules/link-follow: New module.
76822         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76823         (Depends-on): Add lchmod.
76824         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76825         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76826         (Depends-on): Add stdint.
76827         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76828         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76829         (Depends-on): Add stdint.
76830         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76831         * modules/perl: New module.
76832         * modules/regex (Depends-on): Add stdint.
76833         * modules/rmdir-errno: New module.
76834         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76835         m4/intmax_t.m4.
76836         (Depends-on): Add stdint.
76837         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76838         m4/uintmax_t.m4.
76839         (Depends-on): Add stdint.
76840         * modules/unlink-busy: New module.
76841         * modules/utimecmp (Depends-on): Add stdint.
76842         * modules/uptime: New module.
76843         * modules/winsz-ioctl: New module.
76844         * modules/winsz-termios: New module.
76845         * modules/xnanosleep (Depends-on): Add nanosleep.
76846         * modules/ullong_max: Remove.
76847         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76848         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76849         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76850         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76851         (Depends-on): Add inttypes.
76852         (lib_SOURCES): Add xstrtol.h.
76853         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76854         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76855         * MODULES.html.sh: Move 'assert' into the assert section.
76856         Move 'dummy' into the linking section.
76857         Remove ullong_max.
76858         Add section for compatibility checks for POSIX:2001 functions,
76859         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76860         winsz-ioctl, and winsz-termios into it.
76861         Add lchmod.
76862         Add top-level Misc section and put host-os, perl, and uptime
76863         into it.
76864
76865 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76866
76867         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76868         now assume the stdint module.  Do not include inttypes.h.
76869         * lib/fsusage.h: Likewise.
76870         * lib/getndelim2.c: Likewise.
76871         * lib/human.h: Likewise.
76872         * lib/inttostr.h: Likewise.
76873         * lib/obstack.c: Likewise.
76874         * lib/regex_internal.h: Likewise.
76875         * lib/tempname.c: Likewise.
76876         * lib/utimecmp.c: Likewise.
76877         * lib/xstrtol.h: Likewise.
76878
76879         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76880
76881         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76882         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76883         * lib/xtime.h: Likewise.
76884
76885 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * modules/openat (Files): Add lib/fchmodat.c.
76888         Fixes problem reported by Jay Youngman.
76889
76890 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76891
76892         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76893         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76894
76895 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76896             Bruno Haible  <bruno@clisp.org>
76897
76898         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76899         and is a script that invokes bison. Tighten the code. Add comments.
76900
76901 2006-08-18  Jim Meyering  <jim@meyering.net>
76902
76903         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76904         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76905         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76906         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76907
76908 2006-08-18  Bruno Haible  <bruno@clisp.org>
76909
76910         * modules/bison-i18n: New file.
76911         * MODULES.html.sh (Internationalization functions): Add it.
76912
76913 2006-08-18  Bruno Haible  <bruno@clisp.org>
76914
76915         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76916         sys/statvfs.h. When getmntinfo was found, check its declaration and
76917         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76918
76919 2006-08-18  Bruno Haible  <bruno@clisp.org>
76920
76921         * m4/bison-i18n.m4: New file, from bison.
76922
76923 2006-08-18  Bruno Haible  <bruno@clisp.org>
76924
76925         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76926         (ME_DUMMY): Treat "kernfs" as a dummy.
76927         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76928
76929 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76930
76931         Update from coreutils.
76932
76933         2006-08-15  Jim Meyering  <jim@meyering.net>
76934
76935         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76936
76937         2006-01-17  Jim Meyering  <jim@meyering.net>
76938
76939         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
76940
76941         2006-01-11  Jim Meyering  <jim@meyering.net>
76942
76943         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
76944         Check for the lchmod function.
76945
76946 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76947
76948         Update from coreutils.
76949
76950         * lib/__fpending.h: Add copyright notice.
76951         * lib/fprintftime.h: Likewise.
76952         * lib/savedir.c: Use (C) in copyright notice.
76953         * lib/savedir.h: Likewise.
76954
76955         2006-08-15  Jim Meyering  <jim@meyering.net>
76956
76957         * lib/at-func.c: New file, with the logic of all emulated at-functions.
76958         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
76959         in support of the EXPECTED_ERRNO macro.
76960         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
76961         definitions.  Instead, define the appropriate symbols and include
76962         "at-func.c".
76963         * lib/mkdirat.c (mkdirat): Likewise.
76964         * lib/fchmodat.c (fchmodat): Likewise.
76965         (ENOSYS): Remove definition.
76966         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
76967         it.  Don't include "unistd--.h" -- it wasn't ever used.
76968
76969         2006-01-17  Jim Meyering  <jim@meyering.net>
76970
76971         Rewrite fts.c not to change the current working directory,
76972         by using openat, fstatat, fdopendir, etc..
76973
76974         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
76975         (HAVE_OPENAT_SUPPORT): Define.
76976         [_LIBC] (fchdir): Don't undef or define; no longer used.
76977         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
76978         Now, this `function' always succeeds, and consumes its file descriptor
76979         parameter -- so callers must not close such FDs.  Update callers.
76980         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76981         (diropen): Add parameter, SP.  Adjust all callers.
76982         Implement using diropen_fd, rather than open.
76983         (fts_open): Initialize new member, fts_cwd_fd.
76984         Remove fts_rft-setting code.
76985         (fts_close): Close fts_cwd_fd, if necessary.
76986         (__opendir2): Define in terms of opendir or opendirat,
76987         depending on whether the FST_NOCHDIR flag is set.
76988         (fts_build): Since fts_safe_changedir consumes its FD, and since
76989         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76990         and close the dup'd file descriptor upon failure.
76991         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76992         (fts_safe_changedir): Tweak semantics to reflect that this function
76993         now calls cwd_advance_fd and hence consumes its FD argument.
76994         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76995         [struct FTS] (fts_rft): Remove now-unused member.
76996         [struct FTS] (fts_cycle.state): Improve comment.
76997
76998         * lib/openat.c (openat_needs_fchdir): New function.
76999         * lib/openat.h (openat_needs_fchdir): Declare it.
77000
77001 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77002
77003         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
77004         Problem and fix reported by Pádraig Brady in
77005         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
77006
77007 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77008
77009         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
77010
77011 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77012
77013         * lib/memcoll.c (memcoll): Optimize for the common case where the
77014         arguments are bytewise equal.
77015
77016 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77017
77018         * doc/regexprops-generic.texi: Add a copyright notice.
77019
77020 2006-08-15  Bruno Haible  <bruno@clisp.org>
77021
77022         * modules/tmpdir (License): Change to LGPL.
77023
77024 2006-08-15  Bruno Haible  <bruno@clisp.org>
77025
77026         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
77027         module.
77028
77029 2006-08-14  Simon Josefsson  <jas@extundo.com>
77030
77031         * config/srclist.txt: Add gnupload.
77032
77033 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77034
77035         Change copyright notice from LGPL 2 to GPL 2, since that's the
77036         standard form used in the gnulib repository.
77037         * tests/test-lock.c: Likewise.
77038         * tests/test-stdint.c: Likewise.
77039         * tests/test-tls.c: Likewise.
77040
77041         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
77042         prelude-manager.  User shorter URLs for GNU projects, without '?'.
77043         Add copyright notice.
77044
77045         * check-module: Add copyright notice.  Output a copyright
77046         notice if "--version" is specified.
77047         * modules/COPYING: New file.
77048         * tests/test-getaddrinfo.c: Add copyright notice.
77049         * tests/test-verify.c: Likewise.
77050
77051 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77052
77053         Change copyright notice from LGPL 2 to GPL 2, since that's the
77054         standard form used in the gnulib repository.
77055         * lib/lock.c: LGPL -> GPL.
77056         * lib/lock.h: Likewise.
77057         * lib/strnlen1.c: Likewise.
77058         * lib/strnlen1.h: Likewise.
77059         * lib/tls.c: Likewise.
77060         * lib/tls.h: Likewise.
77061         * lib/tmpdir.c: Likewise.
77062
77063         * lib/TODO: Remove; this belongs only in coreutils.
77064
77065 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77066
77067         Add copyright notices to long-enough files that lack them, since
77068         otherwise the files aren't clearly free.  Use the same notice that
77069         getdate.texi already uses.
77070         * doc/alloca-opt.texi: Add copyright notice.
77071         * doc/alloca.texi: Likewise.
77072         * doc/ctime.texi: Likewise.
77073         * doc/functions.texi: Likewise.
77074         * doc/gcd.texi: Likewise.
77075         * doc/gnulib-tool.texi: Likewise.
77076         * doc/inet_ntoa.texi: Likewise.
77077         * doc/visibility.texi: Likewise.
77078
77079         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
77080         * doc/quote.texi: Add copyright notice.
77081
77082         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
77083         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
77084         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
77085         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
77086         is now obsolete, and give a pointer to the Sun list.
77087         Add copyright notice.
77088
77089 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77090
77091         * config/srclistvars.sh: Add copyright notice.
77092
77093 2006-08-14  Eric Blake  <ebb9@byu.net>
77094
77095         Import the following change from libc:
77096
77097         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
77098
77099         Upstream bug 2997.
77100         * lib/misc/error.c: Add space between program name and message if file
77101         name is missing.
77102
77103 2006-08-12  Karl Berry  <karl@gnu.org>
77104
77105         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
77106         remove, these originate in gnulib now.
77107
77108 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77109
77110         * doc/Makefile (standards.info standards.html standards.dvi):
77111         Also depend on make-stds.texi.
77112
77113 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77114
77115         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
77116         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
77117
77118         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
77119         in wchar_t.  Problem reported by Eric Blake.
77120
77121         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
77122         LEN is smaller than SIZE.  Suggested by Bruno Haible.
77123         Also, help the compiler to keep LEN in a register.
77124
77125 2006-08-11  Eric Blake  <ebb9@byu.net>
77126
77127         * users.txt: Sort.  Add tar.
77128
77129 2006-08-11  Bruno Haible  <bruno@clisp.org>
77130
77131         * users.txt: New file.
77132
77133 2006-08-11  Bruno Haible  <bruno@clisp.org>
77134
77135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
77136         before <wchar.h>. Needed for OSF/1 and BSD/OS.
77137
77138 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77139
77140         * modules/snprintf (Depends-on): Remove minmax.
77141         (Maintainer): Add self and Bruno.
77142
77143 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77144
77145         * lib/.cppi-disable: Add snprintf.h, socket_.h.
77146         * lib/snprintf.c: Include <errno.h> and <limits.h>.
77147         (EOVERFLOW): Define if the system does not.
77148         Do not include "minmax.h"; it wasn't used.
77149         (snprintf): Don't assume size_t promotes to an unsigned type.
77150         Fix bug when generated string was too long for the buffer: the
77151         buffer's contents are supposed to be the initial prefix of the
77152         output.  Don't assume vasnprintf returns EOVERFLOW if the size
77153         exceeds INT_MAX; do the check ourselves.
77154
77155         Import the following changes from libc:
77156
77157         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
77158
77159         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
77160         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
77161         set wc to the byte which couldn't be converted.
77162         (re_string_reconstruct): Don't clear valid_raw_len before calling
77163         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
77164         tip_context using re_string_context_at.
77165
77166         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
77167
77168         * lib/posix/regex.h: g++ still cannot handled [restrict].
77169
77170         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
77171
77172         * lib/posix/regex.h: Remove special handling for VMS.
77173
77174 2006-08-10  Jim Meyering  <jim@meyering.net>
77175
77176         * modules/same-inode: New module.
77177         * modules/dev-ino: New module.
77178         * modules/cycle-check: Depend on these modules, rather than simply
77179         including their .h files.
77180         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
77181         required via m4/cycle-check.m4.
77182         * modules/same: Depend on new same-inode module, rather than
77183         including same-inode.h.
77184         * modules/chdir-safer: New file.
77185
77186         * modules/chown (Depends-on): Add stat-macros.
77187
77188 2006-08-10  Jim Meyering  <jim@meyering.net>
77189
77190         * m4/cycle-check.m4: New file.
77191         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
77192         * m4/dev-ino.m4, m4/same-inode.m4: New files.
77193
77194 2006-08-10  Eric Blake  <ebb9@byu.net>
77195
77196         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
77197         in from original proposal.
77198
77199 2006-08-10  Eric Blake  <ebb9@byu.net>
77200         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77201
77202         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
77203         namespace.
77204
77205 2006-08-10  Bruno Haible  <bruno@clisp.org>
77206
77207         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
77208         as well.
77209
77210 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77211
77212         Sync from coreutils.
77213
77214         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
77215
77216         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
77217         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
77218
77219 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77220
77221         * modules/restrict: Remove; no longer needed now that we assume
77222         Autoconf 2.59 or later.
77223         * MODULES.html.sh: Remove 'restrict'.
77224         * modules/argp (Depends-on): Remove 'restrict'.
77225         * modules/base64 (Depends-on): Likewise.
77226         * modules/gc (Depends-on): Likewise.
77227         * modules/getaddrinfo (Depends-on): Likewise.
77228         * modules/glob (Depends-on): Likewise.
77229         * modules/inet_ntop (Depends-on): Likewise.
77230         * modules/inet_pton (Depends-on): Likewise.
77231         * modules/memxor (Depends-on): Likewise.
77232         * modules/regex (Depends-on): Likewise.
77233         * modules/strtok_r (Depends-on): Likewise.
77234         * modules/time_r (Depends-on): Likewise.
77235
77236 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77237
77238         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
77239         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
77240         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77241         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
77242         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
77243         * m4/memxor.m4 (gl_MEMXOR): Likewise.
77244         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
77245         gl_C_RESTRICT replaced by AC_C_RESTRICT.
77246
77247         Merge from coreutils.
77248         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
77249         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
77250         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77251         * m4/time_r.m4 (gl_TIME_R): Likewise.
77252
77253 2006-08-09  Karl Berry  <karl@gnu.org>
77254
77255         * config/srclist.txt: no more gettext-tools, per Bruno.
77256
77257 2006-08-08  Eric Blake  <ebb9@byu.net>
77258
77259         * modules/verror: New module.
77260         * MODULES.html.sh: Document it.
77261
77262 2006-08-08  Eric Blake  <ebb9@byu.net>
77263
77264         * lib/verror.h, lib/verror.c: New files.
77265
77266 2006-08-08  Eric Blake  <ebb9@byu.net>
77267
77268         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
77269         verror_at_line output complies with GNU Coding Standards even when
77270         file is NULL.
77271
77272 2006-08-07  Bruno Haible  <bruno@clisp.org>
77273
77274         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
77275         versions of AIX.
77276         Reported by Ralf Wildenhues.
77277
77278 2006-08-07  Bruno Haible  <bruno@clisp.org>
77279
77280         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
77281         in an AC_DEFUN. Needed so that the autoconf snippets can use
77282         AC_REQUIRE.
77283
77284 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77285
77286         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77287         Initialize pkgdata_DATA.
77288         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
77289         overriding it.
77290
77291 2006-08-06  Eric Blake  <ebb9@byu.net>
77292
77293         * lib/error.h: Fold in some upstream changes from glibc.
77294         * lib/error.c: Likewise.
77295
77296 2006-08-04  Bruno Haible  <bruno@clisp.org>
77297
77298         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77299         Make the mostlyclean-local rule depend on mostlyclean-generic.
77300         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
77301
77302 2006-07-31  Bruno Haible  <bruno@clisp.org>
77303
77304         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
77305         <stdlib.h>, <string.h>.
77306
77307 2006-07-30  Bruno Haible  <bruno@clisp.org>
77308
77309         * modules/readlink (License): Change to LGPL.
77310
77311 2006-07-30  Bruno Haible  <bruno@clisp.org>
77312
77313         * modules/javaversion (Makefile.am): Distribute javaversion.java and
77314         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
77315         set PKGDATADIR to point to it.
77316
77317 2006-07-30  Bruno Haible  <bruno@clisp.org>
77318
77319         * modules/csharpexec (configure.ac): Comment out macro invocation.
77320         * modules/javaexec (configure.ac): Likewise.
77321         * modules/javacomp-script (configure.ac): Likewise.
77322
77323         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
77324
77325 2006-07-30  Bruno Haible  <bruno@clisp.org>
77326
77327         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
77328         linked-list.
77329
77330 2006-07-30  Bruno Haible  <bruno@clisp.org>
77331
77332         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
77333
77334 2006-07-30  Bruno Haible  <bruno@clisp.org>
77335
77336         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77337         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
77338         get removed.
77339
77340 2006-07-29  Bruno Haible  <bruno@clisp.org>
77341
77342         Make it possible for gnulib-tool to work with locally modified or
77343         augmented gnulib repositories.
77344         * gnulib-tool (func_usage): Document --local-dir option.
77345         (local_gnulib_dir): New variable.
77346         Handle --local-dir option.
77347         (func_lookup_file): New function.
77348         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77349         (func_get_description, func_get_filelist, func_get_description,
77350         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77351         func_get_automake_snippet, func_get_include_directive,
77352         func_get_license, func_get_maintainer): Use func_lookup_file.
77353         (func_import, func_create_testdir): Use func_lookup_file.
77354
77355 2006-07-29  Bruno Haible  <bruno@clisp.org>
77356
77357         * modules/setenv (Depends-on): Add unistd.
77358
77359 2006-07-29  Bruno Haible  <bruno@clisp.org>
77360
77361         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77362
77363 2006-07-29  Bruno Haible  <bruno@clisp.org>
77364
77365         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77366
77367 2006-07-29  Bruno Haible  <bruno@clisp.org>
77368
77369         * gnulib-tool (import, update): If there is no Makefile.am, look at
77370         aclocal.m4, instead of bailing out.
77371
77372 2006-07-29  Bruno Haible  <bruno@clisp.org>
77373
77374         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77375         Categorize the options by when they are useful.
77376
77377 2006-07-29  Bruno Haible  <bruno@clisp.org>
77378
77379         * gnulib-tool (func_usage): Document option --no-libtool.
77380         Handle option --no-libtool.
77381         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77382         for changed semantics of $libtool variable.
77383         (func_import): Likewise. If libtool is not used, show this through
77384         an option --no-libtool.
77385         (func_create_testdir): Update.
77386
77387 2006-07-29  Bruno Haible  <bruno@clisp.org>
77388
77389         * gnulib-tool (func_import): Extend error message about missing
77390         --doc-base.
77391
77392 2006-07-29  Bruno Haible  <bruno@clisp.org>
77393
77394         * gnulib-tool (func_import): Don't create the $docbase directory if
77395         there is no file to store there.
77396
77397 2006-07-29  Bruno Haible  <bruno@clisp.org>
77398
77399         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77400         relevant, look for configure.ac there, not in the current directory.
77401         Also use a simple search for AC_PREREQ, not "autoconf --trace".
77402
77403 2006-07-29  Bruno Haible  <bruno@clisp.org>
77404
77405         * gnulib-tool (SORT): New variable.
77406         (func_usage): Undocument --assume-autoconf option.
77407         Remove --assume-autoconf option handling.
77408         (autoconf_minversion): Determine from the contents of configure.ac.
77409         (func_import): Remove autoconf_minversion handling.
77410         Suggested by Eric Blake.
77411
77412 2006-07-29  Bruno Haible  <bruno@clisp.org>
77413
77414         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
77415
77416 2006-07-29  Bruno Haible  <bruno@clisp.org>
77417
77418         * config/srclist.txt (*setenv.[ch]): Remove rules.
77419
77420 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77421
77422         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
77423
77424 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77425
77426         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
77427         arpa/inet.h.
77428
77429 2006-07-28  Simon Josefsson  <jas@extundo.com>
77430
77431         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
77432         * modules/inet_pton (Depends-on): Likewise.
77433
77434 2006-07-28  Simon Josefsson  <jas@extundo.com>
77435
77436         * m4/netinet_in_h.m4: New file.
77437
77438 2006-07-28  Simon Josefsson  <jas@extundo.com>
77439
77440         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
77441         #include's.
77442
77443 2006-07-28  Simon Josefsson  <jas@extundo.com>
77444
77445         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
77446         #include's.
77447
77448 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
77449
77450         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
77451         setgid on directories only if they set these bits.
77452         * lib/modechange.h: Remove obsolete comment about masks.
77453
77454 2006-07-28  Eric Blake  <ebb9@byu.net>
77455
77456         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
77457         macro expansion.
77458
77459 2006-07-28  Bruno Haible  <bruno@clisp.org>
77460
77461         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
77462
77463 2006-07-28  Bruno Haible  <bruno@clisp.org>
77464
77465         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
77466
77467 2006-07-28  Bruno Haible  <bruno@clisp.org>
77468
77469         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77470         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77471         Define fallbacks.
77472         Avoids link error on FreeBSD 4.x.
77473         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77474
77475         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
77476         encoding.
77477         * lib/mbswidth.c (iswcntrl): Likewise.
77478
77479 2006-07-27  Bruno Haible  <bruno@clisp.org>
77480
77481         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
77482         test.
77483
77484 2006-07-27  Bruno Haible  <bruno@clisp.org>
77485
77486         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
77487         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
77488         defined.
77489
77490 2006-07-26  Eric Blake  <ebb9@byu.net>
77491
77492         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
77493
77494 2006-07-26  Eric Blake  <ebb9@byu.net>
77495
77496         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
77497         like mingw that lack mkstemp.
77498         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
77499         avoid compilation warning on mingw.
77500
77501 2006-07-26  Bruno Haible  <bruno@clisp.org>
77502
77503         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
77504         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
77505         INT_FAST*_MIN, INTPTR_MIN.
77506
77507 2006-07-25  Bruno Haible  <bruno@clisp.org>
77508
77509         * modules/version-etc (Depends-on): Add stdarg.
77510
77511 2006-07-25  Bruno Haible  <bruno@clisp.org>
77512
77513         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
77514         complex commands.
77515
77516 2006-07-25  Bruno Haible  <bruno@clisp.org>
77517
77518         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
77519         defined in <stdarg.h> or config.h.
77520
77521 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77522
77523         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
77524         (gl_STDIO_SAFER): Remove.
77525
77526 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77527
77528         * MODULES.html.sh (File stream based Input/Output):
77529         Add fopen-safer, tmpfile-safer; remove stdio-safer.
77530         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
77531         * modules/fopen-safer, modules/tmpfile-safer: New files.
77532         * modules/stdio-safer: Remove.
77533
77534 2006-07-24  Bruno Haible  <bruno@clisp.org>
77535
77536         * modules/tmpdir: New file.
77537         * MODULES.html.sh (File system functions): Add it.
77538
77539 2006-07-24  Bruno Haible  <bruno@clisp.org>
77540
77541         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
77542         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
77543
77544 2006-07-24  Bruno Haible  <bruno@clisp.org>
77545
77546         * modules/clean-temp: New file.
77547
77548 2006-07-24  Bruno Haible  <bruno@clisp.org>
77549
77550         * m4/tmpdir.m4: New file, from GNU gettext.
77551
77552 2006-07-24  Bruno Haible  <bruno@clisp.org>
77553
77554         * lib/tmpdir.h: New file, from GNU gettext.
77555         * lib/tmpdir.c: New file, from GNU gettext.
77556
77557 2006-07-24  Bruno Haible  <bruno@clisp.org>
77558
77559         * lib/clean-temp.h: New file, from GNU gettext.
77560         * lib/clean-temp.c: New file, from GNU gettext.
77561
77562 2006-07-23  Eric Blake  <ebb9@byu.net>
77563
77564         * modules/stdio-safer (Files): Add tmpfile-safer.c.
77565         (Depends-on): Add binary-io.
77566
77567 2006-07-23  Eric Blake  <ebb9@byu.net>
77568
77569         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
77570
77571 2006-07-23  Eric Blake  <ebb9@byu.net>
77572
77573         * lib/tmpfile-safer.c: New file.
77574         * lib/stdio-safer.h (fopen_safer): Add prototype.
77575         * lib/stdio--.h (tmpfile): Make safer.
77576
77577 2006-07-23  Bruno Haible  <bruno@clisp.org>
77578
77579         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
77580         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
77581         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
77582         gl_linked_remove_at): Use it.
77583
77584 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77585         and Simon Josefsson <jas@extundo.com>
77586
77587         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
77588
77589         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
77590
77591 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77592
77593         * modules/close-stream: New file.
77594         * modules/closeout (Description): Make it clear that it exits
77595         with a diagnostic on error.
77596         (Depends-on): Add close-stream.  Remove fpending, stdbool.
77597         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
77598
77599 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77600
77601         * m4/close-stream.m4: New file.
77602
77603 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77604
77605         * lib/close-stream.c, lib/close-stream.h: New files.
77606
77607 2006-07-22  Bruno Haible  <bruno@clisp.org>
77608
77609         Merge from GNU gettext 0.15.
77610
77611         2006-05-01  Bruno Haible  <bruno@clisp.org>
77612
77613                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
77614
77615         2006-07-22  Bruno Haible  <bruno@clisp.org>
77616
77617                 * modules/javaversion: New file.
77618                 * MODULES.html.sh (Java): Add javaversion.
77619
77620         2006-03-12  Bruno Haible  <bruno@clisp.org>
77621
77622                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
77623
77624         2005-12-04  Bruno Haible  <bruno@clisp.org>
77625
77626                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
77627                 (untested).
77628
77629         2006-06-21  Bruno Haible  <bruno@clisp.org>
77630
77631                 Avoid warnings from recent versions of mcs.
77632                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
77633                 -o, -L, -r any more. Use options documented since mcs-1.0
77634                 instead. Similarly for -g.
77635
77636         2005-12-04  Bruno Haible  <bruno@clisp.org>
77637
77638                 * build-aux/csharpcomp.sh.in: Suffix for resources is
77639                 .resources, not .resource.
77640
77641         2005-07-09  Bruno Haible  <bruno@clisp.org>
77642
77643                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
77644                 add a .dll suffix.
77645                 Reported by Mark Junker <mjscod@gmx.de>.
77646
77647         2006-07-22  Bruno Haible  <bruno@clisp.org>
77648
77649                 * modules/gettext: Upgrade to gettext-0.15.
77650                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
77651                 m4/visibility.m4.
77652                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
77653
77654 2006-07-22  Bruno Haible  <bruno@clisp.org>
77655
77656         Merge from GNU gettext 0.15.
77657
77658         2006-03-25  Bruno Haible  <bruno@clisp.org>
77659
77660                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
77661
77662         2006-07-21  Bruno Haible  <bruno@clisp.org>
77663
77664                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
77665                 "1.1".
77666
77667         2006-05-09  Bruno Haible  <bruno@clisp.org>
77668
77669                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
77670                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
77671                 for the conftestver execution.
77672
77673         2006-05-01  Bruno Haible  <bruno@clisp.org>
77674
77675                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
77676                 optional target-version argument. Verify that the compiler
77677                 groks source of the specified source-version, or add -source
77678                 option as necessary. Verify that the compiler produces
77679                 bytecode in the specified target-version, or add -target and
77680                 -source options as necessary. Make the result of the test
77681                 available as variable CONF_JAVAC. Also log error output in
77682                 config.log.
77683
77684         2006-03-11  Bruno Haible  <bruno@clisp.org>
77685
77686                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
77687
77688         2006-05-09  Bruno Haible  <bruno@clisp.org>
77689
77690                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
77691                 CLASSPATH_SEPARATOR to a semicolon.
77692
77693         2006-03-12  Bruno Haible  <bruno@clisp.org>
77694
77695                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
77696                 available as variable CONF_JAVA, for subsequent autoconf
77697                 tests. Also log error output in config.log.
77698
77699         2006-07-19  Bruno Haible  <bruno@clisp.org>
77700
77701                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
77702                 that getline works on glibc2 systems. Needed to avoid trouble
77703                 in relocatable.c.
77704                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
77705
77706         2005-12-04  Bruno Haible  <bruno@clisp.org>
77707
77708                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
77709                 launcher (untested).
77710
77711         2005-12-04  Bruno Haible  <bruno@clisp.org>
77712
77713                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
77714
77715         2006-07-22  Bruno Haible  <bruno@clisp.org>
77716
77717                 * gettext.m4: Update from GNU gettext-0.15.
77718                 * nls.m4: Likewise.
77719                 * po.m4: Likewise.
77720                 * inttypes-pri.m4: Likewise.
77721                 * inttypes-h.m4: Renamed from inttypes.m4.
77722                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
77723
77724 2006-07-22  Bruno Haible  <bruno@clisp.org>
77725
77726         Merge from GNU gettext 0.15.
77727
77728         2005-07-05  Bruno Haible  <bruno@clisp.org>
77729
77730                 * printf-args.c (printf_fetchargs): Work around broken
77731                 definition of wint_t on mingw.
77732
77733         2005-02-12  Bruno Haible  <bruno@clisp.org>
77734
77735                 * xallocsa.h: Add extern "C" for C++.
77736
77737         2006-05-17  Bruno Haible  <bruno@clisp.org>
77738
77739                 Cygwin portability.
77740                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
77741
77742         2006-04-30  Bruno Haible  <bruno@clisp.org>
77743
77744                 * progreloc.c: Include <mach-o/dyld.h> if available.
77745                 (find_executable): Use _NSGetExecutablePath when possible.
77746
77747         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77748
77749                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
77750                 function.
77751
77752         2005-12-29  Bruno Haible  <bruno@clisp.org>
77753
77754                 * progreloc.c (set_program_name_and_installdir): Fix
77755                 compilation error.
77756
77757         2005-12-04  Bruno Haible  <bruno@clisp.org>
77758
77759                 Cygwin portability.
77760                 * progreloc.c: Include <windows.h> also on Cygwin.
77761                 (find_executable): Add support for Cygwin.
77762                 (set_program_name_and_installdir): Handle also platforms with
77763                 nonempty EXEEXT.
77764
77765         2006-07-11  Bruno Haible  <bruno@clisp.org>
77766
77767                 * javacomp.c: Fix a comment.
77768                 Reported by Jim Meyering.
77769
77770         2006-04-30  Bruno Haible  <bruno@clisp.org>
77771
77772                 * javacomp.h (compile_java_class): Add source_version,
77773                 target_version arguments.
77774                 * javacomp.c: Rewritten to choose only a compiler that
77775                 respects the specified source_version and target_version.
77776
77777         2006-06-27  Bruno Haible  <bruno@clisp.org>
77778
77779                 Assume correct S_ISDIR macro.
77780                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77781
77782         2006-07-22  Bruno Haible  <bruno@clisp.org>
77783
77784                 * javaversion.h: New file, from GNU gettext.
77785                 * javaversion.c: New file, from GNU gettext.
77786                 * javaversion.java: New file, from GNU gettext.
77787                 * javaversion.class: New file, from GNU gettext.
77788
77789         2006-05-17  Bruno Haible  <bruno@clisp.org>
77790
77791                 Cygwin portability.
77792                 * javaexec.c (execute_java_class): Test for jview program
77793                 also on Cygwin.
77794
77795         2006-04-09  Bruno Haible  <bruno@clisp.org>
77796
77797                 * fatal-signal.c: Don't include string.h.
77798                 (at_fatal_signal): Use a copying loop instead of memcpy.
77799
77800         2005-12-04  Bruno Haible  <bruno@clisp.org>
77801
77802                 * csharpexec.c: Add support for 'clix' launcher (untested).
77803                 (execute_csharp_using_sscli): New function.
77804                 (execute_csharp_program): Call it.
77805
77806         2006-06-21  Bruno Haible  <bruno@clisp.org>
77807
77808                 Avoid warnings from recent versions of mcs.
77809                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77810                 -o, -L, -r any more. Use options documented since mcs-1.0
77811                 instead. Similarly for -g.
77812
77813         2005-07-09  Bruno Haible  <bruno@clisp.org>
77814
77815                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77816                 add a .dll suffix.
77817                 Reported by Mark Junker <mjscod@gmx.de>.
77818
77819         2006-06-17  Bruno Haible  <bruno@clisp.org>
77820
77821                 * config.charset: Update for NetBSD 3.0.
77822
77823         2006-05-17  Bruno Haible  <bruno@clisp.org>
77824
77825                 Cygwin portability.
77826                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77827
77828         2006-05-16  Bruno Haible  <bruno@clisp.org>
77829
77830                 * localcharset.c [CYGWIN]: Include <windows.h>.
77831                 (get_charset_aliases): For Cygwin, return the same CPxxx
77832                 aliases list as under WIN32.
77833                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77834                 the environment variables. Fall back to GetACP().
77835
77836         2006-04-05  Bruno Haible  <bruno@clisp.org>
77837
77838                 * config.charset: Update Juan Manuel Guerrero's address.
77839
77840         2005-02-12  Bruno Haible  <bruno@clisp.org>
77841
77842                 * allocsa.h: Add extern "C" for C++.
77843
77844         2005-02-10  Bruno Haible  <bruno@clisp.org>
77845
77846                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77847                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77848
77849         2006-07-22  Bruno Haible  <bruno@clisp.org>
77850
77851                 * gettext.h: Update to GNU gettext-0.15.
77852
77853 2006-07-22  Bruno Haible  <bruno@clisp.org>
77854
77855         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77856         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77857         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77858
77859 2006-07-21  Eric Blake  <ebb9@byu.net>
77860
77861         * modules/stdlib-safer: New file.
77862         * MODULES.html.sh (File stream based Input/Output): Add
77863         stdlib-safer.
77864
77865 2006-07-21  Eric Blake  <ebb9@byu.net>
77866
77867         * lib/stdlib-safer.h: New file from coreutils, required by
77868         stdlib--.h.
77869
77870 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77871
77872         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77873
77874 2006-07-20  Bruno Haible  <bruno@clisp.org>
77875
77876         * gnulib-tool: Recognize new option --assume-autoconf.
77877         (autoconf_minversion): New variable.
77878         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77879
77880 2006-07-20  Bruno Haible  <bruno@clisp.org>
77881
77882         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77883
77884 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77885
77886         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77887         Reindent and repaginate.
77888
77889 2006-07-19  Derek Price  <derek@ximbiot.com>
77890
77891         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77892         Correct grammar.
77893
77894 2006-07-17  Bruno Haible  <bruno@clisp.org>
77895
77896         * modules/list: New file.
77897         * modules/array-list: New file.
77898         * modules/carray-list, modules/carray-list-tests: New files.
77899         * modules/linked-list, modules/linked-list-tests: New files.
77900         * modules/avltree-list, modules/avltree-list-tests: New files.
77901         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77902         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77903         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77904         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77905         * modules/oset: New file.
77906         * modules/array-oset: New file.
77907         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77908         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77909         * tests/test-carray_list.c: New file.
77910         * tests/test-linked_list.c: New file.
77911         * tests/test-avltree_list.c: New file.
77912         * tests/test-rbtree_list.c: New file.
77913         * tests/test-linkedhash_list.c: New file.
77914         * tests/test-avltreehash_list.c: New file.
77915         * tests/test-rbtreehash_list.c: New file.
77916         * tests/test-avltree_oset.c: New file.
77917         * tests/test-rbtree_oset.c: New file.
77918         * MODULES.html.sh (Container data structures): New section.
77919
77920 2006-07-17  Bruno Haible  <bruno@clisp.org>
77921
77922         * m4/gl_list.m4: New file.
77923
77924 2006-07-17  Bruno Haible  <bruno@clisp.org>
77925
77926         * lib/gl_list.h: New file.
77927         * lib/gl_list.c: New file.
77928         * lib/gl_array_list.h: New file.
77929         * lib/gl_array_list.c: New file.
77930         * lib/gl_carray_list.h: New file.
77931         * lib/gl_carray_list.c: New file.
77932         * lib/gl_linked_list.h: New file.
77933         * lib/gl_linked_list.c: New file.
77934         * lib/gl_anylinked_list1.h: New file.
77935         * lib/gl_anylinked_list2.h: New file.
77936         * lib/gl_avltree_list.h: New file.
77937         * lib/gl_avltree_list.c: New file.
77938         * lib/gl_anyavltree_list1.h: New file.
77939         * lib/gl_anyavltree_list2.h: New file.
77940         * lib/gl_rbtree_list.h: New file.
77941         * lib/gl_rbtree_list.c: New file.
77942         * lib/gl_anyrbtree_list1.h: New file.
77943         * lib/gl_anyrbtree_list2.h: New file.
77944         * lib/gl_anytree_list1.h: New file.
77945         * lib/gl_anytree_list2.h: New file.
77946         * lib/gl_linkedhash_list.h: New file.
77947         * lib/gl_linkedhash_list.c: New file.
77948         * lib/gl_anyhash_list1.h: New file.
77949         * lib/gl_anyhash_list2.h: New file.
77950         * lib/gl_avltreehash_list.h: New file.
77951         * lib/gl_avltreehash_list.c: New file.
77952         * lib/gl_rbtreehash_list.h: New file.
77953         * lib/gl_rbtreehash_list.c: New file.
77954         * lib/gl_anytreehash_list1.h: New file.
77955         * lib/gl_anytreehash_list2.h: New file.
77956
77957         * lib/gl_oset.h: New file.
77958         * lib/gl_oset.c: New file.
77959         * lib/gl_array_oset.h: New file.
77960         * lib/gl_array_oset.c: New file.
77961         * lib/gl_avltree_oset.h: New file.
77962         * lib/gl_avltree_oset.c: New file.
77963         * lib/gl_rbtree_oset.h: New file.
77964         * lib/gl_rbtree_oset.c: New file.
77965         * lib/gl_anytree_oset.h: New file.
77966
77967 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77968
77969         * m4/mkancesdirs.m4: New file.
77970         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
77971         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
77972         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
77973         it.
77974
77975 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77976
77977         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
77978         * lib/mkancesdirs.h: New files.
77979         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77980         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77981         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77982         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77983         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77984         callers changed.  Revamp internals significantly, by not
77985         attempting to create directories that are temporarily more
77986         permissive than the final results.  Do not attempt to use
77987         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77988         This removes some race conditions, fixes some bugs, and simplifies
77989         things.  Use new dirchownmod function to do owner and mode changes.
77990         * lib/mkdir-p.h: Likewise.
77991         * lib/modechange.c (octal_to_mode): New function.
77992         (struct mode_change): New member mentioned.
77993         (make_node_op_equals): New arg mentioned.  All callers changed.
77994         (mode_compile): Keep track of which mode bits the user has explicitly
77995         mentioned.
77996         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77997         New arg PMODE_BITS, to keep track of which mode bits the user
77998         mentioned; it treats S_ISUID and S_ISGID speciall.
77999         All callers changed.
78000         * lib/modechange.h: Likewise.
78001
78002 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78003
78004         * MODULES.html.sh: Add mkancestors.
78005         * modules/mkancesdirs: New module.
78006         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
78007         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
78008         The chdir-safer and afs files are now orphans; I'll remove them
78009         unless someone speaks up.
78010         Add lib/dirchownmod.c, lib/dirchownmod.h.
78011         (Depends-on): Remove alloca, chown, save-cwd, dirname.
78012         Add lchown, mkancesdirs.
78013         (Maintainer): Add self.
78014
78015 2006-07-15  Karl Berry  <karl@gnu.org>
78016
78017         * gnulib-tool: help message wording/arrangement.
78018
78019 2006-07-14  Simon Josefsson  <jas@extundo.com>
78020
78021         * doc/gnulib.texi (Libtool and Windows): New section.
78022
78023 2006-07-12  Simon Josefsson  <jas@extundo.com>
78024
78025         * modules/gendocs (License): Fix license, approved by Karl.
78026
78027 2006-07-12  Eric Blake  <ebb9@byu.net>
78028
78029         * MODULES.html.sh: Add gendocs.
78030
78031 2006-07-11  Eric Blake  <ebb9@byu.net>
78032
78033         * modules/fdl: New module, to install doc/fdl.texi.
78034         * MODULES.html.sh: Add new section for documentation modules.
78035         * gnulib-tool: Avoid space-tab.
78036         (--doc-base): New option, to manage files from doc.
78037
78038 2006-07-11  Eric Blake  <ebb9@byu.net>
78039
78040         * m4/absolute-header.m4: Fix comments to match recent change.
78041
78042 2006-07-11  Eric Blake  <ebb9@byu.net>
78043
78044         * gnulib-tool: List --doc-base before --tests-base.
78045
78046 2006-07-11  Derek R. Price  <derek@ximbiot.com>
78047
78048         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
78049
78050 2006-07-11  Bruno Haible  <bruno@clisp.org>
78051
78052         * README: Mention where to put documentation.
78053
78054 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78055
78056         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
78057
78058 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
78061         to stdint.m4.
78062
78063 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78064
78065         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
78066         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
78067         "no/such/file/stdint.h" when there is no such file, so that
78068         the resulting C code can be parsed by dodgy compilers.
78069         Problems reported by Bob Proulx.
78070
78071 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78072
78073         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
78074         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78075         macros into the GNU _D_EXACT_NAMLEN.
78076         * lib/savedir.c:  Likewise.
78077         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
78078
78079 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78080         and Paul Eggert  <eggert@cs.ucla.edu>
78081
78082         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
78083         * m4/savedir.m4:
78084         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78085         macros into the GNU _D_EXACT_NAMLEN.
78086
78087 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78088
78089         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
78090         around the absolute name, to work around a problem with the HP-UX
78091         11.23 native C compiler, reported by Bob Proulx.
78092
78093 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78094
78095         * doc/maintain.texi, make-stds.texi: Sync from
78096         <http://savannah.gnu.org/projects/gnustandards>.
78097
78098 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78099
78100         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
78101
78102 2006-07-09  Jim Meyering  <jim@meyering.net>
78103
78104         * m4/glob.m4: Remove a doubled word in a comment.
78105
78106 2006-07-09  Jim Meyering  <jim@meyering.net>
78107
78108         * lib/argp-pv.c: Remove a doubled word in a comment.
78109         * lib/check-version.c (check_version): Likewise.
78110         * lib/javacomp.c (compile_java_class): Likewise.
78111
78112 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78113
78114         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
78115         for the benefit of people using Autoconf 2.60.  If you want to
78116         support older Autoconf versions you can copy m4/onceonly_2_57.m4
78117         (or m4/onceonly.m4, if pre-2.57) manually.
78118
78119 2006-07-08  Jim Meyering  <jim@meyering.net>
78120
78121         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
78122         comment.
78123         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
78124         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
78125         comment.
78126
78127 2006-07-08  Jim Meyering  <jim@meyering.net>
78128
78129         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
78130
78131 2006-07-07  Simon Josefsson  <jas@extundo.com>
78132
78133         * tests/test-crc.c: Change expected crc value, the test vector
78134         were probably computed using the old broken crc.c?
78135
78136 2006-07-06  Simon Josefsson  <jas@extundo.com>
78137
78138         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
78139         now the canonical place for the M4 file).
78140
78141         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
78142         from the sys_socket dependency now.
78143
78144         * modules/inet_pton (Files): Ditto.
78145
78146         * modules/inet_ntop (Files): Ditto.
78147
78148 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78149
78150         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
78151         not gl_PREREQ_GETUSERSHELL.
78152
78153 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78154
78155         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
78156         with only one argument, for Autoconf 2.60.
78157         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
78158         expand to nothing, so add a shell command to avoid syntax error.
78159         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78160
78161 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78162
78163         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
78164
78165 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78166
78167         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
78168         no longer needed.  Check for isblank decl.
78169         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
78170         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
78171         of existence.
78172
78173 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78174
78175         * lib/getloadavg.c: Use __VMS, not VMS.
78176         * lib/getopt.c: Likewise.
78177         * lib/getpagesize.h: Likewise.
78178         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
78179         and probably does not work.
78180
78181 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78182
78183         * lib/.cppi-disable: Add wcwidth.
78184         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
78185         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
78186         (ISGRAPH): Remove.  All uses changed to isgraph.
78187         (FOLD) [!defined _LIBC]: Remove special case.
78188         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
78189         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
78190         HAVE_ISBLANK.
78191         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
78192         case.
78193
78194 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78195
78196         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
78197         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
78198         brackets.  Other minor changes to suppress some compiler
78199         warnings.
78200
78201 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78202         and Paul Eggert  <eggert@cs.ucla.edu>
78203
78204         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
78205         of invoking obsolescent AC_HEADER_DIRENT macro.
78206         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
78207         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
78208         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
78209         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
78210         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
78211         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78212         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
78213         * m4/readdir.m4: Remove; no longer needed.
78214
78215 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78216         and Paul Eggert  <eggert@cs.ucla.edu>
78217
78218         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
78219         Don't worry about this obsolete case any more.
78220         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
78221         directories.
78222         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
78223         worry about this obsolete case any more.
78224         * lib/fts.c: Likewise.
78225         * lib/getcwd.c: Likewise.
78226         * lib/glob.h: Likewise.
78227         * lib/savedir.c: Likewise.
78228
78229 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78230
78231         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
78232         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
78233         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
78234         needed.
78235         All uses removed.
78236         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78237         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78238         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
78239         needed.
78240         * m4/getdate.m4 (gl_GETDATE): Likewise.
78241         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78242         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78243         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78244         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78245         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78246         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78247         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
78248         needed.
78249
78250 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78251
78252         * lib/memcasecmp.c: Include <limits.h>.
78253         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
78254         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
78255         Don't assume isdigit succeeds only on '0' through '9'.
78256
78257 2006-07-05  Eric Blake  <ebb9@byu.net>
78258
78259         * modules/getaddrinfo (Depends-on): Add snprintf.
78260
78261 2006-07-05  Eric Blake  <ebb9@byu.net>
78262
78263         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
78264         to avoid 'header present but could not be compiled' on cygwin.
78265
78266 2006-07-05  Eric Blake  <ebb9@byu.net>
78267
78268         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
78269         missing from netdb.h.
78270         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
78271
78272 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78273
78274         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
78275         no longer needed.
78276         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
78277         * m4/getdate.m4 (gl_GETDATE): Likewise.
78278         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78279         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78280         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78281         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78282         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78283
78284 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78285
78286         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
78287         All uses of is_space replaced by isspace.
78288         * lib/exit.h: Don't talk about STDC_HEADERS.
78289         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
78290         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
78291         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
78292         replaced by isprint etc.
78293         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
78294         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78295         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
78296         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
78297         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
78298         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78299
78300 2006-07-05  Bruno Haible  <bruno@clisp.org>
78301
78302         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
78303         the function exists, before testing against AIX.
78304         Reported by Martin Lambers <marlam@marlam.de>.
78305
78306 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78307
78308         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
78309         From Mark D. Baushke.
78310
78311 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78312
78313         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
78314         to the absolute name, not just one, to bypass Sun C 5.8's
78315         "warning: #include of /usr/include/... may be non-portable".
78316
78317 2006-07-04  Eric Blake  <ebb9@byu.net>
78318
78319         * modules/dirname-tests: New test module.
78320         * tests/test-dirname.c: New file, replacing dirname.c
78321         TEST_DIRNAME section that was recently deleted.
78322
78323 2006-07-04  Bruno Haible  <bruno@clisp.org>
78324
78325         Assume ANSI C header files and <ctype.h> functions.
78326         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
78327         (mbsnwidth): Use isprint, iscntrl instead.
78328
78329 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         Merge from coreutils.
78332         * MODULES.html.sh: Add xstrtold.
78333         * modules/xstrtold: New file.
78334         * modules/cycle-check (Files): Add lib/same-inode.h.
78335         * modules/dirname (Files): Add m4/double-slash-root.m4.
78336         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
78337         * modules/mkdir-p (Files): Add lib/same-inode.h.
78338         * modules/same (Files): Add lib/same-inode.h.
78339
78340 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78341
78342         * m4/absolute-header.m4: Renamed from full-header-path.m4.
78343         This is to keep the terminology clean; POSIX talks about
78344         "absolute pathnames", not "full pathnames", but the GNU
78345         Coding Standards say to use "path" for something else;
78346         so use "absolute" to keep both sides happy.
78347         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78348         Set gl_absolute_header, not gl_full_header_path.
78349         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78350         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78351         All uses changed.
78352
78353         Merge from coreutils.
78354
78355         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78356
78357         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78358         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78359         want to require the building of c-strtod.o.
78360         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78361         needs -lm directly.
78362         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78363
78364         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78365
78366         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78367         --as-needed option if available.  Problem reported by Albert Chin in
78368         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78369         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78370         cc merely issues a bunch of annoying warnings for --as-needed
78371         (this problem was reported by Bob Proulx).  Also, try linking with
78372         -lm to detect a bug in binutils 2.16 (this problem was reported
78373         by Ralf Wildenhues).
78374
78375         2006-06-18  Jim Meyering  <jim@meyering.net>
78376
78377         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78378         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78379         macro.
78380         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78381         also check for glibc-2.4's abort-inducing bug.
78382
78383         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78384         Low-probability clean-up should be to use rmdir to get rid of
78385         the just-created directory, not unlink.
78386
78387         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78388         configure fail, and request a bug report to inform us about it.
78389         Add a comment that, barring reports to the contrary, in 2007 we'll
78390         assume ftruncate is universally available.
78391
78392         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78393
78394         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78395
78396         2006-03-12  Jim Meyering  <jim@meyering.net>
78397
78398         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78399         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78400         * m4/same.m4 (gl_SAME): Likewise.
78401         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
78402
78403         2006-03-11  Eric Blake  <ebb9@byu.net>
78404
78405         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
78406         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
78407         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
78408         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
78409
78410 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78411
78412         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
78413         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
78414         reported by Mark D. Baushke, one in
78415         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
78416
78417         Merge from coreutils.
78418
78419         * lib/.cppi-disable: Add stdint_.h.
78420         * lib/.cvsignore: Add stdint.h.
78421
78422         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78423
78424         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
78425         both double and long double versions.
78426         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
78427         * lib/xstrtold.c: New file.
78428         * lib/xstrtod.h (xstrtold): New decl.
78429
78430         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78431
78432         * lib/filemode.c (setst): Remove.
78433         (strmode): Rewrite to avoid setst.  This makes the code shorter,
78434         (arguably) clearer, and the generated code is a bit smaller on my
78435         Debian GNU/Linux stable x86 host.
78436
78437         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78438
78439         * lib/filemode.c: Include "filemode.h" first, to test the interface.
78440         Assume that filemode.h includes sys/types.h and sys/stat.h.
78441         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
78442         (ftypelet): Reorder to put common cases first, for efficiency.
78443         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
78444         to do 'M'.
78445         (strmode): Renamed from mode_string, and now stores 12 bytes instead
78446         of 10, for compatibility with FreeBSD.  All callers changed.
78447         (filemodestring): Now stores 12 bytes instead of 10, and sets file
78448         types that can't be deduced solely from st_mode.  First arg is now a
78449         const pointer.
78450         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
78451         (strmode): Renamed from mode_string.
78452         (filemodestring): New decl.
78453         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
78454         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
78455         needed.
78456         (S_ISPORT, S_ISWHT): New macros, if not already defined.
78457
78458         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78459
78460         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
78461         fsusage.h now does that.  Include fsusage.h first, to test interface.
78462         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
78463         at most one method (the old code could have generated decls that
78464         didn't conform to C89, not that this was ever exercised).
78465         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
78466
78467         2006-03-19  Jim Meyering  <jim@meyering.net>
78468
78469         Work even in a chroot where d_ino values for entries in "/"
78470         don't match the stat.st_ino values for the same names.
78471         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
78472         number, iterate through all entries again, using lstat instead.
78473         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
78474         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
78475
78476         * lib/getcwd.c (__getcwd): Clarify a comment.
78477         Use memcpy in place of a call to strcpy.
78478
78479         2006-03-12  Jim Meyering  <jim@meyering.net>
78480
78481         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
78482         matches that of the current directory (which we're about to chdir ".."
78483         out of), then save the dev-ino of the parent, instead.
78484
78485         * lib/same-inode.h (SAME_INODE): New file/macro.
78486         * lib/chdir-safer.c (SAME_INODE): Remove definition.
78487         Include "same-inode.h", instead.
78488         * lib/same.c: Likewise.
78489         * lib/cycle-check.h: Include "same-inode.h".
78490         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
78491         * lib/cycle-check.c (SAME_INODE): Remove definition.
78492         * lib/root-dev-ino.h: Include "same-inode.h".
78493
78494         2006-03-11  Eric Blake  <ebb9@byu.net>
78495
78496         * lib/same.c (same_name): s/base_name/last_component/
78497         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
78498         * lib/filenamecat.c (file_name_concat): Likewise.
78499
78500         2006-03-11  Eric Blake  <ebb9@byu.net>,
78501                     Paul Eggert  <eggert@cs.ucla.edu>
78502
78503         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
78504         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
78505         drive prefix.
78506         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
78507         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
78508         (last_component): New method.
78509         * lib/dirname.c (dir_len): Determine when drive letters need a
78510         subsequent slash.  Preserve // when it is special.
78511         (dir_name): Don't append dot when drive letter is absolute.
78512         [TEST_DIRNAME]: Move into a full-blown gnulib test.
78513         * lib/basename.c (base_name): New semantics - malloc the result.
78514         Preserve // when it is special.  Preserve relative files that look
78515         like drive letters.
78516         (base_len): Preserve // when it is special.
78517         (last_component): New method, similar to old base_name semantics.
78518         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
78519         base_name.  Strip redundant slashes from ///.
78520
78521 2006-07-03  Jim Meyering  <jim@meyering.net>
78522
78523         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
78524         macro is used before the first cycle_check call.
78525
78526 2006-07-03  Eric Blake  <ebb9@byu.net>
78527
78528         * modules/dirname (Depends-on): Add xstrndup.
78529
78530 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78531
78532         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
78533         test cases, so that config.log is a bit easier to follow.
78534
78535 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78536
78537         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
78538         both are 64 bits, since this seems to be the tradition, and this
78539         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
78540         we ever run into a host that prefers long long to long in this
78541         case, we'll need another configure-time test.  Problem reported by
78542         Jim Meyering.
78543
78544 2006-07-02  Eric Blake  <ebb9@byu.net>
78545
78546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
78547
78548 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78549
78550         * modules/inttypes (Depends-on): No longer depends on stdint.
78551         * modules/stdint (Description): Say more about assumptions.
78552         Say that the fast types might differ.  Say macros are used.
78553         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
78554         (Makefile.am): Revise list of substituted symbols to match
78555         new stdint.m4.
78556         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
78557         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
78558         * tests/test-stdint.c (verify_same_types)
78559         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
78560         the code conforms to C99/C89.
78561         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
78562         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
78563
78564 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78565
78566         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
78567         but fix a bug, by requiring at least 64 bits.
78568         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78569         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
78570         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
78571         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78572
78573         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
78574         changes.  Make 2.59 a prerequisite.  Check and substitute for
78575         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
78576         inttypes.h.  Do not use special include files; just use the
78577         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
78578         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
78579         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
78580         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
78581         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
78582         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
78583         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
78584         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
78585         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
78586         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
78587         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
78588         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
78589         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
78590         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
78591         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
78592         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
78593         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
78594         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
78595         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
78596         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
78597         WINT_MAX.  Check for C99 conformance more strictly, by detecting
78598         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
78599         not check for things that C99 does not require, e.g., int8_t.  If
78600         a test isn't needed unless <stdint.h> isn't working, and is
78601         unlikely to be needed for any other reason, then don't do it
78602         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
78603         size_t, since we assume C89 freestanding at least.  Do not check
78604         for sig_atomic_t, wchar_t, or wint_t, since the code now does
78605         the right thing even if the types are not defined.  Instead use:
78606         (gl_STDINT_TYPE_PROPERTIES): New macro.
78607         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
78608         testing whether <sys/types.h> clashes, as Autoconf does this for
78609         us now.  All uses removed.
78610         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
78611         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
78612         (gl_CHECK_TYPE_SAME):
78613         Remove; no longer needed.
78614         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
78615         exists, since we'll return 0 anyway in that case.
78616         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
78617
78618 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78619
78620         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
78621         possible collision with system files.
78622         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
78623         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
78624         WCHAR_MIN and WCHAR_MAX in this case.
78625         (<stddef.h>): Do not include; no longer needed.
78626         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
78627         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
78628         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
78629         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
78630         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
78631         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
78632         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
78633         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
78634         !defined(__c99))]: Include in this case too, since it's harmless
78635         now.
78636         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
78637         dangerous to do so.
78638         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
78639         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
78640         (_STDINT_MIN, _STDINT_MAX): New macros.
78641         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
78642         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
78643         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
78644         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
78645         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
78646         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
78647         macros, not typedefs; this simplifies things quite a bit.
78648         Use long int for all types narrower than int64_t.
78649         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
78650         Define in terms of long long int or int64_t or long int,
78651         not int64_t or int32_t.  This saves some compile-time testing.
78652         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
78653         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
78654         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
78655         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
78656         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
78657         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
78658         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
78659         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
78660         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
78661         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
78662         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78663         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78664         undef any previous version and define our own version, for
78665         simplicity and consistency with the new macros for types.
78666         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78667         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78668         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
78669         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
78670         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
78671         @WINT_T_SUFFIX@ to keep things simple here.
78672         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
78673         Simplify by assuming typical 8/16/32/64 host, since we're
78674         already doing that elsewhere anyway.
78675         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
78676         and assume long long int is 64 bits if available.  This
78677         speeds up 'configure'.
78678
78679 2006-07-01  Eric Blake  <ebb9@byu.net>
78680
78681         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
78682         Reported by Andreas Buening.
78683
78684 2006-07-01  Eric Blake  <ebb9@byu.net>
78685
78686         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
78687
78688 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78689
78690         * lib/getaddrinfo.c: fixed typo
78691
78692 2006-06-29  Jim Meyering  <jim@meyering.net>
78693
78694         * modules/strftime (Maintainer): Add my name, since with the
78695         FPRINTFTIME changes strftime.c has forked from glibc.
78696
78697 2006-06-29  Eric Blake  <ebb9@byu.net>
78698
78699         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
78700
78701 2006-06-29  Eric Blake  <ebb9@byu.net>
78702
78703         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
78704
78705 2006-06-29  Eric Blake  <ebb9@byu.net>
78706
78707         * lib/stat_.h: New file.
78708
78709 2006-06-29  Eric Blake  <ebb9@byu.net>
78710
78711         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
78712         unused static function.
78713
78714 2006-06-29  Eric Blake  <ebb9@byu.net>
78715
78716         * doc/functions.texi (Function Portability): Document missing lstat
78717         on mingw.
78718
78719 2006-06-29  Eric Blake  <ebb9@byu.net>
78720
78721         * MODULES.html.sh: Add sys_stat.
78722         * modules/sys_stat: New module.
78723         * modules/mkstemp (Depends-on): Add sys_stat.
78724
78725 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78726
78727         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
78728
78729 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78730
78731         * m4/c-bs-a.m4: Removed.
78732
78733 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78734
78735         * lib/strftime.c: Assume strftime() exists.
78736
78737 2006-06-29  Derek Price  <derek@ximbiot.com>
78738
78739         * modules/c-bs-a: Removed - \a is C89.
78740         * MODULES.html.sh: Remove c-bs-a.
78741
78742 2006-06-29  Bruno Haible  <bruno@clisp.org>
78743
78744         * modules/wcwidth (License): Change to LGPL.
78745
78746 2006-06-28  Simon Josefsson  <jas@extundo.com>
78747
78748         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
78749         on _WIN32.
78750
78751         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
78752         getnameinfo.
78753
78754 2006-06-28  Simon Josefsson  <jas@extundo.com>
78755
78756         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
78757
78758 2006-06-28  Simon Josefsson  <jas@extundo.com>
78759
78760         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
78761         functions there.  It will succeed on Windows XP, but on Windows
78762         2000 and (presumably) earlier, it will fail, and use the internal
78763         re-implementation.
78764         (use_win32_p): New function.
78765         (getaddrinfo): Use strtoul on servname, to support numeric ports.
78766         Support AI_NUMERICSERV to disable getservbyname.
78767         (getnameinfo): New function, only supports
78768         NI_NUMERICHOST|NI_NUMERICSERV for now.
78769
78770         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78771         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78772         getnameinfo.
78773
78774 2006-06-28  Eric Blake  <ebb9@byu.net>
78775
78776         * modules/wcwidth: New file.
78777         * modules/mbchar (Depends-on): Add wcwidth.
78778         * modules/mbswidth (Depends-on): Add wcwidth.
78779         * MODULES.html.sh: Add wcwidth.
78780
78781 2006-06-28  Eric Blake  <ebb9@byu.net>
78782
78783         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78785
78786 2006-06-28  Eric Blake  <ebb9@byu.net>
78787
78788         * lib/xvasprintf.h: Fix comments.
78789
78790 2006-06-28  Eric Blake  <ebb9@byu.net>
78791
78792         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78793         * lib/mbswidth.c (wcwidth): Move from here...
78794         * lib/wcwidth.h: ...to this new file.
78795
78796 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78797
78798         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78799
78800         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78801         it's obsolete.
78802         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78803
78804 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78805
78806         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78807         Autoconf 2.60 says this stuff was obsolete.
78808
78809 2006-06-28  Bruno Haible  <bruno@clisp.org>
78810
78811         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78812
78813 2006-06-28  Bruno Haible  <bruno@clisp.org>
78814
78815         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78816         gt_TYPE_WCHAR_T.
78817
78818 2006-06-28  Bruno Haible  <bruno@clisp.org>
78819
78820         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78821         declaration for wcwidth.
78822         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78823
78824 2006-06-28  Bruno Haible  <bruno@clisp.org>
78825
78826         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78827         (mkdir): Define using _mkdir.
78828
78829 2006-06-28  Bruno Haible  <bruno@clisp.org>
78830
78831         * lib/getaddrinfo.h: Fix POSIX URL.
78832         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78833         _WIN32.
78834         (use_win32_p): Make static.
78835         (getaddrinfo): Reject service name if it is empty or does not consist
78836         solely of decimal digits, or if its value is > 65535.
78837         (getnameinfo): Remove useless casts.
78838
78839 2006-06-27  Simon Josefsson  <jas@extundo.com>
78840
78841         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78842         Eggert and Martin Lambers.
78843
78844 2006-06-27  Simon Josefsson  <jas@extundo.com>
78845
78846         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78847         Eggert and Martin Lambers.
78848
78849 2006-06-27  Bruno Haible  <bruno@clisp.org>
78850
78851         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78852         result to 0, not to empty.
78853         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78854
78855 2006-06-27  Bruno Haible  <bruno@clisp.org>
78856
78857         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78858
78859 2006-06-26  Simon Josefsson  <jas@extundo.com>
78860
78861         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78862         present.
78863
78864 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78865
78866         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78867         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78868         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78869
78870 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78871
78872         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78873
78874 2006-06-26  Bruno Haible  <bruno@clisp.org>
78875
78876         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78877
78878 2006-06-26  Bruno Haible  <bruno@clisp.org>
78879
78880         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78881
78882 2006-06-26  Bruno Haible  <bruno@clisp.org>
78883
78884         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78885         SGI C compiler in pre-C99 mode.
78886         Suggested by Mark D. Baushke and Larry Jones.
78887
78888 2006-06-26  Bruno Haible  <bruno@clisp.org>
78889
78890         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78891         WCHAR_MAX.
78892         Reported by Mark D. Baushke and Larry Jones.
78893
78894 2006-06-26  Bruno Haible  <bruno@clisp.org>
78895
78896         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78897         in pre-C99 mode.
78898         Suggested by Mark D. Baushke and Larry Jones.
78899
78900 2006-06-23  Simon Josefsson  <jas@extundo.com>
78901             Bruno Haible  <bruno@clisp.org>
78902
78903         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78904         Emit mostlyclean-local rule.
78905         (func_emit_tests_Makefile_am): Likewise.
78906         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78907
78908 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78909
78910         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78911
78912 2006-06-23  Bruno Haible  <bruno@clisp.org>
78913
78914         * tests/test-stdint.c: Update to match ISO C 99 Technical
78915         Corrigendum 1.
78916
78917 2006-06-23  Bruno Haible  <bruno@clisp.org>
78918
78919         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78920
78921 2006-06-23  Bruno Haible  <bruno@clisp.org>
78922
78923         * lib/stdint_.h: Treat IRIX like OpenBSD.
78924
78925 2006-06-23  Bruno Haible  <bruno@clisp.org>
78926
78927         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78928         ISO C 99 Technical Corrigendum 1.
78929
78930 2006-06-22  Simon Josefsson  <jas@extundo.com>
78931
78932         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78933         MinGW.
78934
78935 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78936
78937         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
78938         needed.  Some compiler complained about some of them.  Problem reported
78939         by Larry Jones in
78940         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
78941
78942 2006-06-21  Simon Josefsson  <jas@extundo.com>
78943
78944         * tests/test-getaddrinfo.c: New file.
78945
78946         * modules/getaddrinfo-tests: New file.
78947
78948         * MODULES.html.sh: Add inet_pton.
78949
78950         * modules/inet_pton: New file.
78951
78952 2006-06-21  Simon Josefsson  <jas@extundo.com>
78953
78954         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
78955         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
78956         of using the (limited) gnulib implementation on Windows XP.
78957
78958         * m4/inet_pton.m4: New file.
78959
78960 2006-06-21  Simon Josefsson  <jas@extundo.com>
78961
78962         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
78963         variable.
78964
78965         * lib/socket_.h: Don't define WINVER.
78966
78967         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
78968         slightly modified to work in gnulib.
78969
78970 2006-06-21  Simon Josefsson  <jas@extundo.com>
78971
78972         * doc/gnulib.texi (Windows sockets): Add.
78973
78974 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
78975
78976         * lib/read-file.c (fread_file): Start with buffer allocation of
78977         0 bytes rather than 1 byte; this simplifies the code.
78978         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78979         code to free buffer and save/restore errno.
78980         (internal_read_file): Remove unused local.
78981
78982 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78983
78984         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78985         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78986         Problem reported by Denis Excoffier in
78987         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78988
78989 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78990
78991         * modules/sys_socket, modules/socklen: Include sys/types since
78992         FreeBSD 4.x's sys/socket.h needs it.
78993
78994 2006-06-19  Simon Josefsson  <jas@extundo.com>
78995
78996         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78997
78998 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78999
79000         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
79001
79002 2006-06-19  Bruno Haible  <bruno@clisp.org>
79003
79004         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
79005         and FULL_PATH_INTTYPES_H in angle brackets.
79006         Reported by Mark D. Baushke <mdb@gnu.org>.
79007
79008 2006-06-17  Eric Blake  <ebb9@byu.net>
79009
79010         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
79011         errno.
79012
79013 2006-06-17  Bruno Haible  <bruno@clisp.org>
79014
79015         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
79016         <sys/inttypes.h>.
79017
79018 2006-06-17  Bruno Haible  <bruno@clisp.org>
79019
79020         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
79021         whether errno is declared. Assume <errno.h> declares errno.
79022
79023 2006-06-17  Bruno Haible  <bruno@clisp.org>
79024
79025         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
79026
79027 2006-06-17  Bruno Haible  <bruno@clisp.org>
79028
79029         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
79030         problem on Solaris 2.5.1.
79031
79032 2006-06-16  Eric Blake  <ebb9@byu.net>
79033
79034         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
79035         * lib/unicodeio.c [!defined errno]: Likewise.
79036         * lib/strtol.c [!defined errno]: Likewise.
79037         * lib/strtod.c [!defined errno]: Likewise.
79038
79039 2006-06-15  Eric Blake  <ebb9@byu.net>
79040
79041         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
79042
79043 2006-06-15  Eric Blake  <ebb9@byu.net>
79044
79045         * config/srclist.txt (ssize_t.m4): Lose sync.
79046
79047 2006-06-15  Bruno Haible  <bruno@clisp.org>
79048
79049         * modules/stdint (Files): Include m4/full-header-path.m4,
79050         m4/size_max.m4, m4/wchar_t.m4.
79051         (Makefile.am): Many more substitutions.
79052         * modules/stdint-tests: New file.
79053         * tests/test-stdint.c: New file.
79054
79055 2006-06-15  Bruno Haible  <bruno@clisp.org>
79056
79057         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
79058         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
79059         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
79060         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
79061         gl_CHECK_TYPE_SAME): New macros.
79062
79063 2006-06-15  Bruno Haible  <bruno@clisp.org>
79064
79065         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
79066
79067 2006-06-15  Bruno Haible  <bruno@clisp.org>
79068
79069         * lib/stdint_.h: Rewritten to be fully auto-configured.
79070         Fixes bug on HP-UX/IA64.
79071
79072 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
79073
79074         * lib/getdate.y (__attribute__): Don't define if already defined.
79075         Problem reported by Larry Jones.
79076         * lib/utimens.c (__attribute__): Likewise.
79077
79078 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
79079
79080         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
79081         reported by Andreas Schwab.
79082
79083 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79084             Bruno Haible  <bruno@clisp.org>
79085
79086         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
79087         check for the declaration of strnlen and a run test that exposes the
79088         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
79089         rpl_strndup.
79090
79091 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79092             Bruno Haible  <bruno@clisp.org>
79093
79094         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
79095
79096 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79097
79098         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
79099         compile test, for Tru64 4.0D.
79100
79101 2006-05-28  Karl Berry  <karl@gnu.org>
79102
79103         * config/srclist.txt (printf-args.c): lose sync.
79104
79105 2006-05-26  Martin Lambers  <marlam@marlam.de>
79106
79107         * lib/getpass.c: Updates the test for the native W32 API, and adds
79108         missing includes, thus fixing compilation warnings.
79109
79110 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79111
79112         * lib/exclude.c (exclude_fnmatch): New function.
79113         (excluded_file_name): Call exclude_fnmatch.
79114         * lib/exclude.h (excluded_file_name): New prototype
79115
79116 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
79117
79118         * lib/tempname.c (small_open, large_open): New macros.
79119         (__open, __open64) [!_LIBC]: Remove.
79120         (__gen_tempname): Use small_open and large_open instead of __open
79121         and __open64.  This fixes a portability bug on HP-UX 11.11i
79122         reported by Simon Wing-Tang in
79123         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
79124
79125 2006-05-24  Bruno Haible  <bruno@clisp.org>
79126
79127         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
79128         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
79129         Reported by Thorsten Maerz <torte@netztorte.de> via
79130         Aaron Stone <aaron@serendipity.cx>.
79131
79132 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79133
79134         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
79135         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
79136         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
79137         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
79138         not really conditional on the cache.
79139         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
79140
79141 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79142
79143         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
79144         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
79145         (my_usleep): Don't mishandle maximum value.
79146
79147 2006-05-19  Jim Meyering  <jim@meyering.net>
79148
79149         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
79150
79151 2006-05-17  Bruno Haible  <bruno@clisp.org>
79152
79153         Cygwin portability.
79154         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
79155
79156 2006-05-17  Bruno Haible  <bruno@clisp.org>
79157
79158         * lib/stdint_.h: Fix recognition of Cygwin.
79159
79160 2006-05-15  Bruno Haible  <bruno@clisp.org>
79161
79162         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
79163         on libtool patch by Ralf Wildenhues.
79164
79165 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79166
79167         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
79168         test for C99 conformance; (bool) 0.5 is an integer constant
79169         expression, but (bool) -0.5 is not.  Problem reported by Fedor
79170         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
79171
79172 2006-05-11  Simon Josefsson  <jas@extundo.com>
79173
79174         * m4/xvasprintf.m4: Fix obvious typo.
79175
79176 2006-05-11  Jim Meyering  <jim@meyering.net>
79177
79178         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
79179         James Lemley.
79180
79181 2006-05-10  Simon Josefsson  <jas@extundo.com>
79182
79183         * lib/md4.c: Typo fix, update copyright years.
79184         (K1, K2): Don't use L because it turn computations into 64-bit on
79185         64-bit platforms.
79186
79187 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
79188
79189         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
79190         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
79191         unwanted sign propagation, e.g., on hosts with 64-bit int.
79192         There still are some problems with reeelly weird theoretical hosts
79193         (e.g., 33-bit int) but it's not worth worrying about now.
79194         * lib/sha1.c (rol): Likewise.
79195         (K1, K2, K3, K4): Remove unnecessary L suffix.
79196
79197 2006-05-10  Bruno Haible  <bruno@clisp.org>
79198
79199         * lib/des.c: Cast to avoid warnings.
79200
79201 2006-05-09  Bruno Haible  <bruno@clisp.org>
79202
79203         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
79204         (Depends-on): Depend also on xsize, stdarg.
79205         (configure.ac): Add gl_XVASPRINTF.
79206
79207 2006-05-09  Bruno Haible  <bruno@clisp.org>
79208
79209         * m4/xvasprintf.m4: New file.
79210
79211 2006-05-09  Bruno Haible  <bruno@clisp.org>
79212
79213         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
79214         (EOVERFLOW): Define fallback value.
79215         (xstrcat): New function.
79216         (xvasprintf): Recognize the special case of a string concatenation.
79217
79218 2006-05-08  Eric Blake  <ebb9@byu.net>
79219
79220         * gnulib-tool (func_version): Base copyright year on CVS date.
79221         (func_emit_copyright_notice): New function.
79222         (func_emit_lib_Makefile_am): Use it.
79223         (func_emit_tests_Makefile_am): Likewise.
79224         (func_import): Likewise.
79225
79226 2006-05-08  Bruno Haible  <bruno@clisp.org>
79227
79228         * modules/stdarg: New file.
79229         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
79230
79231 2006-05-08  Bruno Haible  <bruno@clisp.org>
79232
79233         * m4/stdarg.m4: New file, from GNU gettext.
79234
79235 2006-05-08  Bruno Haible  <bruno@clisp.org>
79236
79237         * config/srclist.txt (build-aux/config.rpath): different from latest
79238         release.
79239
79240 2006-05-08  Bruno Haible  <bruno@clisp.org>
79241
79242         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
79243
79244 2006-05-05  Jim Meyering  <jim@meyering.net>
79245
79246         * m4/warning.m4: New file, derived from bison's file by the same name.
79247
79248 2006-05-03  Bruno Haible  <bruno@clisp.org>
79249
79250         * lib/stdint_.h: Shorter URL.
79251         * lib/inttypes.h: Likewise.
79252
79253 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79254
79255         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
79256
79257 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79258
79259         * lib/verify.h: Document the internals better.  Most of this change
79260         was written by Bruno Haible.
79261
79262 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79263
79264         * doc/verify.texi: New file, partly based on a proposal by
79265         Bruno Haible.
79266
79267 2006-05-02  Bruno Haible  <bruno@clisp.org>
79268
79269         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
79270         test from here...
79271         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
79272
79273 2006-04-29  Bruno Haible  <bruno@clisp.org>
79274
79275         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
79276         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
79277
79278 2006-04-29  Bruno Haible  <bruno@clisp.org>
79279
79280         * gnulib-tool: Make --update option actually work.
79281
79282 2006-04-29  Bruno Haible  <bruno@clisp.org>
79283
79284         * doc/gcd.texi: New file.
79285         * doc/gnulib.texi: Include it.
79286
79287 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
79288
79289         * lib/getdate.y (get_date): When adding relative date, start with the
79290         initial time, not with the result of the first mktime call.
79291
79292 2006-04-25  Bruno Haible  <bruno@clisp.org>
79293
79294         * gnulib-tool (func_import): Output the include directives in three
79295         blocks, sorted separately.
79296         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79297
79298 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79299
79300         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
79301         to define main with arguments, for C++.  Reported by Eric Blake.
79302         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
79303         Prefer 'int main ()' to 'int main (void)', for C++.
79304         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
79305         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
79306         for 'main', for C99 and C++.
79307
79308 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79309
79310         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
79311         Don't assume that exit status -1 is valid.
79312         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79313         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
79314         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
79315         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
79316         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
79317         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
79318         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
79319         functions can be used without declaring them, or that you can
79320         exit with status -1.
79321         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
79322
79323 2006-04-24  Karl Berry  <karl@gnu.org>
79324
79325         * config/srclist.txt (longdouble.m4): sync lost.
79326
79327 2006-04-24  Eric Blake  <ebb9@byu.net>
79328
79329         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
79330
79331 2006-04-24  Bruno Haible  <bruno@clisp.org>
79332
79333         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
79334         poll() implementation in AIX.
79335         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79336
79337 2006-04-24  Bruno Haible  <bruno@clisp.org>
79338
79339         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
79340         assigned exactly once.
79341
79342 2006-04-23  Claudio Fontana  <claudio@gnu.org>
79343             Bruno Haible  <bruno@clisp.org>
79344
79345         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79346         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79347         for AM_CPPFLAGS.
79348
79349 2006-04-23  Bruno Haible  <bruno@clisp.org>
79350
79351         * modules/copy-file: Depend on unistd.
79352         * modules/execute: Likewise.
79353         * modules/fatal-signal: Likewise.
79354         * modules/findprog: Likewise.
79355         * modules/mkdtemp : Likewise.
79356         * modules/pipe: Likewise.
79357         * modules/wait-process: Likewise.
79358
79359 2006-04-23  Bruno Haible  <bruno@clisp.org>
79360
79361         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79362         condition was already detected.
79363         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79364
79365 2006-04-23  Bruno Haible  <bruno@clisp.org>
79366
79367         * lib/copy-file.c: Include <unistd.h> unconditionally.
79368         * lib/execute.c: Likewise.
79369         * lib/fatal-signal.c: Likewise.
79370         * lib/findprog.c: Likewise.
79371         * lib/mkdtemp.c: Likewise.
79372         * lib/pipe.h: Likewise.
79373         * lib/pipe.c: Likewise.
79374         * lib/wait-process.h: Likewise.
79375
79376 2006-04-23  Bruno Haible  <bruno@clisp.org>
79377
79378         * gnulib-tool (func_usage): Fix --import description. Document
79379         --update.
79380         (func_import): Create temporary file in a temporary directory, if
79381         --dry-run is specified. Silence errors from 'grep' when there are no
79382         m4 files in $m4dir.
79383         (func_create_testdir): Silence errors from 'grep' when there are no
79384         m4 files in $m4dir.
79385         Reported by Karl Berry <karl@freefriends.org>.
79386
79387 2006-04-20  Bruno Haible  <bruno@clisp.org>
79388
79389         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79390         one argument, so that the code will be portable to Autoconf 2.60.
79391         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79392         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79393         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79394
79395 2006-04-19  Derek Price  <derek@ximbiot.com>
79396             Eric Blake  <ebb9@byu.net>
79397
79398         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79399         rather than "/full/path.h".  Update comment to match.  Shorten &
79400         generalize m4_translit call via AS_TR_CPP.
79401
79402 2006-04-19  Derek Price  <derek@ximbiot.com>
79403             Eric Blake  <ebb9@byu.net>
79404
79405         * lib/inttypes.h: Correct grammar in comment.
79406
79407 2006-04-18  Derek Price  <derek@ximbiot.com>
79408             Paul Eggert  <eggert@cs.ucla.edu>
79409
79410         * modules/inttypes: New file.
79411         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
79412
79413 2006-04-18  Derek Price  <derek@ximbiot.com>
79414             Paul Eggert  <eggert@cs.ucla.edu>
79415
79416         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
79417         New files.
79418
79419 2006-04-18  Derek Price  <derek@ximbiot.com>
79420             Paul Eggert  <eggert@cs.ucla.edu>
79421
79422         * lib/inttypes.h: New file.
79423         * lib/strtoimax.c: Assume <inttypes.h>.
79424
79425 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
79426
79427         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
79428         isn't mounted.  Problem reported by Kir Kolyshkin.
79429
79430 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79431
79432         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
79433         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
79434         Derek R. Price.
79435         * lib/regex.h (RE_DUP_MAX): Update comment to match current
79436         implementation.
79437
79438 2006-04-12  Eric Blake  <ebb9@byu.net>
79439
79440         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
79441         is now done automatically by the corresponding Autoconf macro.
79442
79443 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
79444
79445         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
79446         time_r.h.
79447
79448 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79449
79450         Merge regex changes from libc, removing some of our
79451         POSIX-conformance changes that were rejected and redoing them in a
79452         less-intrusive way.
79453
79454         * lib/regcomp.c (re_compile_internal, init_dfa):
79455         Length arg is now size_t, not Idx.  All uses changed.
79456         (peek_token): Forward decl now says internal_function.
79457         (__re_error_msgid, __re_error_msgid_idx):
79458         Now static rather than extern with attribute_hidden.
79459         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
79460         For some reason libc prefers K&R style defns for external functions.
79461         (regerror) [!defined _LIBC]: Likewise.
79462         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
79463         (seek_collating_symbol_entry, lookup_collation_sequence_value):
79464         (build_range_exp, build_collating_symbol):
79465         Use K&R-style defn.
79466         (re_compile_fastmap): Use '\0' to memset, not 0.
79467         (utf8_sb_map): Make the calculations more obvious.
79468         (init_dfa, parse_bracket_exp, build_charclass_op):
79469         Call calloc and cast result, as glibc does.
79470         (init_word_char, fetch_token, peek_token, peek_token_bracket):
79471         (build_range_exp, build_collating_symbol):
79472         Now internal functions.
79473
79474         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
79475
79476         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
79477         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
79478         Don't depend on VMS; depend on __VMS instead, for POSIX
79479         namespace cleanness.
79480         (regoff_t): Define to ssize_t, not long int.
79481
79482         Remove the REG_ macros named below.  Instead, make the old names
79483         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
79484         __USE_GNU_REGEX.
79485         (REG_BACKSLASH_ESCAPE_IN_LISTS):
79486         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
79487         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
79488         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
79489         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
79490         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
79491         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
79492         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
79493         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
79494         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
79495         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
79496         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
79497         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
79498         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
79499         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
79500         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
79501         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
79502         (REG_NREGS):
79503         Remove.  All uses replaced by the old RE_* names.
79504         (RE_BACKSLASH_ESCAPE_IN_LISTS):
79505         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
79506         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
79507         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
79508         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
79509         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
79510         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
79511         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
79512         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
79513         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
79514         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
79515         Don't bother having these macros be independent of each others'
79516         values, since they no longer exist in the POSIX name space.
79517
79518         Rename the following member names back to their old names,
79519         unless !__USE_GNU_REGEX.  All uses changed back.
79520         (buffer): Renamed from re_buffer.
79521         (allocated): Renamed from re_allocated.
79522         (used): Renamed from re_used.
79523         (syntax): Renamed from re_syntax.
79524         (fastmap): Renamed from re_fastmap.
79525         (translate): Renamed from re_translate.
79526         (can_be_null): Renamed from re_can_be_null.
79527         (regs_allocated): Renamed from re_regs_allocated.
79528         (fastmap_accurate): Renamed from re_fastmap_accurate.
79529         (no_sub): Renamed from re_no_sub.
79530         (not_bol): Renamed from re_not_bol.
79531         (not_eol): Renamed from re_not_eol.
79532         (newline_anchor): Renamed from re_newline_anchor.
79533         (num_regs): Renamed from rm_num_regs.
79534         (start): Renamed from rm_start.
79535         (end): Renamed from rm_end.
79536
79537         (free_state): Move up a bit.
79538
79539         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
79540         #define to be empty.
79541         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
79542         when that is what is intended.
79543         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
79544         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
79545         (MAX): New macro.
79546         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
79547         All uses changed back to re_malloc, etc.  It's now the caller's
79548         responsibility to check for overflow; all callers changed.
79549         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
79550         (re_x2nrealloc): Remove.
79551         (free_state): Remove decl.
79552
79553         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
79554         (re_set_registers, re_exec):
79555         Use K&R-style defn.
79556
79557         2006-01-31  Roland McGrath  <roland@redhat.com>
79558
79559         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
79560         Reported by Mike Frysinger <vapier@gentoo.org>.
79561
79562         2006-01-15  Andreas Jaeger  <aj@suse.de>
79563
79564         [BZ #1950]
79565         * lib/regex_internal.c (re_string_reconstruct): Adjust for
79566         build_wcs_upper_buffer change.
79567         (build_wcs_upper_buffer): Change return type.
79568
79569         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
79570
79571         * lib/regex_internal.h: Include <stdint.h> if available.
79572
79573         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
79574
79575         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
79576
79577         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
79578
79579         * lib/regcomp.c: Adjust for changed secondary hash function.
79580
79581         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
79582
79583         * lib/regex.h: Pretty printing.
79584         Clean up namespace a bit.
79585
79586         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
79587
79588         * lib/regexec.c (update_cur_sifted_state, check_arrival,
79589         check_arrival_add_next_nodes): Avoid using uninitialized variable.
79590
79591         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79592                     Ulrich Drepper  <drepper@redhat.com>
79593
79594         [BZ #1302]
79595         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
79596         changed.
79597         (bitset_word_t): Renamed from bitset_word.  All uses changed.
79598
79599         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
79600
79601         [BZ #281]
79602         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
79603         * lib/regcomp.c: Remove unnecessary uses of
79604         unsigned RE_TRANSLATE_TYPE.
79605         * lib/regex_internal.h: Likewise.
79606         * lib/regex_internal.c: Likewise.
79607         * lib/regexec.c: Likewise.
79608         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
79609
79610         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
79611
79612         * lib/regexec.c (find_recover_state): Remove unnecessary
79613         initialization.
79614         (transit_state_bkref): Make DFA a const pointer.
79615         (get_subexp): Likewise.
79616         (check_arrival): Likewise.
79617         (update_cur_sifted_state): Likewise.
79618         (re_search_internal): Likewise.
79619         (prune_impossible_nodes): Likewise.
79620         (acquire_init_state_context): Likewise.
79621         (proceed_next_node): Likewise.
79622         (set_regs): Likewise.
79623         (free_fail_stack_return): Likewise.
79624         (check_arrival_expand_ecl): Mark DFA parameter as const.
79625         (check_arrival_expand_ecl_sub): Likewise.
79626         (check_subexp_limits): Likewise.
79627         (sub_epsilon_src_nodes):  Likewise.
79628         (add_epsilon_src_nodes):  Likewise.
79629         (merge_state_array): Likewise.
79630         (update_regs): Likewise.
79631         (build_trtable): Likewise.
79632         (sift_states_backward): Mark MCTX parameter as const.
79633         (build_sifted_states): Likewise.
79634         (update_cur_sifted_state): Likewise.
79635         (sift_states_mkref): Likewise.
79636         (check_arrival_expand_ecl): Mark eclosure as const.
79637         (check_dst_limits_calc_pos_1): Likewise.
79638         * lib/regex_internal.h (re_match_context_t): Make dfa a const
79639         pointer.
79640
79641         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
79642
79643         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
79644         (transit_state_sb): Likewise.
79645         (transit_state_mb): Likewise.
79646         (sift_states_iter_mb): Likewise.
79647         (check_arrival_add_next_nodes): Likewise.
79648         (check_node_accept_bytes): Change first parameter to pointer-to-const.
79649         [_LIBC] (re_search_2_stub): Use mempcpy.
79650
79651         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
79652         mbrtowc for very simple UTF-8 case.
79653
79654         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
79655         a pointer-to-const.
79656         (re_acquire_state_context): Likewise.
79657         * lib/regex_internal.h: Adjust prototypes.
79658
79659         * lib/regex.c: Prevent using C++ compilers.
79660
79661         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
79662         (re_acquire_state_context): Likewise.
79663
79664 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79665
79666         * modules/regex (Depends-on): Add ssize_t.
79667
79668 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79669
79670         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
79671         translation table.
79672
79673 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79674
79675         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
79676
79677 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
79678             Bruno Haible  <bruno@clisp.org>
79679
79680         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
79681         <sys/types.h> and <inttypes.h>.
79682
79683 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79684
79685         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
79686         `__error_t_defined', so argp.h will not typedef the former.
79687
79688 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
79689
79690         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
79691         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
79692         glibc names.  Even if glibc is changed to conform to POSIX, the
79693         traditional names will be available anyway, since regex depends on
79694         the extensions module.  Also, fix a longstanding typo in the
79695         implementation of Spencer ERE test #75 from grep 2.3.  Problems
79696         reported by Emanuele Giaquinta.  Also, change sense of cached
79697         variable, so that the message makes sense.
79698
79699 2006-03-24  Simon Josefsson  <jas@extundo.com>
79700
79701         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
79702         including some doc fixes.
79703         (base64_encode_alloc): Fix +1 bug on allocation failures.
79704
79705 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79706
79707         * lib/base64.c (base64_encode): Do not read past end of array with
79708         unsanitized input on systems with CHAR_BIT > 8.
79709
79710 2006-03-24  Eric Blake  <ebb9@byu.net>
79711
79712         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
79713
79714 2006-03-22  Karl Berry  <karl@gnu.org>
79715
79716         * config/srclist.txt (*setenv.[ch]): get from coreutils.
79717         * config/srclistvars.sh (COREUTILS): new var.
79718
79719 2006-03-17  Jim Meyering  <jim@meyering.net>
79720
79721         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
79722         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
79723
79724 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79725
79726         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
79727         no longer needs it.  Instead, check that regoff_t is as least
79728         as wide as ptrdiff_t.
79729
79730         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
79731         so that our regex.h stays compatible with the installed regex.
79732         This is helpful for installers who configure --without-included-regex.
79733         Problem reported by Emanuele Giaquinta.
79734
79735 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79736
79737         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
79738         Typedef to long int, not to off_, as POSIX will likely change
79739         in that direction.
79740
79741 2006-03-15  Eric Blake  <ebb9@byu.net>
79742
79743         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
79744
79745 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79746
79747         * lib/argp-help.c (validate_uparams): Fix typo
79748         * lib/argp-parse.c (argp_default_options): Consistently begin help
79749         messages with a lowercase letter.
79750
79751 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
79752
79753         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
79754         overrun buffers and shouldn't be used (much as gets shouldn't be
79755         used).
79756         * lib/time_r.c (asctime_r, ctime_r): Likewise.
79757
79758 2006-03-08  Simon Josefsson  <jas@extundo.com>
79759
79760         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
79761         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79762
79763 2006-03-08  Simon Josefsson  <jas@extundo.com>
79764
79765         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
79766         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79767
79768 2006-03-08  Simon Josefsson  <jas@extundo.com>
79769
79770         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79771         signal that configure disabled the device.
79772
79773 2006-03-08  Simon Josefsson  <jas@extundo.com>
79774
79775         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79776         languages.
79777
79778 2006-03-07  Simon Josefsson  <jas@extundo.com>
79779
79780         * modules/getopt (Depends-on): Add unistd.
79781
79782         * modules/unistd: New file.
79783
79784 2006-03-07  Simon Josefsson  <jas@extundo.com>
79785
79786         * modules/gc-random: New file.
79787
79788 2006-03-07  Simon Josefsson  <jas@extundo.com>
79789
79790         * m4/unistd_h.m4: New file.
79791
79792 2006-03-07  Simon Josefsson  <jas@extundo.com>
79793
79794         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79795         test to be side-effect free by storing the result in the cache
79796         variable gl_cv_lib_readline, and moving the assignment of
79797         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79798         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79799
79800 2006-03-07  Simon Josefsson  <jas@extundo.com>
79801
79802         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79803         error on missing devices (the functions will return an error).
79804
79805         * m4/gc.m4: Move random stuff to gc-random.m4
79806
79807 2006-03-07  Simon Josefsson  <jas@extundo.com>
79808
79809         * lib/unistd_.h: New file.
79810
79811 2006-03-07  Simon Josefsson  <jas@extundo.com>
79812
79813         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79814
79815 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79816
79817         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79818         Problem reported by Juan Manuel Guerrero.
79819
79820 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79821
79822         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79823         the unistd module.
79824         * lib/getlogin_r.c: Likewise.
79825         * lib/getlogin_r.h: Likewise.
79826         * lib/glob.c: Likewise.
79827         * lib/pagealign_alloc.c: Likewise.
79828         * lib/unistd_.h: Remove; no longer needed.
79829
79830 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79831
79832         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79833         Add unistd.
79834         * modules/c-stack (Depends-on): Add unistd.
79835         * modules/getlogin_r: Likewise.
79836         * modules/glob: Likewise.
79837         * modules/pagealign_alloc: Likewise.
79838         * modules/unistd (Files): Remove lib/unistd_.h.
79839         (EXTRA_DIST): Remove.
79840         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79841         need unistd_.h.
79842         (MOSTLYCLEANFILES): Remove unistd.h-t.
79843
79844 2006-03-03  Simon Josefsson  <jas@extundo.com>
79845
79846         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79847
79848 2006-03-03  Simon Josefsson  <jas@extundo.com>
79849
79850         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79851         libidn and bison.
79852
79853 2006-03-03  Simon Josefsson  <jas@extundo.com>
79854
79855         * build-aux/maint.mk: Add indent target.
79856
79857 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79858
79859         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79860         our replacement poll.h in any case, to avoid a differing
79861         declaration from a system header.  Seen on AIX.
79862
79863 2006-03-01  Simon Josefsson  <jas@extundo.com>
79864
79865         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79866         <kasal@ucw.cz>.
79867
79868 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79869
79870         * modules/gettime (Depends-on): Add extensions module.
79871         * modules/nanosleep (Depends-on): Likewise.
79872         * modules/settime (Depends-on): Likewise.
79873
79874 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79875
79876         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79877         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79878         pedantically.
79879         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79880         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79881
79882         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79883         not "==".  Reported by Ralf Wildenhues.
79884
79885 2006-03-01  Karl Berry  <karl@gnu.org>
79886
79887         * doc/Copyright/request-*: new files, synced from gnuorg.
79888
79889 2006-03-01  Karl Berry  <karl@gnu.org>
79890
79891         * config/srclist.txt (Copyright/*): new entries.
79892
79893 2006-02-28  Simon Josefsson  <jas@extundo.com>
79894
79895         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79896
79897 2006-02-27  Simon Josefsson  <jas@extundo.com>
79898
79899         * lib/base64.h: Indent #define's.  From Jim Meyering
79900         <jim@meyering.net>.
79901
79902 2006-02-27  Jim Meyering  <jim@meyering.net>
79903
79904         Revert the change of 2006-02-24, so these files can continue
79905         to be sync'd from gettext.
79906         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79907         of `config.h'.
79908
79909 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79910
79911         * modules/intprops: New file.
79912         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79913         Add intprops.
79914         * modules/getloadavg (Files): Remove lib/intprops.h.
79915         (Depends-on): Add intprops.
79916         * modules/human: Likewise.
79917         * modules/inttostr: Likewise.
79918         * modules/openat: Likewise.
79919         * modules/sig2str: Likewise.
79920         * modules/userspec: Likewise.
79921         * modules/utimecmp: Likewise.
79922         * modules/xnanosleep: Likewise.
79923         * modules/xstrtol: Likewise.
79924
79925 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79926
79927         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79928         * modules/lock-tests (TESTS): Use $(EXEEXT).
79929         * modules/tls-tests: Likewise.
79930         * modules/argp-tests: Likewise.
79931         (check_PROGRAMS): New var, replacing...
79932         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79933
79934 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79935
79936         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79937         `config.h'.
79938
79939 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
79940
79941         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
79942
79943 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79944
79945         Sync from coreutils.
79946         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
79947         gl_CHDIR_SAFER.
79948
79949 2006-02-22  Jim Meyering  <jim@meyering.net>
79950
79951         Sync from coreutils.
79952         * m4/chdir-safer.m4: New file.
79953
79954 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
79955
79956         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
79957         AT_FDCWD exceeds INT_MAX.
79958         * lib/openat.h (AT_FDCWD): Likewise.
79959
79960 2006-02-17  Eric Blake  <address@hidden>
79961
79962         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
79963
79964 2006-02-16  Simon Josefsson  <jas@extundo.com>
79965
79966         * modules/getaddrinfo (Depends-on): Add sys_socket.
79967
79968 2006-02-15  Simon Josefsson  <jas@extundo.com>
79969
79970         * build-aux/maint.mk: Add dsyntax-check rule.
79971
79972 2006-02-15  Eric Blake  <ebb9@byu.net>
79973
79974         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
79975         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
79976         'present but cannot compile' warnings on cygwin.
79977         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
79978         use ws2tcpip.h if sys/socket.h works.
79979         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79980         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79981
79982 2006-02-14  Simon Josefsson  <jas@extundo.com>
79983
79984         * modules/maintainer-makefile (Files): Rename.
79985
79986         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79987         and (the local) Makefile.cfg to maint-cfg.mk.
79988
79989         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79990         to the latter.
79991
79992         * modules/maintainer-makefile: New module.
79993
79994         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79995         severaly stripped to make it possible to build it up from scratch
79996         with reliable tests.
79997
79998         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79999         fixes to permit overriding the default actions when configure and
80000         makefile are not available.
80001
80002 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
80003
80004         Sync from coreutils.
80005         * modules/lstat (Depends-on): Don't depend on xalloc.
80006         (License): Change from GPL to LGPL, since this is now simply a
80007         replacement for a libc function.
80008
80009 2006-02-14  Jim Meyering  <jim@meyering.net>
80010
80011         Sync from coreutils.
80012
80013         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
80014         failure on deficient systems, and simplify gnulib lgpl dependencies.
80015         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
80016         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
80017
80018         * lib/xalloc-die.c: Remove unused definition of N_.
80019
80020 2006-02-14  Jim Meyering  <jim@meyering.net>
80021
80022         Sync from coreutils.
80023         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
80024         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
80025         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
80026         double-quote uses of that variable, to accommodate the rare case in
80027         which getmntent is available in none of the libraries checked.  This
80028         happens at least on FreeBSD 5.0.
80029
80030 2006-02-13  Simon Josefsson  <jas@extundo.com>
80031
80032         * gnulib-tool (Usage): Fix --import, from
80033         karl@freefriends.org (Karl Berry).
80034
80035 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80036
80037         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
80038
80039 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
80040
80041         * lib/argp-namefrob.h: Restore changes accidentally lost during the
80042         "autoupdate" on 2005-12-12.
80043
80044 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80045
80046         * modules/closeout (Depends-on): Remove atexit.
80047
80048 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80049
80050         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
80051         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
80052
80053 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
80054
80055         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
80056         __EXTENSIONS__ if this causes compilation to fail.  Problem
80057         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
80058         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
80059
80060 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
80061
80062         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
80063         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
80064         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
80065         All uses changed.
80066
80067 2006-01-26  Simon Josefsson  <jas@extundo.com>
80068
80069         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
80070         prototype is visible on mingw32.
80071
80072         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
80073         for mingw32.
80074
80075         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
80076         mingw32).
80077
80078 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
80079
80080         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
80081         attempt to open for write; this always fails, at least on POSIX
80082         hosts.  This reinstates the 2006-01-09 change, which was
80083         inadvertently removed.
80084
80085 2006-01-26  Bruno Haible  <bruno@clisp.org>
80086
80087         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
80088         Reported by Paul Eggert.
80089
80090 2006-01-26  Bruno Haible  <bruno@clisp.org>
80091             Paul Eggert  <eggert@cs.ucla.edu>
80092
80093         * lib/stdbool_.h (_Bool)
80094         [(! (defined __cplusplus || defined __BEOS__)
80095           && !defined __GNUC__
80096           && !(defined __HP_cc || defined __xlc__
80097                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
80098                || defined __sgi))]:
80099         #define to signed char in these cases too; this simplifies
80100         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
80101         etc., separately) and makes it more conservative.
80102
80103 2006-01-25  Simon Josefsson  <jas@extundo.com>
80104
80105         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
80106         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
80107         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
80108
80109 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80110
80111         * lib/argp-namefrob.h: Bugfix. Remove stray #
80112
80113 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80114
80115         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
80116         so that we test the test.
80117         Check for yet another HP-UX cc bug involving *bool |= bool.
80118
80119 2006-01-25  Karl Berry  <karl@gnu.org>
80120
80121         * config/srclist.txt (vasnprintf.c): sync lost.
80122
80123 2006-01-25  Jim Meyering  <jim@meyering.net>
80124
80125         Sync from the stable (b5) branch of coreutils:
80126
80127         * lib/fts.c (fts_children): Don't let close() clobber errno from
80128         failed fchdir().
80129
80130         * lib/fts.c (fts_stat): When following a symlink-to-directory,
80131         don't necessarily interpret stat-fails+lstat-succeeds as indicating
80132         a dangling symlink.  That can also happen at least for ELOOP.
80133         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
80134         FYI, this bug predates the inclusion of fts.c in coreutils.
80135
80136         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
80137         in their own block, so pre-c99 compilers don't object.
80138
80139         Avoid the double-free (first in fts_read, second in fts_close) that
80140         would occur when an `active' directory is made inaccessible (e.g.,
80141         via chmod a-x) during a traversal.
80142         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80143         before returning.  Reproduce this failure by
80144         mkdir -p a/b; cd a; chmod a-x . b
80145         Reported by Stavros Passas.
80146
80147 2006-01-25  Jim Meyering  <jim@meyering.net>
80148
80149         * lib/fileblocks.c: Remove more useless parentheses.
80150         * lib/readutmp.h: Likewise.
80151
80152 2006-01-25  Bruno Haible  <bruno@clisp.org>
80153
80154         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
80155         warnings.
80156         Reported by Paul Eggert.
80157
80158 2006-01-25  Bruno Haible  <bruno@clisp.org>
80159
80160         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
80161         rid of a trap command. For Solaris sh.
80162         Reported by Mark D. Baushke <mdb@gnu.org>.
80163
80164 2006-01-24  Simon Josefsson  <jas@extundo.com>
80165
80166         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
80167         Bruno.
80168
80169 2006-01-24  Karl Berry  <karl@gnu.org>
80170
80171         * config/srclist.txt (argp-namefrob.h): sync lost.
80172
80173 2006-01-24  Jim Meyering  <jim@meyering.net>
80174
80175         * modules/openat (Files): Add lib/intprops.h.
80176         From Mark D. Baushke.
80177
80178 2006-01-24  Jim Meyering  <jim@meyering.net>
80179
80180         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
80181         Reported by Mark D. Baushke.
80182
80183 2006-01-24  Jim Meyering  <jim@meyering.net>
80184
80185         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
80186
80187 2006-01-24  Bruno Haible  <bruno@clisp.org>
80188
80189         * modules/strnlen (Maintainer): Change from glibc to all.
80190
80191 2006-01-24  Bruno Haible  <bruno@clisp.org>
80192
80193         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
80194         Patch by Paul Eggert.
80195
80196 2006-01-24  Bruno Haible  <bruno@clisp.org>
80197
80198         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
80199         already has it.
80200         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
80201         2005-11-26.
80202
80203         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
80204         'signed char' to avoid problems with the built-in _Bool type.
80205         Reported by Paul Eggert on 2005-11-26.
80206
80207 2006-01-24  Bruno Haible  <bruno@clisp.org>
80208
80209         * gnulib-tool (func_import): Avoid constructing complicated sed
80210         expressions inside backquote.
80211         Report and solution by Mark D. Baushke <mdb@gnu.org>.
80212
80213 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
80214
80215         These changes imported from libc.
80216         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
80217         test and two separate function calls.
80218         * lib/strndup.c (__strndup): Add libc_hidden_def.
80219
80220 2006-01-23  Simon Josefsson  <jas@extundo.com>
80221
80222         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
80223         Remove the test_*_SOURCES variable: automake infers it by default.
80224         * modules/tls-tests: Likewise.
80225
80226 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80227
80228         Work around porting bugs reported by Dieter in
80229         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
80230         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
80231         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
80232         Include "getopt.h" first, to check interface.
80233         (getenv): Declare only if defined HAVE_DECL_GETENV &&
80234         !HAVE_DECL_GETENV.
80235         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
80236         (__strndup): Revert to K&R-style function dfns, the glibc style.
80237         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
80238         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
80239         Include strnlen.h first, to get prototype properly.
80240         (strnlen): Renamed from __strnlen.
80241         Remove weak alias.
80242
80243 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80244
80245         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
80246
80247 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80248
80249         * config/srclist.txt: Adjust to reflect glibc reorganization.
80250         This affects only comments.
80251
80252 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80253
80254          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
80255          Reported by Bruce Korb <bkorb@gnu.org>.
80256
80257 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
80258
80259         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
80260         to pacify gcc -Wswitch-default.
80261
80262 2006-01-22  Bruno Haible  <bruno@clisp.org>
80263
80264         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
80265         temporary buffer for sprintf, take into account the precision also
80266         for 'd', 'i', 'u', 'o', 'x', 'X'.
80267
80268 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80269
80270         * modules/argp-tests: New module
80271         * tests/test-argp.c: New file
80272         * tests/test-argp-2.sh: New file
80273
80274 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80275
80276         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
80277         (__argp_base_name): Removed
80278         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
80279         typo.
80280         (__argp_base_name): Provide macro definition or extern declaration
80281         depending on the configuration
80282
80283 2006-01-20  Simon Josefsson  <jas@extundo.com>
80284
80285         * modules/inet_ntop (Depends-on): Depend on sys_socket.
80286
80287 2006-01-20  Simon Josefsson  <jas@extundo.com>
80288
80289         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
80290
80291 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80292
80293         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
80294         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
80295         Suggested by Bruno Haible.
80296
80297 2006-01-20  Karl Berry  <karl@gnu.org>
80298
80299         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
80300         until changes propagate, I guess.
80301
80302 2006-01-19  Simon Josefsson  <jas@extundo.com>
80303
80304         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
80305
80306 2006-01-19  Simon Josefsson  <jas@extundo.com>
80307
80308         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
80309
80310 2006-01-19  Simon Josefsson  <jas@extundo.com>
80311
80312         * gnulib-tool: Set check_PROGRAMS.
80313
80314         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80315         modules/des-tests, modules/gc-arcfour-tests,
80316         modules/gc-arctwo-tests, modules/gc-des-tests,
80317         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80318         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80319         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80320         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80321         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80322         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
80323         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
80324         test_*_SOURCES.
80325
80326 2006-01-18  Simon Josefsson  <jas@extundo.com>
80327
80328         * modules/socklen (Depends-on): Depend on sys_socket.
80329
80330 2006-01-18  Simon Josefsson  <jas@extundo.com>
80331
80332         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80333         modules/des-tests, modules/gc-arcfour-tests,
80334         modules/gc-arctwo-tests, modules/gc-des-tests,
80335         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80336         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80337         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80338         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80339         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80340         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
80341         $(EXEEXT) to automake TESTS variable, for mingw32.
80342
80343 2006-01-17  Simon Josefsson  <jas@extundo.com>
80344
80345         * modules/socklen (Include): Need sys/socket.h.
80346
80347 2006-01-17  Bruno Haible  <bruno@clisp.org>
80348
80349         * modules/ssize_t (Include): Add <sys/types.h>.
80350
80351 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80352
80353         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80354         it's not portable and it doesn't work with cross-compiles.
80355         Problem reported by Bruno Haible.  Fix missing-$ typo in
80356         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80357         -zignore from being used with Sun's C compiler.
80358
80359 2006-01-12  Simon Josefsson  <jas@extundo.com>
80360
80361         * lib/base64.c: Fix warning, reported by Bruno Haible
80362         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80363
80364 2006-01-12  Bruno Haible  <bruno@clisp.org>
80365
80366         * modules/ldd: New file.
80367         * build-aux/ldd.sh.in: New file.
80368         * MODULES.html.sh (Support for building libraries and executables): Add
80369         ldd.
80370
80371 2006-01-12  Bruno Haible  <bruno@clisp.org>
80372
80373         * m4/ldd.m4: New file.
80374
80375 2006-01-12  Bruno Haible  <bruno@clisp.org>
80376
80377         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80378         endless loop while replacing $auxdir with build-aux.
80379
80380 2006-01-11  Simon Josefsson  <jas@extundo.com>
80381
80382         * lib/stdint_.h (SIZE_MAX): Add missing (.
80383
80384 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80385
80386         Sync from coreutils.
80387         * lib/md5.c: Fix commentary typos.
80388         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80389         * lib/md5.h (__attribute__): Remove; unused.
80390         * lib/sha1.c: Fix commentary to match md5 better.
80391         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80392         so that we don't need to worry about alignment.  All uses changed.
80393         This merges the 2005-10-28 md5 change into sha1.
80394
80395 2006-01-11  Jim Meyering  <jim@meyering.net>
80396
80397         Sync from coreutils.
80398         * lib/md5.c (OP): Fix spacing.
80399
80400 2006-01-11  Bruno Haible  <bruno@clisp.org>
80401
80402         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80403         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
80404         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
80405
80406 2006-01-11  Bruno Haible  <bruno@clisp.org>
80407
80408         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80409         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
80410         the "early" section as well.
80411
80412 2006-01-11  Bruno Haible  <bruno@clisp.org>
80413
80414         Avoid "ar: no archive members specified" error on MacOS X.
80415         * gnulib-tool (func_modules_add_dummy): New function.
80416         (func_import, func_create_testdir): Invoke it.
80417
80418 2006-01-11  Bruno Haible  <bruno@clisp.org>
80419
80420         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
80421         with $auxdir in AC_CONFIG_FILES statements.
80422
80423 2006-01-11  Bruno Haible  <bruno@clisp.org>
80424
80425         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80426         Initialize also noinst_HEADERS to empty.
80427
80428 2006-01-11  Bruno Haible  <bruno@clisp.org>
80429
80430         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
80431         variables.
80432         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
80433         autoreconf.
80434
80435 2006-01-11  Bruno Haible  <bruno@clisp.org>
80436
80437         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
80438         overridable by the user.
80439         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80440
80441 2006-01-10  Simon Josefsson  <jas@extundo.com>
80442
80443         * modules/sys_socket: New file.
80444
80445 2006-01-10  Simon Josefsson  <jas@extundo.com>
80446
80447         * m4/sys_socket_h.m4: New file.
80448
80449 2006-01-10  Simon Josefsson  <jas@extundo.com>
80450
80451         * lib/socket_.h: New file.
80452
80453 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80454
80455         * modules/readutmp (Maintainer): Add myself.
80456
80457 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80458
80459         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
80460         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
80461         People who are still concerned with buggy memcmp implementations
80462         can invoke gl_FUNC_MEMCMP themselves.
80463
80464 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80465
80466         * lib/regex_internal.h (BITSET_WORD_BITS):
80467         Work around a bug in 64-bit PGC (before version 6.1-2), where the
80468         preprocessor mishandles large unsigned values as if they were signed.
80469         Problem reported by Claudio Fontana in
80470         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
80471
80472 2006-01-10  Jim Meyering  <jim@meyering.net>
80473
80474         Avoid the double-free (first in fts_read, second in fts_close) that
80475         would occur when an `active' directory is made inaccessible (e.g.,
80476         via chmod a-x) during a traversal.
80477         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80478         before returning.  Reproduce this failure by
80479         mkdir -p a/b; cd a; chmod a-x . b
80480         Reported by Stavros Passas.
80481
80482         Sync from coreutils.
80483         * lib/sha1.c: Tweak grammar in a comment.
80484
80485 2006-01-10  Jim Meyering  <jim@meyering.net>
80486
80487         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
80488         Patch by Joerg Sonnenberger.
80489
80490 2006-01-10  Bruno Haible  <bruno@clisp.org>
80491
80492         * modules/readutmp: Depend on module free.
80493         * modules/strtok_r: Depend on module restrict.
80494
80495 2006-01-10  Bruno Haible  <bruno@clisp.org>
80496
80497         * modules/gettext (configure.ac): Add an invocation of
80498         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
80499
80500 2006-01-10  Bruno Haible  <bruno@clisp.org>
80501
80502         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
80503         Reported by Werner Lemberg <wl@gnu.org>.
80504
80505 2006-01-10  Bruno Haible  <bruno@clisp.org>
80506
80507         * lib/localcharset.c: Update from GNU gettext.
80508
80509 2006-01-10  Bruno Haible  <bruno@clisp.org>
80510
80511         * lib/argp.h (__const): Remove macro. Use const instead.
80512         * lib/argp-fmtstream.h (__const): Likewise.
80513         * lib/glob_.h (__const): Remove macro.
80514         * lib/glob-libc.h: Use const instead of __const.
80515
80516 2006-01-10  Bruno Haible  <bruno@clisp.org>
80517
80518         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
80519         variable.
80520         Needed to avoid an automake error regarding the 'gettext' module.
80521
80522 2006-01-09  Simon Josefsson  <jas@extundo.com>
80523
80524         * modules/inet_ntop (Depends-on): Add restrict.
80525
80526 2006-01-09  Simon Josefsson  <jas@extundo.com>
80527
80528         * modules/gc-rijndael-tests (License): Put under LGPL.
80529
80530         * modules/gc-des-tests (License): Likewise.
80531
80532         * modules/gc-arcfour-tests (License): Likewise.
80533
80534         * modules/gc-arctwo-tests (License): Likewise.
80535
80536         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
80537
80538         * modules/gc-hmac-sha1-tests (Files): Likewise.
80539
80540         * modules/gc-hmac-md5-tests (License): Likewise.
80541
80542         * modules/gc-sha1-tests (License): Likewise.
80543
80544         * modules/gc-md5-tests (License): Likewise.
80545
80546         * modules/gc-md4-tests (License): Likewise.
80547
80548         * modules/gc-md2-tests (License): Likewise.
80549
80550         * modules/gc-tests (License): Likewise.
80551
80552         * modules/des-tests (License): Likewise.
80553
80554         * modules/md4-tests (License): Likewise.
80555
80556         * modules/md2-tests (License): Likewise.
80557
80558 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80559
80560         Sync from coreutils:
80561
80562         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
80563         * modules/lib-ignore: New file.
80564         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
80565         chdir-safer.m4, lchmod.m4.
80566         * modules/openat: Add mkdirat.c, openat-priv.h.
80567
80568 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80569
80570         Sync from coreutils.
80571         * m4/lib-ignore.m4: New file.
80572         * m4/lchmod.m4: New file.
80573
80574 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80575
80576         Sync from coreutils.
80577         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
80578         for write access: POSIX says that must fail.
80579         * lib/fts.c (diropen): Likewise.
80580         * lib/save-cwd.c (save_cwd): Likewise.
80581         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
80582         well, for minor improvements on hosts that lack O_DIRECTORY.
80583         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
80584         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
80585         Fall back on chown if open failed with EACCES.
80586
80587         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
80588         Report an error at compile-time if only a 1-second nominal clock
80589         resolution is found.
80590
80591         * lib/lchmod.h: New file.
80592         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
80593         (make_dir_parents): Use lchown rather than chown, and
80594         lchmod rather than chmod.
80595
80596         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
80597         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
80598         "proc" reported by n0dalus.
80599
80600         * lib/mountlist.c: Include <limits.h>.
80601         (dev_from_mount_options)
80602         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
80603         New function.  It no longer assumes "dev=" has the System V meaning
80604         on Linux (since it doesn't).  It also parses "dev=" more carefully.
80605         (read_file_system_list)
80606         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
80607         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
80608         dev= in that case.
80609
80610         * lib/posixtm.h (PDS_PRE_2000): New macro.
80611         * lib/posixtm.c (year): Arg is now syntax_bits rather than
80612         allow_century.  All usages changed.  Reject dates outside the range
80613         1969-1999 if PDS_PRE_2000 is used.
80614
80615 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80616
80617         Sync from coreutils.
80618         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
80619         (Time of day items): Mention the possibility of leap seconds.
80620         Problem reported by Dr. David Alan Gilbert.
80621
80622 2006-01-09  Jim Meyering  <jim@meyering.net>
80623
80624         Sync from coreutils.
80625
80626         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
80627
80628         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
80629
80630         * lib/modechange.c (mode_compile): Reject an invalid mode string
80631         that starts with an octal digit.  From Andreas Gruenbacher.
80632
80633         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
80634         and dup to open_safer and dup_safer, respectively.
80635         (openat_permissive): Fix typo in comment.
80636
80637         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
80638         "gettext.h"; either no longer needed or are guaranteed by openat.h.
80639         (_): Remove; no longer needed.
80640         (openat): Renamed from rpl_openat; no need for rpl_openat
80641         since openat.h renames openat for us.
80642         Replace most of the body with a call to openat_permissive,
80643         to avoid duplicate code.
80644         Port to (probably hypothetical) environments were mode_t is
80645         wider than int.
80646         (openat_permissive): Require mode arg, so that we can check
80647         types better.  Put it just after flags.  Change cwd failure
80648         indicator from pointer-to-bool to pointer-to-errno-value.
80649         All callers changed.
80650         Invoke openat_save_fail and/or openat_restore_fail if
80651         cwd_errno is null, so that openat can call us.
80652         (openat_permissive, fdopendir, fstatat, unlinkat):
80653         Simplify errno handling to avoid some duplicate code,
80654         as it's OK to set errno on success.
80655         * lib/openat.h: Revamp code so that function macros depend on
80656         __OPENAT_PREFIX only, not also on AT_FDCWD.
80657         (openat_ro): Remove.  Caller changed to use openat_permissive.
80658         (openat_permissive): Now a macro, if not a function.
80659         (openat_restore_fail, openat_save_fail): Now always functions,
80660         since mkdirat needs them even if __OPENAT_PREFIX is defined.
80661
80662         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
80663         and openat.c.
80664         * lib/mkdirat.c: Include openat-priv.h.
80665         Remove definitions of macros defined therein.
80666         * lib/openat.c: Likewise.
80667
80668         * lib/mkdirat.c (mkdirat): New file and function.
80669         * lib/openat.h (mkdirat): Declare.
80670
80671         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
80672
80673         * lib/openat.h (openat_permissive): Declare.
80674         (openat_ro): Define.
80675
80676         * lib/openat.c (EXPECTED_ERRNO): New macro.
80677         (openat_permissive): New function -- used in remove.c rewrite.
80678         (all functions): Set errno just before returning, only if there
80679         was an actual failure.
80680         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
80681
80682         Emulate openat-family functions using Linux's procfs, if possible.
80683         Idea and some code based on Ulrich Drepper's glibc changes.
80684
80685         * lib/openat.c: (BUILD_PROC_NAME): New macro.
80686         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
80687         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
80688         before falling back on save_cwd and restore_cwd.
80689         (fdopendir, fstatat, unlinkat): Likewise.
80690
80691         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
80692         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
80693
80694         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
80695         as second argument to va_arg.  Otherwise, some versions of gcc
80696         warn that `if this code is reached, the program will abort'.
80697
80698 2006-01-09  Jim Meyering  <jim@meyering.net>
80699
80700         Sync from coreutils.
80701         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
80702         Require openat-priv.h.
80703
80704 2006-01-09  Bruno Haible  <bruno@clisp.org>
80705
80706         * modules/strnlen (Include): Use strnlen.h.
80707
80708 2006-01-09  Bruno Haible  <bruno@clisp.org>
80709
80710         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
80711
80712 2006-01-09  Bruno Haible  <bruno@clisp.org>
80713
80714         * lib/sysexit_.h (EX_OK): New macro.
80715         Suggested by Martin Lambers <marlam@marlam.de>.
80716
80717 2006-01-09  Bruno Haible  <bruno@clisp.org>
80718
80719         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
80720         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
80721
80722 2006-01-09  Bruno Haible  <bruno@clisp.org>
80723
80724         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
80725         numbers.
80726
80727 2006-01-09  Bruno Haible  <bruno@clisp.org>
80728
80729         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
80730         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
80731         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
80732         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
80733
80734 2006-01-09  Bruno Haible  <bruno@clisp.org>
80735
80736         * build-aux/javacomp.sh.in: New file, moved from lib/.
80737         * modules/javacomp-script (Files): Update.
80738         (configure.ac): Add AC_CONFIG_FILES invocation.
80739         (EXTRA_DIST): Remove variable.
80740
80741         * build-aux/javaexec.sh.in: New file, moved from lib/.
80742         * modules/javaexec (Files): Update.
80743         (configure.ac): Add AC_CONFIG_FILES invocation.
80744         (EXTRA_DIST): Remove javaexec.sh.in.
80745
80746         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
80747         * modules/csharpcomp-script (Files): Update.
80748         (configure.ac): Add AC_CONFIG_FILES invocation.
80749         (EXTRA_DIST): Remove variable.
80750
80751         * build-aux/csharpexec.sh.in: New file, moved from lib/.
80752         * modules/csharpexec (Files): Update.
80753         (configure.ac): Add AC_CONFIG_FILES invocation.
80754         (EXTRA_DIST): Remove csharpexec.sh.in.
80755
80756 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80757
80758         Sync from coreutils.
80759
80760         Add POSIX ACL support
80761         * lib/acl.h (copy_acl, set_acl): Add declarations.
80762         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
80763         systems other than Linux.
80764         (chmod_or_fchmod): New function: use fchmod when possible,
80765         and chmod otherwise.
80766         (file_has_acl): Add a POSIX ACL implementation, with a
80767         Linux-specific subcase.
80768         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80769         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80770         acls are unsupported.
80771         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80772         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80773         are unsupported.
80774
80775 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80776
80777         Sync from coreutils.
80778         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80779
80780 2006-01-07  Bruno Haible  <bruno@clisp.org>
80781
80782         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80783         gl_EARLY.
80784
80785 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80786
80787         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80788         Problem reported for Mingw by Mark Junker.
80789
80790 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80791
80792         * README: Gnulib normally doesn't generate a tarball.
80793
80794 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80795
80796         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80797         long int, not int, for nanosecond counts, so that people who are
80798         used to POSIX struct timespec won't be surprised.  Reported by Jim
80799         Meyering.
80800
80801 2005-12-28  Bruno Haible  <bruno@clisp.org>
80802
80803         * build-aux/config.rpath: Update from GNU gettext.
80804
80805 2005-12-16  Jim Meyering  <jim@meyering.net>
80806
80807         * modules/fprintftime: New module.
80808         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80809
80810 2005-12-16  Jim Meyering  <jim@meyering.net>
80811
80812         * m4/fprintftime.m4: New file.
80813
80814 2005-12-16  Jim Meyering  <jim@meyering.net>
80815
80816         * lib/fprintftime.c, lib/fprintftime.h: New files.
80817
80818 2005-12-15  Simon Josefsson  <jas@extundo.com>
80819
80820         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80821         new m4/socklen.m4.
80822
80823 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80824
80825         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80826         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80827
80828 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80829
80830         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80831         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80832         struct uparams is valid. Fall back to the default values if it is
80833         not.
80834
80835 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80836
80837         * modules/argp (Files): Add argp-pin.c
80838         (Depends-on): dirname
80839         (lib_SOURCES): Add argp-pin.c
80840
80841 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80842
80843         * m4/argp.m4:  Check if program_invocation_name and
80844         program_invocation_short_name are declared and define appropriate
80845         macros if they are not.
80846
80847 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80848
80849         * lib/argp-help.c (__argp_base_name): New function
80850         (__argp_short_program_name): Rewrite using __argp_base_name
80851         * lib/argp-namefrob.h: Define program_invocation_name and
80852         program_invocation_short_name if requested
80853         (__argp_base_name): Add prototype
80854         * lib/argp-parse.c (argp_def): Use gettext wrappers
80855         (argp_default_parser): Use __argp_base_name
80856         * lib/argp-pin.c: New file. Defines program_invocation_name and
80857         program_invocation_short_name on systems that lack them.
80858
80859 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80860
80861         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80862         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80863         porting problem reported by Georg Schwarz in
80864         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80865
80866 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80867
80868         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80869         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80870         porting problem reported by Georg Schwarz in
80871         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80872
80873 2005-12-05  Bruno Haible  <bruno@clisp.org>
80874
80875         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80876         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80877         Reported by Mark Junker <mjscod@gmx.de>.
80878
80879 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80880
80881         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80882         Use implementation from Albert Chin, with some
80883         comments/corrections by Stepan Kasal and myself.
80884
80885 2005-12-02  Bruno Haible  <bruno@clisp.org>
80886
80887         * gnulib-tool (func_import): Accept GPLed build tool modules when
80888         --lgpl is given.
80889         * modules/csharpcomp-script: New file.
80890         * modules/csharpcomp: Depend on it.
80891         * modules/javacomp-script: New file.
80892         * modules/javacomp: Depend on it.
80893         Suggested by Simon Josefsson.
80894
80895 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80896
80897         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80898         statement, to work around an HP-UX 10.20 compiler bug reported by
80899         Peter O'Gorman.
80900
80901 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80902
80903         * modules/savedir (Depends-on): Add openat.
80904
80905 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80906
80907         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80908         (uintmax_t) [defined uintmax_t]: Do not declare.
80909         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80910         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80911         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80912         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80913         sake of portability to weird hosts that C allows (though we don't
80914         know of any practical examples).
80915
80916         * lib/savedir.h (fdsavedir): New decl.
80917         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80918         contains most of the former guts of savedir.
80919         (savedir): Use savedirstream.
80920         Include "openat.h".
80921
80922 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80923
80924         * modules/obstack (Files): Add m4/ulonglong.m4.
80925         Problem reported by Davide Angelocola.
80926
80927 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80928
80929         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80930         coreutils no longer futzes with rounding modes.
80931
80932 2005-11-14  Jim Meyering  <jim@meyering.net>
80933
80934         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80935         replacement of mkstemp.
80936
80937 2005-11-10  Simon Josefsson  <jas@extundo.com>
80938
80939         * lib/readline.c: Remove EOL.
80940
80941 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80942
80943         * modules/gethrxtime (Depends-on): Add gettime.
80944
80945 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80946
80947         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
80948         or gettimeofday; no longer needed.
80949
80950 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80951
80952         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
80953         time business.
80954         (gethrxtime) [! (HAVE_NANOUPTIME
80955         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
80956         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
80957         our own approximation.
80958
80959 2005-11-08  Eric Blake  <ebb9@byu.net>
80960
80961         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80962
80963 2005-11-08  Eric Blake  <ebb9@byu.net>
80964
80965         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80966
80967 2005-11-04  Bruno Haible  <bruno@clisp.org>
80968
80969         * gnulib-tool: Implement --update mode.
80970
80971 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80972
80973         Fix porting problem reported by Theodoros V. Kalamatianos.
80974         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
80975         Don't assume that futimes failing means we must fail.
80976
80977 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80978
80979         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80980         variables to suggest the intended function of the PATH_MAX check.
80981
80982 2005-10-30  Kean Johnston  <jkj@sco.com>
80983
80984         Trivial changes to support SCO systems.
80985         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80986         as PATH_MAX.
80987         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80988         where __ptr is null when no I/O is pending.
80989
80990 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80991
80992         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80993         leave errno alone.  Problem reported by Dmitry V. Levin.
80994
80995 2005-10-28  Simon Josefsson  <jas@extundo.com>
80996
80997         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80998         Test more.
80999
81000         * tests/test-gc-md2.c, tests/test-md2.c: New files.
81001
81002         * modules/md2, modules/md2-tests: New files.
81003
81004 2005-10-28  Simon Josefsson  <jas@extundo.com>
81005
81006         * m4/inet_ntop.m4: More tests.
81007
81008         * m4/gc-md2.m4, md2.m4: New file.
81009
81010 2005-10-28  Simon Josefsson  <jas@extundo.com>
81011
81012         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
81013         "restrict" keywords, as per POSIX.  Protect the function
81014         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
81015         Don't use K&R prototypes.  Check the sprintf return values.
81016         Re-define EAFNOSUPPORT if not present.  Indent.
81017
81018         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
81019         suggested by Bruno Haible <bruno@clisp.org>.
81020
81021         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
81022
81023         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
81024
81025         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
81026         libgcrypt).
81027
81028         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
81029
81030         * lib/md2.h, lib/md2.c: New files.
81031
81032 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
81033
81034         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
81035         errno alone.  Problem reported by Frederic Jolliton.
81036
81037 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
81038
81039         * modules/verify (License): Change from GPL to LGPL.  This is a
81040         tiny module and there are apparently near-equivalents that are
81041         under the BSD license.
81042
81043 2005-10-24  Simon Josefsson  <jas@extundo.com>
81044
81045         * modules/sha1: Relicense to LGPL.
81046
81047 2005-10-24  Simon Josefsson  <jas@extundo.com>
81048
81049         * lib/md4.h: Shrink buffer size, now that we changed the type.
81050
81051 2005-10-23  Simon Josefsson  <jas@extundo.com>
81052
81053         * gnulib-tool (func_import): Fix --tests-base.
81054
81055 2005-10-22  Simon Josefsson  <jas@extundo.com>
81056
81057         * modules/arcfour (Depends-on): Need stdint.
81058
81059 2005-10-22  Simon Josefsson  <jas@extundo.com>
81060
81061         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
81062         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
81063
81064 2005-10-22  Simon Josefsson  <jas@extundo.com>
81065
81066         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
81067         suggested by Bruno Haible <bruno@clisp.org>.
81068
81069 2005-10-22  Simon Josefsson  <jas@extundo.com>
81070
81071         * lib/crc.h: Include stddef.h, for size_t.
81072
81073 2005-10-22  Simon Josefsson  <jas@extundo.com>
81074
81075         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
81076         arcfour_context struct (simplify test vector testing in GNU
81077         Shishi).
81078
81079 2005-10-21  Simon Josefsson  <jas@extundo.com>
81080
81081         * modules/des, modules/des-tests: New files.
81082
81083         * modules/gc-des, modules/gc-des-tests: New files.
81084
81085         * tests/test-des.c, tests/test-gc-des.c: New file.
81086
81087 2005-10-21  Simon Josefsson  <jas@extundo.com>
81088
81089         * modules/arctwo, modules/arctwo-tests: New files.
81090
81091         * tests/test-arctwo.c: New file.
81092
81093         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
81094
81095         * tests/test-gc-arctwo.c: New file.
81096
81097 2005-10-21  Simon Josefsson  <jas@extundo.com>
81098
81099         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
81100         Bruno Haible <bruno@clisp.org>.
81101
81102         * m4/gc-des.m4: New file.
81103
81104 2005-10-21  Simon Josefsson  <jas@extundo.com>
81105
81106         * m4/arctwo.m4: New file.
81107
81108         * m4/gc-arctwo.m4: New file.
81109
81110 2005-10-21  Simon Josefsson  <jas@extundo.com>
81111
81112         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
81113         block.
81114
81115 2005-10-21  Simon Josefsson  <jas@extundo.com>
81116
81117         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
81118         <bruno@clisp.org>.
81119
81120         * lib/hmac-sha1.c (hmac_sha1): Likewise.
81121
81122         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
81123         Bruno Haible <bruno@clisp.org>.
81124
81125         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
81126         <bruno@clisp.org>.
81127
81128 2005-10-21  Simon Josefsson  <jas@extundo.com>
81129
81130         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
81131
81132 2005-10-21  Simon Josefsson  <jas@extundo.com>
81133
81134         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
81135
81136 2005-10-21  Simon Josefsson  <jas@extundo.com>
81137
81138         * lib/des.h, lib/des.c: New files.
81139
81140         * lib/gc-gnulib.c: Support DES.c
81141
81142 2005-10-21  Simon Josefsson  <jas@extundo.com>
81143
81144         * lib/arctwo.h, lib/arctwo.c: New files.
81145
81146         * lib/gc-gnulib.c: Support ARCTWO.
81147
81148 2005-10-21  Simon Josefsson  <jas@extundo.com>
81149
81150         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
81151         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81152
81153 2005-10-21  Simon Josefsson  <jas@extundo.com>
81154
81155         * gnulib-tool (func_import, func_create_testdir): Define automake
81156         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
81157         Makefile.am snippet),
81158         suggested by Bruno Haible <bruno@clisp.org>.
81159
81160         * modules/gc (Makefile.am): Use it.
81161
81162 2005-10-21  Bruno Haible  <bruno@clisp.org>
81163
81164         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
81165         patch.
81166
81167 2005-10-19  Simon Josefsson  <jas@extundo.com>
81168
81169         * tests/test-gc-rijndael.c: New file.
81170
81171         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
81172
81173 2005-10-19  Simon Josefsson  <jas@extundo.com>
81174
81175         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
81176         interface too.
81177
81178 2005-10-19  Simon Josefsson  <jas@extundo.com>
81179
81180         * tests/test-gc-arcfour.c: New file.
81181
81182         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
81183
81184 2005-10-19  Simon Josefsson  <jas@extundo.com>
81185
81186         * modules/gc-md4, modules/gc-md4-tests: New file.
81187
81188         * tests/test-gc-md4.c: New file.
81189
81190 2005-10-19  Simon Josefsson  <jas@extundo.com>
81191
81192         * m4/gc-md4.m4: New file.
81193
81194 2005-10-19  Simon Josefsson  <jas@extundo.com>
81195
81196         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
81197         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
81198         <kasal@ucw.cz>.
81199
81200 2005-10-19  Simon Josefsson  <jas@extundo.com>
81201
81202         * m4/gc-arcfour.m4: New file.
81203
81204         * m4/gc-rijndael.m4: New file.
81205
81206 2005-10-19  Simon Josefsson  <jas@extundo.com>
81207
81208         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
81209
81210 2005-10-19  Simon Josefsson  <jas@extundo.com>
81211
81212         * lib/gc-gnulib.c: Support ARCFOUR.
81213
81214 2005-10-19  Simon Josefsson  <jas@extundo.com>
81215
81216         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
81217         support.
81218
81219         * lib/gc.h: Add ECB enum type.
81220
81221         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
81222
81223 2005-10-18  Simon Josefsson  <jas@extundo.com>
81224
81225         * tests/test-md5.c: New file.
81226
81227         * modules/md5-tests: New file.
81228
81229 2005-10-18  Simon Josefsson  <jas@extundo.com>
81230
81231         * tests/test-md4.c: New file.
81232
81233         * modules/md4, modules/md4-tests: New files.
81234
81235 2005-10-18  Simon Josefsson  <jas@extundo.com>
81236
81237         * m4/md4.m4: New file.
81238
81239 2005-10-18  Simon Josefsson  <jas@extundo.com>
81240
81241         * lib/md4.h, lib/md4.c: New files, based on md5.?.
81242
81243 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
81244
81245         * gnulib-tool (func_create_testdir): Omit the second check whether
81246         BUILT_SOURCES in nonempty.
81247
81248 2005-10-17  Simon Josefsson  <jas@extundo.com>
81249
81250         * tests/test-rijndael.c: New file.
81251
81252 2005-10-17  Simon Josefsson  <jas@extundo.com>
81253
81254         * modules/sha1: Depend on stdint instead of md5.
81255
81256         * modules/md5: Depend on stdint, remove uint32_t.
81257
81258 2005-10-17  Simon Josefsson  <jas@extundo.com>
81259
81260         * modules/gc-sha1-tests: New file.
81261
81262         * tests/test-gc-sha1.c: New file.
81263
81264 2005-10-17  Simon Josefsson  <jas@extundo.com>
81265
81266         * m4/md5.m4: Remove call to uint32_t.m4.
81267
81268 2005-10-17  Simon Josefsson  <jas@extundo.com>
81269
81270         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
81271
81272         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
81273         md5.h.
81274
81275         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
81276
81277         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
81278
81279 2005-10-17  Simon Josefsson  <jas@extundo.com>
81280
81281         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
81282
81283 2005-10-17  Simon Josefsson  <jas@extundo.com>
81284
81285         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
81286
81287 2005-10-17  Simon Josefsson  <jas@extundo.com>
81288
81289         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
81290
81291         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
81292
81293 2005-10-17  Bruno Haible  <bruno@clisp.org>
81294
81295         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
81296         that it can also be used in a test.
81297
81298 2005-10-16  Bruno Haible  <bruno@clisp.org>
81299
81300         * gnulib-tool (func_emit_tests_Makefile_am): Also define
81301         TESTS_ENVIRONMENT, so that individual tests can augment it.
81302
81303         * gnulib-tool (func_create_testdir): Use an intermediate target for
81304         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
81305         macros, like $(ALLOCA_H), which cannot be passed through the command
81306         line.
81307
81308 2005-10-15  Simon Josefsson  <jas@extundo.com>
81309
81310         * modules/rijndael-tests: New file.
81311
81312         * modules/rijndael: New file.
81313
81314 2005-10-15  Simon Josefsson  <jas@extundo.com>
81315
81316         * m4/rijndael.m4: New file.
81317
81318 2005-10-15  Simon Josefsson  <jas@extundo.com>
81319
81320         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
81321
81322         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
81323
81324 2005-10-14  Simon Josefsson  <jas@extundo.com>
81325
81326         * tests/test-arcfour.c: New file.
81327
81328         * modules/arcfour, modules/arcfour-tests: New files.
81329
81330 2005-10-14  Simon Josefsson  <jas@extundo.com>
81331
81332         * m4/arcfour.m4: New file.
81333
81334 2005-10-14  Simon Josefsson  <jas@extundo.com>
81335
81336         * lib/arcfour.h, lib/arcfour.c: New files.
81337
81338 2005-10-14  Roland McGrath  <roland@redhat.com>
81339
81340         Import from libc.  [BZ #1331]
81341         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
81342         macro argument.
81343         Reported by Matej Vela <vela@debian.org>.
81344
81345 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81346
81347         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81348         include <wchar.h>; no longer needed.
81349
81350 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81351
81352         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81353
81354 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81355         and  Ulrich Drepper  <drepper@redhat.com>
81356
81357         Import from libc.
81358         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81359         instead of inline stream orientation test and two separate
81360         function calls.  Pay no attention to USE_IN_LIBIO.
81361
81362 2005-10-13  Simon Josefsson  <jas@extundo.com>
81363
81364         * modules/gc-hmac-md5-tests: New file.
81365
81366         * tests/test-gc-hmac-sha1.c: New file.
81367
81368         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81369
81370         * modules/gc-hmac-md5-tests: New file.
81371
81372         * tests/test-gc-md5.c: New file.
81373
81374         * modules/gc-md5-tests: New file.
81375
81376 2005-10-13  Simon Josefsson  <jas@extundo.com>
81377
81378         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81379         Move memory allocation outside of loop.
81380
81381 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81382
81383         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81384         intermediate directory is in a read-only file system.  Problem
81385         reported by Eric Blake.
81386
81387 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81388
81389         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81390
81391 2005-10-12  Simon Josefsson  <jas@extundo.com>
81392
81393         * tests/test-hmac-sha1.c: New file.
81394
81395         * modules/hmac-sha1-tests: New file.
81396
81397         * modules/hmac-sha1: New file.
81398
81399 2005-10-12  Simon Josefsson  <jas@extundo.com>
81400
81401         * modules/gc-sha1: New file.
81402
81403 2005-10-12  Simon Josefsson  <jas@extundo.com>
81404
81405         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
81406
81407         * tests/test-gc-pbkdf2-sha1.c: New file.
81408
81409 2005-10-12  Simon Josefsson  <jas@extundo.com>
81410
81411         * modules/gc-md5, modules/gc-hmac-md5: New files.
81412
81413         * modules/gc (Files): Remove md5, memxor and hmac files.
81414
81415 2005-10-12  Simon Josefsson  <jas@extundo.com>
81416
81417         * m4/gc-pbkdf2-sha1.m4: New file.
81418
81419         * m4/gc-hmac-sha1.m4: New file.
81420
81421         * m4/gc-sha1: New file.
81422
81423         * m4/hmac-sha1.m4: New file.
81424
81425 2005-10-12  Simon Josefsson  <jas@extundo.com>
81426
81427         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
81428
81429         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
81430
81431 2005-10-12  Simon Josefsson  <jas@extundo.com>
81432
81433         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
81434         suggested by Bruno Haible <bruno@clisp.org>.
81435
81436 2005-10-12  Simon Josefsson  <jas@extundo.com>
81437
81438         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
81439
81440 2005-10-12  Simon Josefsson  <jas@extundo.com>
81441
81442         * lib/gc-pbkdf2-sha1.c: New file.
81443
81444         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
81445
81446 2005-10-12  Simon Josefsson  <jas@extundo.com>
81447
81448         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
81449
81450         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
81451
81452 2005-10-12  Simon Josefsson  <jas@extundo.com>
81453
81454         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
81455         GC_USE_HMAC_MD5, respectively.
81456
81457         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
81458         (gc_md5): Fix typo.
81459
81460         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
81461
81462         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
81463
81464         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
81465
81466 2005-10-12  Bruno Haible  <bruno@clisp.org>
81467
81468         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
81469         Reported by Stepan Kasal <kasal@ucw.cz>.
81470
81471 2005-10-11  Simon Josefsson  <jas@extundo.com>
81472
81473         * tests/test-crc.c: New file.
81474
81475         * modules/crc, modules/crc-tests: New files.
81476
81477 2005-10-11  Simon Josefsson  <jas@extundo.com>
81478
81479         * m4/crc.m4: New file.
81480
81481 2005-10-11  Simon Josefsson  <jas@extundo.com>
81482
81483         * lib/gc.h: Add gc_hash and gc_hash_buffer.
81484
81485         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
81486
81487         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
81488
81489 2005-10-11  Simon Josefsson  <jas@extundo.com>
81490
81491         * lib/crc.h, lib/crc.c: New files.
81492
81493         * lib/gc.h (gc_hash_buffer): Add doc.
81494
81495 2005-10-11  Bruno Haible  <bruno@clisp.org>
81496
81497         * modules/c-strcasestr: New file.
81498         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
81499
81500 2005-10-11  Bruno Haible  <bruno@clisp.org>
81501
81502         * modules/c-strcase: New file.
81503         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
81504
81505 2005-10-11  Bruno Haible  <bruno@clisp.org>
81506
81507         * lib/strcasecmp.c: Include limits.h.
81508         (strcasecmp): Avoid integer overflow on exotic platforms.
81509         * lib/strncasecmp.c: Include limits.h.
81510         (strncasecmp): Avoid integer overflow on exotic platforms.
81511         Reported by Paul Eggert.
81512
81513 2005-10-11  Bruno Haible  <bruno@clisp.org>
81514
81515         * lib/c-strcasestr.h: New file, from GNU gettext.
81516         * lib/c-strcasestr.c: New file, from GNU gettext.
81517
81518 2005-10-11  Bruno Haible  <bruno@clisp.org>
81519
81520         * lib/c-strcase.h: New file, from GNU gettext.
81521         * lib/c-strcasecmp.c: New file, from GNU gettext.
81522         * lib/c-strncasecmp.c: New file, from GNU gettext.
81523
81524 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81525
81526         * modules/mempcpy (License): GPL -> LGPL.
81527         * modules/strchrnul (License): Likewise.
81528         * modules/sysexits (License): Likewise.
81529
81530 2005-10-08  Simon Josefsson  <jas@extundo.com>
81531
81532         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
81533
81534 2005-10-07  Simon Josefsson  <jas@extundo.com>
81535
81536         * m4/memxor.m4: Remove gl_C_RESTRICT call.
81537
81538 2005-10-06  Simon Josefsson  <jas@extundo.com>
81539
81540         * tests/test-hmac-md5.c: New file.
81541
81542         * modules/hmac-md5-tests: New file.
81543
81544         * modules/hmac-md5: New file.
81545
81546 2005-10-06  Simon Josefsson  <jas@extundo.com>
81547
81548         * m4/hmac-md5.m4: New file.
81549
81550         * m4/memxor.m4: Require gl_C_RESTRICT.
81551
81552 2005-10-06  Simon Josefsson  <jas@extundo.com>
81553
81554         * lib/memxor.c (memxor): Avoid casts and warnings.
81555
81556 2005-10-06  Simon Josefsson  <jas@extundo.com>
81557
81558         * lib/hmac-md5.c: New file.
81559
81560         * lib/hmac.h: New file.
81561
81562 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81563
81564         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
81565         promotes to int, not unsigned int, to catch the AIX 5.3
81566         compiler bug.
81567
81568 2005-10-05  Simon Josefsson  <jas@extundo.com>
81569
81570         * modules/memxor: New file.
81571
81572         * modules/iconv (Files): Move config.rpath to havelib, it is used
81573         there.
81574
81575         * modules/havelib (Files): Add config.rpath.
81576
81577 2005-10-05  Simon Josefsson  <jas@extundo.com>
81578
81579         * m4/memxor.m4: New file.
81580
81581 2005-10-05  Simon Josefsson  <jas@extundo.com>
81582
81583         * lib/memxor.c (memxor): Fix compiler error.
81584
81585         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
81586         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
81587
81588         * lib/memxor.h, lib/memxor.c: New files.
81589
81590         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
81591         we assume all systems have it, suggested by Jim Meyering
81592         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
81593         any systems lack sys/socket.h; mingw32 is known to lack it, but we
81594         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
81595         same reasons.
81596
81597 2005-10-05  Simon Josefsson  <jas@extundo.com>
81598
81599         * config/srclist.txt: Add glibc bug 1423 for md5.h.
81600
81601 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
81602
81603         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
81604         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
81605         needed, since the source code now assumes these .h files.
81606
81607 2005-10-05  Derek Price  <derek@ximbiot.com>
81608
81609         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
81610
81611 2005-10-05  Bruno Haible  <bruno@clisp.org>
81612
81613         * modules/stdint (License): Change to LGPL.
81614
81615 2005-10-04  Simon Josefsson  <jas@extundo.com>
81616
81617         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
81618         D. Baushke" <mdb@gnu.org>.
81619
81620 2005-10-04  Bruno Haible  <bruno@clisp.org>
81621
81622         * lib/verify.h (verify_true): Provide alternative definition for C++.
81623
81624 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
81627         (SSIZE_MAX): New macro, if not already defined.
81628         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
81629         than 2 GiB.
81630
81631 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81632
81633         Sync from coreutils.
81634         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
81635         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
81636         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
81637         ULLONG_MAX doesn't work with 2.7.2.1.
81638
81639 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81640
81641         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
81642         From Ben Pfaff.
81643
81644         * modules/exclude (Depends-on): Depend on verify.
81645         * modules/strtoimax (Depends-on): Likewise.
81646         * modules/utimecmp (Depends-on): Likewise.
81647
81648 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81649
81650         * lib/exclude.c: Include verify.h.
81651         (verify): Remove.  All callers changed to use verify.h's version.
81652         * lib/strtoimax.c: Likewise.
81653         * lib/utimecmp.c: Likewis.e
81654
81655         Sync from coreutils.
81656         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
81657         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
81658         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
81659         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
81660         bother returning ENOSYS if settimeofday or stime fails; just let
81661         them return whatever errno they want to return.
81662         * lib/utimens.c: Include unistd.h, for dup2.
81663         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
81664         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
81665
81666 2005-10-02  Jim Meyering  <jim@meyering.net>
81667
81668         Sync from coreutils.
81669         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
81670         from glibc-2.2.5 that fails for read-only files.
81671
81672 2005-10-02  Jim Meyering  <jim@meyering.net>
81673
81674         Sync from coreutils.
81675         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
81676         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
81677         `#if HAVE_CONFIG_H'.
81678         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
81679         Remove AT_FDCWD test.
81680         Do not consume the fd unless successful.
81681         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
81682         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
81683         block, so that we don't even try to compile it if settimeofday is
81684         available.  This works around a compilation failure on OSF1 V5.1,
81685         due to stime requiring a `long int*' while tv_sec is `int'.
81686
81687 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
81688
81689         Sync from coreutils.
81690         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
81691         against `yes', rather than just testing for nonempty.
81692
81693 2005-10-01  Simon Josefsson  <jas@extundo.com>
81694
81695         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
81696         and Darwin.
81697
81698         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
81699         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
81700         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
81701         freeaddrinfo and gai_strerror are declared by the POSIX headers.
81702         Check if struct addrinfo is declared.
81703
81704 2005-10-01  Simon Josefsson  <jas@extundo.com>
81705
81706         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
81707         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
81708         AI_* and EAI_* definitions.  Protect function declarations.
81709
81710 2005-10-01  Jim Meyering  <jim@meyering.net>
81711
81712         Sync from coreutils.
81713
81714         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
81715         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
81716         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
81717         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81718         in the inet and nsl libraries.  Required on Solaris 5.7.
81719
81720 2005-10-01  Jim Meyering  <jim@meyering.net>
81721
81722         Sync from coreutils.
81723         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81724         in the inet and nsl libraries.  Required on Solaris 5.7.
81725
81726 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
81727
81728         * lib/getdelim.c (getdelim): Remove unused variables.
81729
81730 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
81731
81732         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
81733         so that the code works even with ancient cpp.  Portability problem
81734         with GCC 2.7.2.1 reported by Thomas M.Ott.
81735
81736 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
81737
81738         * modules/regex (Depends-on): Add strcase.
81739
81740         * modules/gethostname (Licence): Change from GPL to LGPL, since
81741         gethostname.c is a trivial implementation of a standard library
81742         function.
81743         * modules/poll (License): Change from GPL to LGPL, since it's
81744         derived from LGPL code.
81745
81746 2005-09-27  Jim Meyering  <jim@meyering.net>
81747
81748         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
81749         HAVE_CONFIG_H.
81750
81751         * lib/intprops.h (signed_type_or_expr__): Define.
81752         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
81753         for unsigned types.
81754
81755 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
81756
81757         * lib/verify.h (verify_expr): Remove, replacing with:
81758         (verify_true): New macro that returns true instead of void.
81759         (verify_type__): Remove.
81760         (verify): Use verify_true rather than verify_type__.
81761
81762 2005-09-26  Bruno Haible  <bruno@clisp.org>
81763
81764         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
81765         is necessary.
81766         (lib_SOURCES): Remove mbchar.c.
81767         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81768         (Files): Add m4/mbrtowc.m4.
81769         * modules/mbiter: Likewise.
81770         * modules/mbuiter: Likewise.
81771
81772 2005-09-26  Bruno Haible  <bruno@clisp.org>
81773
81774         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81775         compile mbchar.c if they are not both present.
81776         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81777         * m4/mbiter.m4 (gl_MBITER): Likewise.
81778         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81779         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81780         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81781
81782 2005-09-25  Jim Meyering  <jim@meyering.net>
81783
81784         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81785         also uses socklen_t.
81786
81787 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81788
81789         * lib/utimens.c (ENOSYS): Define if not already defined.
81790         (futimens): Support having a null PATH if the file descriptor
81791         is nonnegative.
81792
81793         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81794         Remove.
81795         (__attribute): Define to empty unless GCC 3.1 or later.
81796         This works around a core dump on OpenBSD 3.4, which has GCC
81797         2.95.3, which dumps core when given __attribute__(()).  It also
81798         simplifies other tests, since we really don't want to bother with
81799         worrying about which ancient version of GCC supported what.
81800         Original problem reported by Yoann Vandoorselaere, with part of
81801         the fix suggested by Derek Price.
81802
81803 2005-09-24  Jim Meyering  <jim@meyering.net>
81804
81805         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81806         so we can once again use a positive bitfield width of 1 -- now we
81807         don't have to explain why we were using a bitfield width of 2.
81808
81809 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81810
81811         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81812         and similarly for the other external symbols.  Problem reported
81813         by James Gallager.
81814
81815         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81816         bug reported by Jim Meyering.
81817
81818         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81819         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81820         not needed, since socklen is a prerequisite module.
81821
81822 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81823
81824         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81825         Problem reported by Eric Blake.
81826         (getaddrinfo): Initialize se so that it's not garbage.
81827         Redo internal storage allocation so that it doesn't make unportable
81828         assumptions about alignment.
81829         Fix a memory leak.
81830
81831         * lib/utimens.c (futimens): Use futimesat if available.
81832         Prefer it to futimes since it doesn't have the futimes bug.
81833
81834         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81835         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81836         Instead, declare a function that returns a pointer to an array,
81837         and use verify_type__ to declare the size of the array.
81838         Problem and germ of a solution reported by Bruno Haible.
81839         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81840         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81841
81842 2005-09-23  Jim Meyering  <jim@meyering.net>
81843
81844         Sync from coreutils.
81845         Correct build failure (socklen_t not defined) on at least
81846         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81847         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81848
81849 2005-09-23  Jim Meyering  <jim@meyering.net>
81850
81851         * modules/getaddrinfo (Depends-on): Add socklen.
81852
81853 2005-09-23  Bruno Haible  <bruno@clisp.org>
81854
81855         * tests/test-verify.c: New file.
81856
81857 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81858
81859         Sync from coreutils.
81860
81861         * modules/argmatch (Depends-on): Add verify.
81862         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81863         unistd-safer.
81864         * modules/save-cwd (Depends-on): Likewise.
81865
81866         * modules/openat (Files): Add lib/openat-die.c.
81867         (Depends-on): Remove error, exitfail.
81868         Add dirname.
81869
81870         * modules/verify: New file.
81871         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81872         with "verify" module.
81873
81874 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81875
81876         Sync from coreutils.
81877
81878         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81879         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81880         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81881         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81882         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81883         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81884         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81885         Don't bother checking for string.h, stdlib.h, unistd.h.
81886         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81887         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81888         module's job.
81889         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81890         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81891
81892         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81893         (gl_GETDATE): Use it.
81894
81895         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81896
81897 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81898
81899         Sync from coreutils.
81900
81901         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81902         stat-time.h.
81903         * lib/argmatch.h: Include verify.h
81904         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81905         (ARGMATCH_ASSERT): Remove; unused.
81906         * lib/canonicalize.c: Assume STDC_HEADERS.
81907         * lib/exclude.c: Include "strcase.h".
81908         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81909         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81910         and stdio-safer.h.
81911         (getusershell): Call fopen, not fopen_safer.
81912         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81913         Do not include unistd-safer.h.
81914         (save_cwd): Don't call fd_safer; no longer needed
81915         now that we include fcntl--.h.
81916
81917         * lib/getdate.y (relative_time): New type.
81918         (RELATIVE_TIME_0): New constant.
81919         (parser_control): Use relative_time instead of doing it ourselves.
81920         (%union): Add new relative_time rel member.
81921         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81922         Now typeless.
81923         (relunit, relunit_snumber): Now of type rel.
81924         (zone, rel, relunit, get_date): Adjust to above changes.
81925
81926         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81927         Do not include unistd-safer.h.
81928         (getloadavg): Don't call fd_safer; no longer needed
81929         now that we include fcntl--.h.
81930
81931         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81932         (make_dir_parents): Treat ENOSYS like EEXIST.
81933
81934         Improve quality of diagnostics on restore_cwd failure.
81935         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81936         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81937         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
81938         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
81939         each time through the loop.  Do not diagnose restore_cwd failure;
81940         that is the caller's job (and perhaps the caller does not care).
81941
81942         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
81943         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
81944         If the file already exists but is not a directory, don't bother
81945         to try to make its parents.
81946         Close potential file descriptor leak if we can't chdir("/") (!).
81947         Don't always return true if chdir($PWD) fails; return true only
81948         if the requested action was done successfully (except for the
81949         chdir($PWD)).
81950         Don't log final directory unless we actually made it.
81951         Refactor to avoid duplicate code to fix up permissions.
81952         Don't attempt to fix up parent permissions if chdir($PWD) fails.
81953
81954         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
81955         to make it a bit faster and (I hope) clearer.
81956         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
81957         Fix bug in formats like %2N.
81958
81959         * lib/verify.h: New file.
81960
81961 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81962
81963         Sync from coreutils.
81964         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
81965
81966 2005-09-22  Jim Meyering  <jim@meyering.net>
81967
81968         Sync from coreutils.
81969
81970         * m4/lstat.m4 (gl_FUNC_LSTAT):
81971         Use AC_LIBSOURCES to require lstat.c and lstat.h.
81972         Remove obsolete comment.
81973         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
81974         * m4/xstrtod.m4: Likewise.
81975
81976         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
81977
81978 2005-09-22  Jim Meyering  <jim@meyering.net>
81979
81980         Sync from coreutils.
81981
81982         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81983
81984         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81985         the .tm_year member, since otherwise gcc-4.0 would now warn about
81986         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81987
81988         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81989         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81990
81991         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81992         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81993         when run in a time zone for which daylight savings time is in effect
81994         for the starting date.
81995
81996         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81997         stop us from restricting permissions of just-created absolute-named
81998         directories.
81999         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
82000         to restore initial working directory.
82001         * lib/mkdir-p.c (make_dir_parents): New parameter:
82002         different_working_dir, to tell caller if/when we change the working
82003         directory and are unable to return to the initial one.
82004         * lib/mkdir-p.h (make_dir_parents): Update prototype.
82005         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
82006         `return false'.  This fixes a bug introduced on 2004-07-30.
82007
82008         * lib/openat.c (fdopendir): Be sure to close the supplied
82009         file descriptor before returning.  This makes our replacement
82010         implementation a little closer to Solaris's, where fdopendir
82011         ties the file descriptor to the returned DIR* pointer.
82012         * lib/openat.c (unlinkat): New function.
82013         * lib/openat.h (unlinkat): Add prototype.
82014         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
82015         (openat_restore_fail): Rename from openat_restore_die.
82016         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
82017
82018         Provide an alternative to exiting immediately upon save_cwd or
82019         restore_cwd failure.  Now, an application can arrange e.g.,
82020         to perform a longjump in that case.
82021         * lib/openat.c: Include dirname.h.
82022         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
82023         (rpl_openat, fdopendir, fstatat): Call openat_save_die
82024         and openat_restore_die rather than calling error directly.
82025         Don't include "error.h" or "exitfail.h"; they're no longer needed.
82026
82027         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
82028         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
82029         define.
82030
82031         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
82032         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
82033                             int utc, int nanoseconds);
82034         Background:
82035         date should not have to allocate a megabyte of virtual memory to
82036         handle a format argument like +%1048575T.  When implemented with
82037         strftime, it must allocate such a buffer, use strftime to fill it
82038         in, print it, then free it.
82039         With fprintftime, it simply prints everything and exits.
82040         With no need for memory allocation, that's one fewer way to fail.
82041         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
82042         optional field width, not before, so we accept %9:z, not %:9z.
82043         (my_strftime): Be sure to use L_('x') for literals.
82044
82045         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
82046         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
82047         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
82048         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
82049         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
82050         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
82051         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
82052         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
82053         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
82054         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
82055         * lib/xgethostname.c, lib/xreadlink.c:
82056         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
82057
82058         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
82059         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
82060         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
82061         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82062         and don't include <sys/file.h>).
82063
82064 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
82065
82066         Sync from coreutils.
82067
82068         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
82069         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
82070         [!LDAV_DONE]: Avoid unused variable warning.
82071
82072 2005-09-21  Bruno Haible  <bruno@clisp.org>
82073
82074         * lib/unicodeio.h (unicode_to_mb): New declaration.
82075
82076 2005-09-20  Derek Price  <derek@ximbiot.com>
82077
82078         * lib/getaddrinfo.c: Don't include <netdb.h> included from
82079         getaddrinfo.h.
82080
82081 2005-09-20  Bruno Haible  <bruno@clisp.org>
82082
82083         * gnulib-tool: Remove trailing slashes from the values specified for
82084         --source-base, --m4-base, --tests-base, --aux-dir.
82085         Suggested by Simon Josefsson <jas@extundo.com>.
82086
82087 2005-09-20  Bruno Haible  <bruno@clisp.org>
82088
82089         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
82090         func_modules_to_filelist, func_import, func_create_testdir): Make all
82091         sorting results locale-independent, so that gnulib-cache.m4 doesn't
82092         change when gnulib-tool is invoked in a different locale.
82093
82094 2005-09-19  Simon Josefsson  <jas@extundo.com>
82095
82096         * m4/socklen.m4: Fix typo.
82097
82098 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82099
82100         Use a consistent style for including <config.h>.
82101         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
82102         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
82103         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
82104         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
82105         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
82106         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
82107         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
82108         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
82109         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
82110         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
82111         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
82112         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
82113         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
82114         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
82115         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
82116         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
82117         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
82118         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
82119         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
82120         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
82121         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
82122         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
82123         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
82124         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
82125         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
82126         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
82127         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
82128         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
82129         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
82130         lib/xstrtoumax.c, lib/yesno.c:
82131         Standardize inclusion of config.h.
82132         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
82133         lib/inttostr.h:  Removed inclusion of config.h from header files.
82134         * lib/inttostr.c:  Adjusted in-tree users.
82135         * lib/timespec.h: Remove superfluous warning to include config.h.
82136         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
82137         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
82138         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
82139         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
82140         config.h with HAVE_CONFIG_H.
82141
82142 2005-09-19  Jim Meyering  <jim@meyering.net>
82143
82144         * modules/pathmax (License): Change to LGPL.
82145
82146 2005-09-19  Derek Price  <derek@ximbiot.com>
82147
82148         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
82149
82150 2005-09-19  Bruno Haible  <bruno@clisp.org>
82151
82152         * gnulib-tool (import): Provide default for --tests-base.
82153
82154 2005-09-19  Bruno Haible  <bruno@clisp.org>
82155
82156         * doc/quote.texi: New file, extracted from gnulib.texi.
82157         * doc/ctime.texi: New file, extracted from gnulib.texi.
82158         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
82159         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
82160         * doc/gnulib.texi: Include them.
82161
82162 2005-09-18  Bruno Haible  <bruno@clisp.org>
82163
82164         Portability fix.
82165         * gnulib-tool (func_readlink): New function.
82166         (func_ln_if_changed): Use it.
82167
82168 2005-09-18  Bruno Haible  <bruno@clisp.org>
82169
82170         * gnulib-tool: Support --with-tests also with --import.
82171         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
82172         (func_import): Use variables $testsbase and $inctests. Emit a
82173         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
82174         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
82175         SUBDIRS += $testsdir.
82176         (func_create_testdir): Update.
82177
82178 2005-09-18  Bruno Haible  <bruno@clisp.org>
82179
82180         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
82181         instead of $dry_run.
82182         (func_cp_if_changed, func_mv_if_changed): Remove functions.
82183         (func_ln_if_changed): Don't handle dry-run here.
82184         (func_import): In dry-run mode, detect more precisely which actions
82185         would be performed, and don't use "...ing" verbs.
82186
82187 2005-09-18  Bruno Haible  <bruno@clisp.org>
82188
82189         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
82190         (func_import): Use join on two temporary files instead of three nested
82191         loops, in order to determine which files are new or old.
82192
82193 2005-09-18  Bruno Haible  <bruno@clisp.org>
82194
82195         * gnulib-tool (func_import): Comment out code that spits out the
82196         new files with --dry-run.
82197
82198 2005-09-18  Bruno Haible  <bruno@clisp.org>
82199
82200         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
82201
82202 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82203
82204         * lib/stat-time.h: New file.
82205         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
82206         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
82207         in a different way.
82208         (timespec_cmp): New function.
82209         * lib/utimecmp.c: Include stat-time.h.
82210         (SYSCALL_RESOLUTION): Depend on whether various struct stat
82211         members exist, not on the obsolescent ST_MTIM_NSEC.
82212         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
82213
82214 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82215
82216         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
82217
82218 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82219
82220         * MODULES.html.sh (File system functions): Add stat-time.
82221         * modules/stat-time: New file.
82222         * modules/timespec (Files): Remove m4/st_mtim.m4; this
82223         is now done in a different way, by the stat-time module.
82224         * modules/utimecmp (Depends-on): Add stat-time.
82225
82226 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
82227
82228         * m4/st_mtim.m4: Remove.  Superseded by...
82229         * m4/stat-time.m4: New file.
82230         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
82231         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
82232
82233 2005-09-15  Derek Price  <derek@ximbiot.com>
82234
82235         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
82236
82237 2005-09-15  Derek Price  <derek@ximbiot.com>
82238
82239         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
82240         * lib/regex_internal.c: Ditto, using this...
82241         (__GNUC_PREREQ): ...new macro.
82242         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
82243         using...
82244         (__GNUC_PREREQ): ...this new macro.
82245
82246         * lib/strstr.h: Include string.h. Define strstr as a macro here.
82247
82248 2005-09-15  Derek Price  <derek@ximbiot.com>
82249             Paul Eggert  <eggert@cs.ucla.edu>
82250
82251         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
82252         changes, consolidating in...
82253         * lib/regex_internal.h: ...this file.
82254
82255 2005-09-13  Jim Meyering  <jim@meyering.net>
82256
82257         * lib/canon-host.c: Filter through gnu indent and reword comments
82258         slightly.
82259         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
82260
82261 2005-09-13  Derek Price  <derek@ximbiot.com>
82262
82263         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
82264         failure.
82265         Reported by Jim Meyering  <jim@meyering.net>.
82266
82267 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82268
82269         * lib/base64.c: Typo.
82270         (base64_encode): Put b64str in initialized data section.
82271
82272 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82273
82274         Merge glibc and coreutils changes into gnulib, plus a few
82275         extra fixes.
82276         * lib/md5.c: Use #error rather than a string.
82277         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
82278         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
82279         (__attribute__): Define to empty for non recent-GCC.
82280         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
82281         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
82282         Renamed from their non-__ counterparts, with new macros replacing
82283         them if not _LIBC.  Add __THROW attribute.
82284         (rol): Remove.
82285         (struct md5_ctx): Align buffer if using GCC.
82286         * lib/sha1.h (struct sha1_ctx): Likewise.
82287         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
82288         The old name was backwards.
82289         (NOTSWAP): Remove; not used.
82290         (rol): New macro, moved here from md5.h.
82291         (sha1_process_block): Remove a FIXME that doesn't make sense.
82292
82293 2005-09-12  Derek Price  <derek@ximbiot.com>
82294
82295         Return usable errors from canon-host.
82296         * lib/canon-host.h: New file.
82297         * lib/canon-host.c (canon_host): Wrap...
82298         (canon_host_r): ...this new function, which now relies exclusively on
82299         getaddrinfo.
82300         (ch_strerror): New function.
82301         (last_cherror): New global.
82302         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
82303         interface.
82304         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
82305         void *.
82306         (freeaddrinfo): Free ai->ai_canonname when set.
82307
82308 2005-09-12  Derek Price  <derek@ximbiot.com>
82309
82310         Make canon-host require getaddrinfo.
82311         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
82312         AC_LIBSOURCE canon-host.h.  Call...
82313         (gl_PREREQ_CANON_HOST): ...this new function, which requires
82314         gl_GETADDRINFO.
82315         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
82316
82317 2005-09-12  Derek Price  <derek@ximbiot.com>
82318
82319         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
82320         LGPL.
82321         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
82322
82323 2005-09-12  Derek Price  <derek@ximbiot.com>
82324
82325         * lib/gai_strerror.c: Include config.h when available.  Include
82326         getaddrinfo.h before other headers to test interface.
82327         Reported by Larry Jones <lawrence.jones@ugs.com>.
82328
82329 2005-09-12  Derek Price  <derek@ximbiot.com>
82330             Paul Eggert  <eggert@cs.ucla.edu>
82331
82332         * modules/glob (Files): Add glob-libc.h.
82333
82334 2005-09-12  Derek Price  <derek@ximbiot.com>
82335             Paul Eggert  <eggert@cs.ucla.edu>
82336
82337         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
82338         glob_.h, glob-libc.h.
82339         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
82340
82341 2005-09-12  Derek Price  <derek@ximbiot.com>
82342             Paul Eggert  <eggert@cs.ucla.edu>
82343
82344         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82345         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82346         protecting things that should be done only in gnulib contexts.
82347         * lib/glob_.h: New file, containing only the glob things needed for
82348         gnulib.
82349         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82350         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82351         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82352         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82353         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82354         and to respect the namespace rules better.
82355
82356 2005-09-08  Simon Josefsson  <jas@extundo.com>
82357
82358         * modules/socklen: New file.
82359
82360 2005-09-08  Simon Josefsson  <jas@extundo.com>
82361
82362         * m4/socklen.m4: New file.
82363
82364 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82365
82366         * modules/utimens (Files): Add m4/utimbuf.m4, since
82367         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82368         Reported by Sergey Poznyakoff.
82369
82370 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82371
82372         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82373         definitions, since that's the preferred style in glibc.
82374         Fix a minor spacing issue, and update copyright notice to match
82375         glibc's.
82376
82377 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82378
82379         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82380
82381 2005-09-06  Simon Josefsson  <jas@extundo.com>
82382
82383         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82384         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82385
82386 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82387
82388         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82389         warning.
82390
82391 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * config/srclist.txt: Add glibc bug 1302.
82394
82395 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82396
82397         Change bitset word type from unsigned int to unsigned long int,
82398         as this has better performance on typical 64-bit hosts.
82399         Port bitset code to hosts with unusual word sizes.
82400         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
82401         (build_collating_symbol):
82402         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
82403         argument is a bitset.  This is merely a style issue, but it makes
82404         it clearer that an entire array is expected.
82405         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
82406         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
82407         Port to the case where bitset_word is not the same as unsigned int.
82408         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82409         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
82410         Likewise.
82411         * lib/regexec.c (check_dst_limits_calc_pos_1,
82412         check_subexp_matching_top):
82413         (build_trtable, group_nodes_into_DFAstates):
82414         Likewise.
82415         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
82416         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
82417         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
82418         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
82419         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
82420         * lib/regcomp.c (optimize_subexps, lower_subexp):
82421         Work even if bitset_word has holes in its bitwise representation.
82422         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
82423         * lib/regexec.c (check_dst_limits_calc_pos_1,
82424         check_subexp_matching_top):
82425         Likewise.
82426         * lib/regex_internal.c (re_string_reconstruct):
82427         Don't assume UCHAR_MAX == 255.
82428         * lib/regex_internal.h (bitset_set_all): Likewise.
82429         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
82430         All uses changed.
82431         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
82432         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
82433         All uses changed.
82434         (BITSET_WORD_MAX): New macro.
82435         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
82436         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
82437         (bitset_empty, bitset_copy):
82438         Prefer sizeof (bitset) to multiplying it out ourselves.
82439         (bitset_not_merge): Remove; unused.
82440         (bitset_contain): Return bool, not unsigned int with one bit on.
82441         All callers changed.
82442         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
82443         alignment than re_node_set; do this by defining a new internal
82444         type struct dests_alloc and using it to allocate memory.
82445
82446 2005-09-05  Bruno Haible  <bruno@clisp.org>
82447
82448         * gnulib-tool (func_import): Fix comparison in handling of symbolic
82449         links.
82450
82451 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
82452
82453         * modules/size_max (Makefile.am): Add size_max.h
82454
82455 2005-09-04  Derek Price  <derek@ximbiot.com>
82456
82457         * gnulib-tool (func_import): Fix reversed $symbolic logic.
82458
82459 2005-09-03  Simon Josefsson  <jas@extundo.com>
82460
82461         * gnulib-tool: Fix typo.
82462
82463 2005-09-03  Simon Josefsson  <jas@extundo.com>
82464
82465         * config/srclist.txt: Add glibc bug 1293.
82466
82467 2005-09-03  Derek Price  <derek@ximbiot.com>
82468
82469         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
82470         From Larry Jones <lawrence.jones@ugs.com>.
82471
82472 2005-09-02  Simon Josefsson  <jas@extundo.com>
82473
82474         * modules/socklen: New file.
82475
82476 2005-09-02  Simon Josefsson  <jas@extundo.com>
82477
82478         * modules/havelib: New module.
82479
82480         * modules/gettext, modules/iconv, modules/lock, modules/readline:
82481         Use havelib.
82482
82483 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82484
82485         Check for arithmetic overflow when calculating sizes, to prevent
82486         some buffer-overflow issues.  These patches are conservative, in the
82487         sense that when I couldn't determine whether an overflow was possible,
82488         I inserted a run-time check.
82489         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
82490         macros.
82491         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
82492         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
82493         (re_xnrealloc, re_x2nrealloc): New inline functions.
82494         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
82495         parse_bracket_exp):
82496         (build_equiv_class, build_charclass): Check for arithmetic overflow
82497         in size expression calculations.
82498         * lib/regex_internal.c (re_string_realloc_buffers):
82499         (build_wcs_upper_buffer, re_node_set_add_intersect):
82500         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
82501         (re_dfa_add_node, register_state): Likewise.
82502         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
82503         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
82504         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
82505         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
82506
82507 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82508
82509         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82510         m4/ulonglong.m4.  Problem reported by Martin Lambers.
82511
82512 2005-09-02  Bruno Haible  <bruno@clisp.org>
82513
82514         Support for lib vs. lib64 distinction on biarch platforms.
82515         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
82516         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
82517         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
82518
82519 2005-09-02  Bruno Haible  <bruno@clisp.org>
82520
82521         * gnulib-tool (import): In the other first-use case, provide defaults
82522         as well.
82523
82524 2005-09-02  Bruno Haible  <bruno@clisp.org>
82525
82526         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
82527         patches not yet found in the latest gettext release.
82528
82529 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82530
82531         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
82532         to avoid a collision with bits/local_lim.h in glibc.
82533         All uses changed.  Problem reported by Dmitry V. Levin in
82534         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
82535
82536         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
82537         bugs in int versus size_t comparisons.
82538         (re_string_context_at): Fix bug where the code assumed that
82539         Idx is signed.
82540
82541         Use bool where appropriate.
82542         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
82543         All callers changed.
82544         (calc_eclosure_iter): Likewise, for ROOT arg.
82545         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
82546         (build_charclass_op): Likewise, for NON_MATCH arg.
82547         * lib/regex_internal.c (re_string_allocate, re_string_construct):
82548         (re_string_construct_common): Likewise, for ICASE arg.
82549         * lib/regexec.c (re_search_2_stub, re_search_stub):
82550         Likewise, for RET_LEN arg.
82551         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
82552         (set_regs): Likewise, for FL_BACKTRACK arg.
82553         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
82554         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
82555         (calc_eclosure_iter, parse_bracket_exp):
82556         Use bool for internal variables that are booleans.
82557         * lib/regexec.c (re_search_internal, check_matching,
82558         proceed_next_node):
82559         (set_regs, build_sifted_states, sift_states_bkref):
82560         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
82561         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82562         (find_collation_sequence_value):
82563         Likewise.
82564         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
82565         (re_node_set_compare):
82566         Return bool, not int. All callers changed.
82567         * lib/regexec.c (check_halt_node_context, check_dst_limits):
82568         (build_trtable, check_node_accept): Likewise.
82569         * lib/regex_internal.h: Include stdbool.h.
82570
82571         Fix bugs uncovered when converting to bool.
82572         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
82573         failure instead of charging ahead blindly.
82574         * lib/regex_internal.c (register_state): Likewise.
82575         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
82576         for freeing internal storage.
82577         (group_nodes_into_DFA_states): Use unsigned int, not int, for
82578         bitset pieces used as boolean, to avoid undefined behavior
82579         on hosts that do int overflow checking.
82580
82581 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82582
82583         * config/srclist.txt: Add glibc bugs 1285-1287.
82584
82585 2005-09-01  Jim Meyering  <jim@meyering.net>
82586
82587         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
82588         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
82589         Require gl_STAT_MACROS, too.
82590
82591 2005-09-01  Bruno Haible  <bruno@clisp.org>
82592
82593         * gnulib-tool (import): In the first-use case, provide defaults.
82594
82595 2005-09-01  Bruno Haible  <bruno@clisp.org>
82596
82597         * gnulib-tool (func_import): Remove the .tmp files.
82598
82599 2005-09-01  Bruno Haible  <bruno@clisp.org>
82600
82601         * gnulib-tool (func_import): Fix handling of symbolic links.
82602
82603 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82604
82605         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
82606         old glibc regex code mishandles strings longer than 2**31 bytes.
82607         This patch fixes this when the regex code is used in gnulib
82608         (i.e., outside glibc).
82609
82610         This patch should not affect the use of the regex code inside
82611         glibc.  No doubt this problem also needs to be handled for glibc
82612         as well, but the result will be an incompatible change to the
82613         glibc ABI, and the old ABI will have to be supported too.  That
82614         can be the the subject for another patch.
82615
82616         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
82617         governing whether the rest of this patch is active.  By default,
82618         the macro is disabled and the patch has no effect.
82619         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
82620         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
82621         (struct re_pattern_buffer, re_search, re_search_2, re_match):
82622         (re_match_2, re_set_registers): Use the new types.
82623         * lib/regex_internal.h (Idx, re_hashval_t): New types.
82624         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
82625         New macros.
82626         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
82627         (re_string_context_at, bin_tree_t, re_dfastate_t):
82628         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
82629         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
82630         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
82631         (re_string_char_size_at, re_string_wchar_at):
82632         (re_string_elem_size_at):
82633         Use the new types and macros to port to 64-bit hosts.
82634         Use unsigned types for internal values, so that the code
82635         mostly works even for arrays larger than SSIZE_MAX.
82636         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
82637         (search_duplicated_node, calc_eclosure_iter, fetch_number):
82638         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
82639         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
82640         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
82641         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
82642         (calc_inveclosure, parse_dup_op, build_range_exp):
82643         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
82644         (fetch_number, create_token_tree, mark_opt_subexp):
82645         Likewise.
82646         * lib/regex_internal.c (re_string_construct_common,
82647         create_ci_newstate):
82648         (create_cd_newstate, re_string_allocate, re_string_construct):
82649         (re_string_realloc_buffers, build_wcs_upper_buffer):
82650         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82651         (re_string_reconstruct, re_string_peek_byte_case):
82652         (re_string_fetch_byte_case, re_string_context_at):
82653         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82654         (re_node_set_init_copy, re_node_set_add_intersect):
82655         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82656         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82657         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82658         (re_acquire_state, re_acquire_state_context, register_state):
82659         Likewise.
82660         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
82661         search_cur_bkref_entry):
82662         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
82663         (re_search_internal, re_search_2_stub, re_search_stub)
82664         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
82665         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
82666         (update_cur_sifted_state, check_dst_limits):
82667         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82668         (check_subexp_limits, sift_states_bkref, merge_state_array):
82669         (check_subexp_matching_top, get_subexp, get_subexp_sub):
82670         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
82671         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82672         (expand_bkref_cache, check_node_accept_bytes):
82673         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
82674         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
82675         (acquire_init_state_context, check_halt_node_context):
82676         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
82677         (sift_states_backward, clean_state_log_if_needed):
82678         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
82679         (find_recover_state, transit_state_sb, transit_state_mb):
82680         (transit_state_bkref, build_trtable, match_ctx_clean):
82681         Likewise.
82682         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
82683         to work around an assumption that REG_MISSING is negative.
82684
82685         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
82686         (seek_collating_symbol_entry) [defined _LIBC]:
82687         (lookup_collation_sequence_value) [defined _LIBC]:
82688         (build_range_exp, build_collating_symbol) [defined _LIBC]:
82689         Use prototypes rather than old-style function definitions.
82690         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
82691         (transit_state_sb) [0]:
82692         (find_collation_sequence_value) [defined _LIBC]: Likewise.
82693
82694         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
82695         rm_eo.
82696
82697         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
82698         (optimize_subexps, lower_subexp):
82699         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
82700         since the signed shift might overflow.  Use 1u<<31 instead.
82701         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82702         Likewise.
82703         * lib/regexec.c (check_dst_limits_calc_pos_1,
82704         check_subexp_matching_top): Likewise.
82705
82706         * lib/regcomp.c (optimize_subexps, lower_subexp):
82707         Use CHAR_BIT rather than 8, for clarity.
82708         * lib/regexec.c (check_dst_limits_calc_pos_1):
82709         (check_subexp_matching_top): Likewise.
82710         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
82711         have to worry about portability issues when shifting it left.
82712         Remove no-longer-needed test for table_size > 0.
82713         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
82714         in a word, as the resulting behavior is undefined.
82715         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
82716         in one case, a <= should have been an <, and in another case the
82717         whole test was missing.
82718         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
82719         the standard name CHAR_BIT.
82720         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
82721         this is not true on one's complement and signed-magnitude hosts.
82722
82723         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
82724         next_last_offset.
82725         (struct re_dfa_t): Remove unused member states_alloc.
82726         * lib/regcomp.c (init_dfa): Don't initialize unused members.
82727
82728 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82729
82730         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
82731         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
82732         and large-file glibc and in 32-bit large-file Solaris.
82733
82734 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82735
82736         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
82737         lengths fit in regoff_t; this isn't true if regoff_t is the same
82738         width as size_t.
82739         * lib/regex.c (re_search_internal): 5th arg is LAST_START
82740         (= START + RANGE) instead of RANGE.  This avoids overflow
82741         problems when regoff_t is the same width as size_t.
82742         All callers changed.
82743         (re_search_2_stub): Check for overflow when adding the
82744         sizes of the two strings.
82745         (re_search_stub): Check for overflow when adding START
82746         to RANGE; if it occurs, substitute the extreme value.
82747
82748 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82749
82750         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
82751
82752 2005-08-31  Jim Meyering  <jim@meyering.net>
82753
82754         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
82755         a pointer-to-const.
82756         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
82757         (register_state): Likewise.
82758         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
82759         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82760         (group_nodes_into_DFAstates): Likewise.
82761
82762 2005-08-31  Jim Meyering  <jim@meyering.net>
82763
82764         * check-module: Add a FIXME comment.
82765
82766 2005-08-31  Eric Blake  <ebb9@byu.net>
82767
82768         * modules/unistd-safer (Files): Add unistd--.h.
82769         * modules/stdio-safer (Files): Add stdio--.h.
82770
82771 2005-08-31  Derek Price  <derek@ximbiot.com>
82772
82773         * lib/getdelim.c (getdelim): Return EOF on EOF.
82774         Reported by Larry Jones <lawrence.jones@ugs.com>.
82775
82776 2005-08-31  Bruno Haible  <bruno@clisp.org>
82777
82778         Avoid unnecessary diffs in the generated lib/Makefile.am.
82779         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82780         the generated files.
82781         (func_import): Don't set cmd.
82782
82783 2005-08-31  Bruno Haible  <bruno@clisp.org>
82784
82785         * lib/strstr.c: Include <stddef.h>, for NULL.
82786         * lib/strcasestr.c: Likewise.
82787         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82788
82789 2005-08-31  Bruno Haible  <bruno@clisp.org>
82790
82791         * gnulib-tool: New option --macro-prefix.
82792         (func_import): Use macro_prefix.
82793         (import): Handle option --macro-prefix.
82794
82795 2005-08-31  Bruno Haible  <bruno@clisp.org>
82796
82797         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82798         Also use new variables cached_lgpl, cached_libtool.
82799
82800 2005-08-31  Bruno Haible  <bruno@clisp.org>
82801
82802         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82803         always instantiating them.
82804
82805 2005-08-31  Bruno Haible  <bruno@clisp.org>
82806
82807         * gnulib-tool (func_import): Read the previous cached settings
82808         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82809         earlier added by gnulib but are now dropped. Warn when a gnulib file
82810         overwrites a non-gnulib file.
82811
82812 2005-08-31  Bruno Haible  <bruno@clisp.org>
82813
82814         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82815         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82816         projects that don't keep autogenerated files in CVS. Put into
82817         actioncmd only the specified modules, not the transitive closure.
82818
82819 2005-08-31  Bruno Haible  <bruno@clisp.org>
82820
82821         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82822         Create directories that shall be filled.
82823         (import): Don't look for gl_* macros in configure.ac. Recurse across
82824         all directories containing a gnulib-cache.m4 files, if meaningful.
82825
82826 2005-08-31  Bruno Haible  <bruno@clisp.org>
82827
82828         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82829         (import): Set seen_libtool when we see gl_LIBTOOL.
82830
82831 2005-08-31  Bruno Haible  <bruno@clisp.org>
82832
82833         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82834         declaration macro definitions from generated gnulib.m4.
82835
82836 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82837
82838         * lib/iconvme.h: Add prototype for iconv_alloc.
82839
82840 2005-08-29  Simon Josefsson  <jas@extundo.com>
82841
82842         * lib/iconvme.c: Fix errno.
82843
82844 2005-08-29  Bruno Haible  <bruno@clisp.org>
82845
82846         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82847         that it works when the directory contains spaces.
82848
82849 2005-08-29  Bruno Haible  <bruno@clisp.org>
82850
82851         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82852
82853 2005-08-29  Bruno Haible  <bruno@clisp.org>
82854
82855         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82856         Emit more advice.
82857
82858 2005-08-29  Bruno Haible  <bruno@clisp.org>
82859         and Stepan Kasal  <kasal@ucw.cz>
82860
82861         * check-module: If more parameters are given, check each of them
82862         separately; add more exceptions, as noted by Jim Meyering.
82863         (check_module): New procedure.
82864         (%exempt_header): Now contains all exceptions.
82865
82866 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82867
82868         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82869
82870 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82871
82872         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82873
82874 2005-08-28  Bruno Haible  <bruno@clisp.org>
82875
82876         * m4/gnulib-tool.m4: New file.
82877
82878 2005-08-27  Jim Meyering  <jim@meyering.net>
82879
82880         * modules/unistd-safer (Files): Add pipe-safer.c.
82881         * modules/fcntl-safer (Files): Add creat-safer.c.
82882
82883 2005-08-27  Jim Meyering  <jim@meyering.net>
82884
82885         * m4/stdlib-safer.m4: New file.  From coreutils.
82886         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82887         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82888         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82889         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82890         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82891
82892 2005-08-27  Jim Meyering  <jim@meyering.net>
82893
82894         * lib/fopen-safer.c: Merge minor changes from coreutils.
82895         * lib/dup-safer.c: Likewise.
82896         * lib/fd-safer.c: Likewise.
82897
82898         Merge from coreutils.
82899         * lib/stdio--.h: New file.
82900         * lib/stdlib--.h: New file.
82901         * lib/mkstemp-safer.c: New file.
82902
82903         GNU tar needs these.
82904         * lib/pipe-safer.c: New file.
82905         * lib/creat-safer.c: New file.
82906         * lib/fcntl--.h (creat): Define to creat_safer.
82907         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82908         * lib/unistd--.h (pipe): Define to pipe_safer.
82909         * lib/unistd-safer.h: Declare pipe_safer.
82910
82911 2005-08-26  Simon Josefsson  <jas@extundo.com>
82912
82913         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82914         Haible <bruno@clisp.org>.
82915
82916 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82917
82918         * lib/regex_internal.h: Remove all references to
82919         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82920         or better.
82921         (bitset_not, bitset_merge, bitset_not_merge):
82922         (bitset_mask, re_string_allocate, re_string_construct):
82923         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82924         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82925         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82926         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82927         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82928         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82929         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82930         (re_acquire_state_context):
82931         Remove unnecessary forward decls.
82932         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82933         Put __attribute at function definition,
82934         now that the function decl has been removed.
82935         * lib/regex_internal.c (re_string_peek_byte_case):
82936         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82937         Likewise.
82938
82939 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
82940
82941         * m4/regex.m4: Add AC_PREREQ(2.50).
82942         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
82943
82944 2005-08-25  Simon Josefsson  <jas@extundo.com>
82945
82946         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
82947         __fsetlocking.
82948
82949 2005-08-25  Simon Josefsson  <jas@extundo.com>
82950
82951         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
82952         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
82953         GLIBC specific code.
82954
82955 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82956
82957         Make regex safe for g++.  This fixes one real bug (an "err"
82958         that should have been "*err").  g++ problem reported by
82959         Sam Steingold.
82960         * lib/regex_internal.h (re_calloc): New macro, consistent with
82961         re_malloc etc.  All callers of calloc changed to use re_calloc.
82962         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
82963         not int.  All callers changed.
82964         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
82965         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
82966         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
82967         (find_recover_state): Change "err" to "*err"; this fixes what
82968         appears to be a real bug.
82969         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
82970         versus int.
82971
82972 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82973
82974         * modules/regex (Depends-on): Add malloc, since the code
82975         assumes that !malloc(0) means failure.
82976
82977 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82978
82979         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82980
82981         alloca modernization/simplification for regex.
82982         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82983         needs to be at the start of the file, and can be moved into
82984         regex_internal.h and simplified.
82985         * lib/regex_internal.h: Include <alloca.h>.
82986         (__libc_use_alloca) [!defined _LIBC]: New macro.
82987         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82988         now works outside glibc.
82989
82990 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82991
82992         * config/srclist.txt: Add glibc bugs 1241, 1245.
82993
82994 2005-08-25  Jim Meyering  <jim@meyering.net>
82995
82996         * lib/open-safer.c: Include <config.h>.
82997         Otherwise, we'd lose LARGEFILE support in any file using
82998         e.g. "fcntl--.h"
82999
83000 2005-08-25  Bruno Haible  <bruno@clisp.org>
83001
83002         * m4/minmax.m4: Require autoconf 2.52.
83003         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
83004         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
83005         alternatives of translit over the alphabet.
83006         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
83007
83008 2005-08-24  Simon Josefsson  <jas@extundo.com>
83009
83010         * tests/test-getpass.c: New file.
83011
83012 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83013
83014         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
83015         for GNU regex features.
83016
83017 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83018
83019         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
83020         * lib/regex.h (regerror): Likewise.
83021
83022         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
83023         requires this.  (The code never needed it.)
83024
83025         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
83026         All uses of recently-renamed identifiers changed to use the new,
83027         POSIX-compliant names.  The code will build and run just fine
83028         without these changes, but it's better to eat our own dog food
83029         and use the standard-conforming names.
83030
83031         * lib/regex.h: Fix a multitude of POSIX name space violations.
83032         These changes have an effect only for programs that define
83033         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
83034         do not change anything for programs compiled in the normal way.
83035         Also, there is no effect on the ABI.
83036
83037         (_REGEX_SOURCE): New macro.
83038         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
83039         defined and _GNU_SOURCE is not; this fixes a name space violation.
83040
83041         Rename the following macros to obey POSIX requirements.
83042         The old names are still visible as macros if _REGEX_SOURCE is defined.
83043         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
83044         RE_BACKSLASH_ESCAPE_IN_LISTS.
83045         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
83046         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
83047         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
83048         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
83049         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
83050         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
83051         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
83052         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
83053         (REG_INTERVALS): renamed from RE_INTERVALS.
83054         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
83055         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
83056         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
83057         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
83058         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
83059         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
83060         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
83061         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
83062         RE_UNMATCHED_RIGHT_PAREN_ORD.
83063         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
83064         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
83065         (REG_DEBUG): renamed from RE_DEBUG.
83066         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
83067         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
83068         unusual, since we can't clash with the POSIX REG_ICASE.
83069         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
83070         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
83071         (REG_NO_SUB): renamed from RE_NO_SUB.
83072         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
83073         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
83074         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
83075         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
83076         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
83077         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
83078         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
83079         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
83080         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
83081         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
83082         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
83083         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
83084         RE_SYNTAX_POSIX_MINIMAL_BASIC.
83085         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
83086         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
83087         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
83088         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
83089         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
83090         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
83091         (REG_FIXED): Renamed from REGS_FIXED.
83092         (REG_NREGS): Renamed from RE_NREGS.
83093
83094         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
83095         of other REG_* macros, since POSIX says the user is allowed to
83096         #undef these macros selectively.
83097
83098         (reg_errcode_t): Update comment stating what other tables need
83099         to be consistent.
83100
83101         Rename the following enum values to obey POSIX requirements.
83102         The old names are still visible as macros.
83103         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
83104         is not defined, since GNU is supposed to be a superset of POSIX as
83105         much as possible, and since we want reg_errcode_t to be a signed
83106         type for implementation consistency.
83107         (_REG_NOERROR): Renamed from REG_NOERROR.
83108         (_REG_NOMATCH): Renamed from REG_NOMATCH.
83109         (_REG_BADPAT): Renamed from REG_BADPAT.
83110         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
83111         (_REG_ECTYPE): Renamed from REG_ECTYPE.
83112         (_REG_EESCAPE): Renamed from REG_EESCAPE.
83113         (_REG_ESUBREG): Renamed from REG_ESUBREG.
83114         (_REG_EBRACK): Renamed from REG_EBRACK.
83115         (_REG_EPAREN): Renamed from REG_EPAREN.
83116         (_REG_EBRACE): Renamed from REG_EBRACE.
83117         (_REG_BADBR): Renamed from REG_BADBR.
83118         (_REG_ERANGE): Renamed from REG_ERANGE.
83119         (_REG_ESPACE): Renamed from REG_ESPACE.
83120         (_REG_BADRPT): Renamed from REG_BADRPT.
83121         (_REG_EEND): Renamed from REG_EEND.
83122         (_REG_ESIZE): Renamed from REG_ESIZE.
83123         (_REG_ERPAREN): Renamed from REG_ERPAREN.
83124         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
83125         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
83126         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
83127         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
83128
83129         (_REG_RE_NAME, _REG_RM_NAME): New macros.
83130         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
83131         changed.  But support the old name if the new one is not defined
83132         and if _REGEX_SOURCE.
83133
83134         Change the following member names in struct re_pattern_buffer.
83135         The old names are still supported if !_REGEX_SOURCE.
83136         The new names are always supported, regardless of _REGEX_SOURCE.
83137         (re_buffer): Renamed from buffer.
83138         (re_allocated): Renamed from allocated.
83139         (re_used): Renamed from used.
83140         (re_syntax): Renamed from syntax.
83141         (re_fastmap): Renamed from fastmap.
83142         (re_translate): Renamed from translate.
83143         (re_can_be_null): Renamed from can_be_null.
83144         (re_regs_allocated): Renamed from regs_allocated.
83145         (re_fastmap_accurate): Renamed from fastmap_accurate.
83146         (re_no_sub): Renamed from no_sub.
83147         (re_not_bol): Renamed from not_bol.
83148         (re_not_eol): Renamed from not_eol.
83149         (re_newline_anchor): Renamed from newline_anchor.
83150
83151         Change the following member names in struct re_registers.
83152         The old names are still supported if !_REGEX_SOURCE.
83153         The new names are always supported, regardless of _REGEX_SOURCE.
83154         (rm_num_regs): Renamed from num_regs.
83155         (rm_start): Renamed from start.
83156         (rm_end): Renamed from end.
83157
83158         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
83159         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
83160         Prepend __ to parameter names.
83161
83162         Undo yesterday's changes.
83163
83164 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83165
83166         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
83167         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
83168         lib/regex.c.
83169
83170 2005-08-24  Jim Meyering  <jim@meyering.net>
83171
83172         Sync from coreutils.
83173         * m4/fcntl-safer.m4: New file.
83174
83175         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
83176         and object files for this module.
83177
83178 2005-08-24  Jim Meyering  <jim@meyering.net>
83179
83180         Sync from coreutils.
83181         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
83182
83183 2005-08-24  Jim Meyering  <jim@meyering.net>
83184
83185         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
83186         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
83187
83188 2005-08-24  Jim Meyering  <jim@meyering.net>
83189
83190         * modules/fcntl-safer: New module.
83191         * modules/fts (Depends-on): Add fcntl-safer.
83192         * MODULES.html.sh (File descriptor based Input/Output):
83193         Add fcntl-safer.
83194
83195 2005-08-24  Bruno Haible  <bruno@clisp.org>
83196
83197         Support for unit test modules.
83198         * modules/README: Mention tests modules.
83199         * modules/TEMPLATE-TESTS: New file.
83200         * gnulib-tool: New options --extract-tests-module, --with-tests and
83201         --tests-base (unused for the moment).
83202         (testsbase, inctests): New variables.
83203         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
83204         (func_verify_module): Exclude TEMPLATE-TESTS.
83205         (func_verify_nontests_module, func_verify_tests_module): New functions.
83206         (func_get_dependencies): Add implicit dependency for tests modules.
83207         (func_get_tests_module): New function.
83208         (func_modules_transitive_closure): When --with-tests was specified,
83209         include the unit tests as well, unless explicitly avoided.
83210         (func_emit_lib_Makefile_am): Ignore the tests modules here.
83211         (func_emit_tests_Makefile_am): New function.
83212         (func_create_testdir): When --with-tests was specified, emit a
83213         tests/ directory.
83214         * MODULES.html.sh (Future developments): Update.
83215
83216 2005-08-24  Bruno Haible  <bruno@clisp.org>
83217
83218         * modules/tls-tests: New file.
83219         * tests/test-tls.c: New file, from GNU gettext.
83220
83221 2005-08-24  Bruno Haible  <bruno@clisp.org>
83222
83223         * modules/lock-tests: New file.
83224         * tests/test-lock.c: New file, from GNU gettext.
83225
83226 2005-08-24  Bruno Haible  <bruno@clisp.org>
83227
83228         * lib/lock.h: Add multiple inclusion guard.
83229         * lib/tls.h: Add multiple inclusion guard.
83230
83231 2005-08-24  Bruno Haible  <bruno@clisp.org>
83232
83233         * gnulib-tool: Add support for the --aux-dir option to
83234         --create-testdir, --create-megatestdir, --test, --megatest.
83235         (func_create_testdir, func_create_megatestdir): Optionally emit a
83236         AC_CONFIG_AUX_DIR directive.
83237         (create-testdir, create-megatestdir, test, megatest): Provide a
83238         default value for $auxdir.
83239
83240 2005-08-24  Bruno Haible  <bruno@clisp.org>
83241
83242         * gnulib-tool (import): Use compound statement instead of subshell
83243         where possible.
83244
83245 2005-08-24  Bruno Haible  <bruno@clisp.org>
83246
83247         * gnulib-tool (import): Change --aux-dir default to "build-aux".
83248
83249 2005-08-24  Bruno Haible  <bruno@clisp.org>
83250
83251         * gnulib-tool (func_version): Update.
83252
83253 2005-08-24  Bruno Haible  <bruno@clisp.org>
83254
83255         * gnulib-tool (func_import, func_create_testdir,
83256         func_create_megatestdir): Quote all autoconf macro arguments.
83257
83258 2005-08-24  Bruno Haible  <bruno@clisp.org>
83259
83260         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
83261         option --force, because --force causes the aclocal.m4 of each
83262         subdirectory to be newer than the corresponding config.h.in.
83263
83264 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83265
83266         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
83267         All contents moved to gl_REGEX.
83268         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
83269         assume that it does.
83270
83271 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83272
83273         * lib/regex.h (REG_NOSYS)
83274         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
83275         Define, since POSIX requires it as of 2001.
83276         (_REG_ENOSYS)
83277         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
83278         New private symbol, used to keep the enum signed in all cases.
83279         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
83280         Youngman in
83281         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
83282
83283         * lib/regex_internal.c (re_string_skip_chars, register_state):
83284         (calc_state_hash):
83285         Remove forward decls; no longer needed now that we use prototypes.
83286         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
83287         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
83288         (clean_state_log_if_needed): Likewise.
83289
83290 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83291
83292         * config/srclist.txt: Add glibc bugs 1231-1233.
83293
83294 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83295
83296         Fix problems reported by Sam Steingold in
83297         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
83298         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
83299         assumed that reg_errcode_t is a signed type, which is not
83300         necessarily true if _XOPEN_SOURCE is not defined.
83301         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
83302         since some compilers warn about it otherwise.
83303
83304 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83305
83306         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
83307         (init_word_char, create_initial_state, duplicate_node_closure):
83308         (fetch_token, peek_token_bracket, build_range_exp):
83309         (build_collating_symbol): Remove forward decls; no longer needed
83310         now that we use prototypes.
83311
83312         * lib/regcomp.c:
83313         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
83314         (re_compile_fastmap_iter, regcomp, regerror, regfree):
83315         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
83316         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
83317         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
83318         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
83319         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
83320         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
83321         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
83322         (build_range_exp, build_collating_symbol, parse_bracket_exp):
83323         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
83324         (build_charclass, build_charclass_op, fetch_number, create_tree):
83325         (create_token_tree, mark_opt_subexp, duplicate_tree):
83326         Use prototypes rather than old-style definitions.
83327
83328         * lib/regex_internal.c:
83329         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
83330         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
83331         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83332         (re_string_reconstruct, re_string_peek_byte_case):
83333         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
83334         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83335         (re_node_set_init_copy, re_node_set_add_intersect):
83336         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83337         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83338         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83339         (re_acquire_state, re_acquire_state_context, register_state):
83340         (create_ci_newstate, create_cd_newstate, free_state):
83341         Likewise.
83342         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
83343         re_search_2):
83344         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83345         (re_search_internal, prune_impossible_nodes):
83346         (acquire_init_state_context, check_matching, static):
83347         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83348         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83349         (update_regs, sift_states_backward, build_sifted_states):
83350         (clean_state_log_if_needed, merge_state_array):
83351         (update_cur_sifted_state, add_epsilon_src_nodes):
83352         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83353         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83354         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83355         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83356         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83357         (check_arrival, check_arrival_add_next_nodes):
83358         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83359         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83360         (check_node_accept_bytes, check_node_accept, extend_buffers):
83361         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83362         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83363         (sift_ctx_init):
83364         Likewise.
83365
83366         * lib/regex_internal.h:
83367         (re_string_allocate, re_string_construct, re_string_reconstruct):
83368         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83369         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83370         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83371         (re_string_context_at, re_string_peek_byte_case):
83372         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83373         is defined, since we now use prototypes always.
83374
83375         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83376         C89 or better.  All uses removed.
83377
83378 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83379
83380         * config/srclist.txt: Add glibc bugs 1220-1227.
83381
83382 2005-08-20  Jim Meyering  <jim@meyering.net>
83383
83384         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83385         of unused local, dfa.
83386
83387 2005-08-20  Bruno Haible  <bruno@clisp.org>
83388
83389         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83390
83391 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83392
83393         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83394         (re_node_set_insert_last, re_dfa_add_node):
83395         Rename local variables to avoid GCC shadowing warnings.
83396
83397 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83398
83399         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83400         [defined lint]: Suppress bogus uninitialized-variable warnings.
83401
83402         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
83403         and let the caller return REG_ESPACE if out of space.  This
83404         removes an uninitialied-variable warning with GCC 4.0.1, and also
83405         avoids taking the address of a local variable.  All callers
83406         changed.
83407
83408 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83409
83410         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
83411         $LIBCSRC/posix/regexec.c.
83412         Add glibc bug 1217 for regcomp.c.
83413
83414 2005-08-19  Jim Meyering  <jim@meyering.net>
83415
83416         * lib/regexec.c (proceed_next_node): Redo local variables to
83417         avoid GCC shadowing warnings.
83418
83419 2005-08-18  Bruno Haible  <bruno@clisp.org>
83420
83421         * lib/strstr.c (strstr): Fix return value in multibyte case.
83422         * lib/strcasestr.c (strcasestr): Likewise.
83423
83424 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83425
83426         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
83427
83428 2005-08-17  Jim Meyering  <jim@meyering.net>
83429
83430         Make the %s format (seconds since the epoch) work for a negative
83431         number and when used with a zero-padded field width, e.g. %015s.
83432
83433         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
83434         label so that it precedes the code to set `digits'.  Otherwise,
83435         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
83436         print `00-22'.  Now, it prints `-0022', as it should.
83437
83438 2005-08-17  Bruno Haible  <bruno@clisp.org>
83439
83440         * modules/strstr (Files): Add m4/mbrtowc.m4.
83441         (Depends-on): Add mbuiter.
83442
83443 2005-08-17  Bruno Haible  <bruno@clisp.org>
83444
83445         * modules/strcasestr: New file.
83446         * MODULES.html.sh (String handling, based on ANSI C 89): Add
83447         strcasestr.
83448
83449 2005-08-17  Bruno Haible  <bruno@clisp.org>
83450
83451         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
83452
83453 2005-08-17  Bruno Haible  <bruno@clisp.org>
83454
83455         * modules/mbuiter: New file.
83456         * MODULES.html.sh (Extended multibyte and wide character utilities):
83457         Add mbuiter.
83458
83459 2005-08-17  Bruno Haible  <bruno@clisp.org>
83460
83461         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
83462         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
83463
83464 2005-08-17  Bruno Haible  <bruno@clisp.org>
83465
83466         * m4/strcasestr.m4: New file.
83467
83468 2005-08-17  Bruno Haible  <bruno@clisp.org>
83469
83470         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
83471         * lib/strstr.c: Completely rewritten, with multibyte locale support.
83472
83473 2005-08-17  Bruno Haible  <bruno@clisp.org>
83474
83475         * lib/strcasestr.h: New file.
83476         * lib/strcasestr.c: New file.
83477
83478 2005-08-17  Bruno Haible  <bruno@clisp.org>
83479
83480         * lib/strcasecmp.c: Use mbuiter.h.
83481
83482 2005-08-17  Bruno Haible  <bruno@clisp.org>
83483
83484         * lib/mbuiter.h: New file.
83485
83486 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
83487
83488         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
83489         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
83490         and gl_GETOPT are both invoked via different paths (as happens
83491         with GNU tar CVS because it uses both argp and getopt), the former
83492         wins.
83493
83494 2005-08-16  Bruno Haible  <bruno@clisp.org>
83495
83496         * modules/tls: New file.
83497         * MODULES.html.sh (Multithreading): Add tls.
83498
83499 2005-08-16  Bruno Haible  <bruno@clisp.org>
83500
83501         * modules/strnlen1: New file.
83502         * MODULES.html.sh (String handling): Add strnlen1.
83503
83504 2005-08-16  Bruno Haible  <bruno@clisp.org>
83505
83506         * modules/strcase (Files): Add m4/mbrtowc.m4.
83507         (Depends-on): Add strnlen1, mbchar.
83508
83509 2005-08-16  Bruno Haible  <bruno@clisp.org>
83510
83511         * modules/mbiter: New file.
83512         * MODULES.html.sh (Extended multibyte and wide character utilities):
83513         Add mbiter.
83514
83515 2005-08-16  Bruno Haible  <bruno@clisp.org>
83516
83517         * modules/mbfile: New file.
83518         * MODULES.html.sh (Extended multibyte and wide character utilities):
83519         Add mbfile.
83520
83521 2005-08-16  Bruno Haible  <bruno@clisp.org>
83522
83523         * modules/mbchar: New file.
83524         * MODULES.html.sh (Extended multibyte and wide character utilities):
83525         New section.
83526
83527 2005-08-16  Bruno Haible  <bruno@clisp.org>
83528
83529         * m4/tls.m4: New file, from GNU gettext.
83530
83531 2005-08-16  Bruno Haible  <bruno@clisp.org>
83532
83533         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
83534         always.
83535         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
83536
83537 2005-08-16  Bruno Haible  <bruno@clisp.org>
83538
83539         * m4/mbiter.m4: New file.
83540
83541 2005-08-16  Bruno Haible  <bruno@clisp.org>
83542
83543         * m4/mbfile.m4: New file.
83544
83545 2005-08-16  Bruno Haible  <bruno@clisp.org>
83546
83547         * m4/mbchar.m4: New file.
83548
83549 2005-08-16  Bruno Haible  <bruno@clisp.org>
83550
83551         * lib/tls.h: New file, from GNU gettext.
83552         * lib/tls.c: New file, from GNU gettext.
83553
83554 2005-08-16  Bruno Haible  <bruno@clisp.org>
83555
83556         * lib/strnlen1.h: New file.
83557         * lib/strnlen1.c: New file.
83558
83559 2005-08-16  Bruno Haible  <bruno@clisp.org>
83560
83561         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
83562         (mbi_init): Update.
83563         (mbi_avail, mbi_advance): Let the iteration end before the terminating
83564         NUL byte, not after it.
83565
83566 2005-08-16  Bruno Haible  <bruno@clisp.org>
83567
83568         * lib/strcase.h (strcasecmp): Add note in comments.
83569         * lib/strncasecmp.c: Use code from strcasecmp.c.
83570         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
83571         (strcasecmp): Work correctly in multibyte locales.
83572
83573 2005-08-16  Bruno Haible  <bruno@clisp.org>
83574
83575         * lib/mbiter.h: New file.
83576
83577 2005-08-16  Bruno Haible  <bruno@clisp.org>
83578
83579         * lib/mbfile.h: New file.
83580
83581 2005-08-16  Bruno Haible  <bruno@clisp.org>
83582
83583         * lib/mbchar.h: New file.
83584         * lib/mbchar.c: New file.
83585
83586 2005-08-16  Bruno Haible  <bruno@clisp.org>
83587
83588         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
83589         the valid ones. Makes the comparison operations transitive:
83590         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
83591         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
83592
83593 2005-08-15  Simon Josefsson  <jas@extundo.com>
83594
83595         * modules/ssize_t (License): Change to 'unlimited'.
83596
83597         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
83598
83599 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
83600
83601         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
83602         Add comments for each pending glibc patch.
83603
83604 2005-08-15  Bruno Haible  <bruno@clisp.org>
83605
83606         * lib/regex.h (__restrict_arr): Don't define to __restrict if
83607         __cplusplus is defined.
83608
83609 2005-08-14  Jim Meyering  <jim@meyering.net>
83610
83611         Sync from coreutils.
83612
83613         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
83614         Use the hash-table-based cycle-detection code not just when
83615         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
83616         Reported by James Youngman in
83617         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
83618         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
83619         FTS_TIGHT_CYCLE_CHECK.
83620         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
83621         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
83622         once again.
83623         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
83624         * lib/fts.c (fd_safer): Remove decl.
83625         Include fcntl--.h rather than unistd-safer.h
83626         (fts_safe_changedir): Don't call fd_safer; no longer needed
83627         now that we include fcntl--.h.
83628
83629 2005-08-12  Simon Josefsson  <jas@extundo.com>
83630
83631         * modules/getndelim2: Use ssize_t module.
83632         * modules/getnline: Likewise.
83633         * modules/safe-read: Likewise.
83634         * modules/xreadlink: Likewise.
83635
83636         * modules/ssize_t: New file.
83637
83638 2005-08-12  Simon Josefsson  <jas@extundo.com>
83639
83640         * m4/readline.m4: Look for termcap, curses or ncurses if required.
83641
83642 2005-08-12  Simon Josefsson  <jas@extundo.com>
83643
83644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83645         ssize_t.
83646
83647 2005-08-12  Simon Josefsson  <jas@extundo.com>
83648
83649         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
83650         readline, getdelim and check_version.
83651         (Support for systems lacking ISO C 99: Sizes of integer types):
83652         Add size_max.
83653
83654 2005-08-12  Bruno Haible  <bruno@clisp.org>
83655
83656         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
83657
83658 2005-08-11  Simon Josefsson  <jas@extundo.com>
83659
83660         * modules/readline: New file.
83661
83662         * modules/strnlen (Files): Add strnlen.h.
83663
83664 2005-08-11  Simon Josefsson  <jas@extundo.com>
83665
83666         * m4/readline.m4: New file.
83667
83668 2005-08-11  Simon Josefsson  <jas@extundo.com>
83669
83670         * lib/readline.h, readline.c: New file.
83671
83672 2005-08-11  Simon Josefsson  <jas@extundo.com>
83673
83674         * doc/gnulib.texi (Initial import, Finishing touches): Mention
83675         gl_AVOID.
83676
83677 2005-08-11  Bruno Haible  <bruno@clisp.org>
83678
83679         * lib/strnlen.h (strnlen): Change parameter name to match comment.
83680
83681 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
83682
83683         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
83684
83685 2005-08-10  Simon Josefsson  <jas@extundo.com>
83686
83687         * tests/test-iconvme.c: New file.
83688
83689 2005-08-10  Simon Josefsson  <jas@extundo.com>
83690
83691         * m4/strnlen.m4: New file.
83692
83693         * m4/strndup.m4: Don't check for strnlen declaration, done in
83694         strnlen.m4.
83695
83696 2005-08-10  Simon Josefsson  <jas@extundo.com>
83697
83698         * lib/strndup.c: Use strnlen.h.
83699
83700         * lib/strnlen.h: New file.
83701
83702 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83703
83704         * README: Typos.
83705
83706 2005-08-02  Simon Josefsson  <jas@extundo.com>
83707
83708         * modules/readline: New file.
83709
83710 2005-08-02  Simon Josefsson  <jas@extundo.com>
83711
83712         * modules/getdelim: New file.
83713
83714         * modules/getline: Rewrite, don't use getndelim2.
83715
83716 2005-08-02  Simon Josefsson  <jas@extundo.com>
83717
83718         * m4/getline.m4: Separate out getdelim stuff into separate module.
83719
83720         * m4/getdelim.m4: New file.
83721
83722 2005-08-02  Simon Josefsson  <jas@extundo.com>
83723
83724         * lib/getline.h, getline.c: Rewrite.
83725
83726         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
83727
83728 2005-07-31  Bruno Haible  <bruno@clisp.org>
83729
83730         * lib/lock.h (gl_lock_initializer): New macro.
83731         (gl_lock_define_initialized): Use it.
83732         (gl_rwlock_initializer): New macro.
83733         (gl_rwlock_define_initialized): Use it.
83734         (gl_recursive_lock_initializer): New macro.
83735         (gl_recursive_lock_define_initialized): Use it.
83736
83737 2005-07-30  Karl Berry  <karl@gnu.org>
83738
83739         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
83740         Report from Ben Pfaff, regarding getopt.
83741
83742 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
83743
83744         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
83745         normal way.
83746         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
83747         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
83748         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
83749         (gl_GETOPT): Use the new macros.  Most of the implementation
83750         is moved to the new macros.  This is for programs like Emacs
83751         that don't want all the functionality of gl_GETOPT.
83752
83753 2005-07-26  Bruno Haible  <bruno@clisp.org>
83754
83755         * m4/lock.m4: Update from GNU gettext.
83756
83757 2005-07-26  Bruno Haible  <bruno@clisp.org>
83758
83759         * lib/lock.h: Update from GNU gettext.
83760         * lib/lock.c: Update from GNU gettext.
83761
83762 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
83763
83764         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
83765         obsolescent AC_TRY_RUN.  Include the default includes files, for
83766         'exit'.
83767
83768 2005-07-24  Bruno Haible  <bruno@clisp.org>
83769
83770         * modules/visibility: New file.
83771         * MODULES.html.sh (Misc): Add visibility.
83772
83773 2005-07-24  Bruno Haible  <bruno@clisp.org>
83774
83775         * m4/visibility.m4: New file.
83776
83777 2005-07-24  Bruno Haible  <bruno@clisp.org>
83778
83779         * doc/visibility.texi: New file.
83780
83781 2005-07-22  Bruno Haible  <bruno@clisp.org>
83782
83783         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83784         $(ALLOCA_H), redundant through BUILT_SOURCES.
83785         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83786         redundant through BUILT_SOURCES.
83787         * modules/byteswap (Makefile.am): Remove explicit dependency on
83788         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83789         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83790         $(FNMATCH_H), redundant through BUILT_SOURCES.
83791         * modules/getopt (Makefile.am): Remove explicit dependency on
83792         $(GETOPT_H), redundant through BUILT_SOURCES.
83793         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83794         redundant through BUILT_SOURCES.
83795         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83796         redundant through BUILT_SOURCES.
83797         * modules/stdbool (Makefile.am): Remove explicit dependency on
83798         $(STDBOOL_H), redundant through BUILT_SOURCES.
83799         * modules/stdint (Makefile.am): Remove explicit dependency on
83800         $(STDINT_H), redundant through BUILT_SOURCES.
83801         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83802         Remove explicit dependency on $(SYSEXITS_H).
83803         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83804
83805 2005-07-18  Simon Josefsson  <jas@extundo.com>
83806
83807         * lib/check-version.c (check_version): Accept identical versions too.
83808
83809 2005-07-18  Bruno Haible  <bruno@clisp.org>
83810
83811         * modules/lock: New file.
83812         * MODULES.html.sh (Multithreading): New section.
83813
83814 2005-07-18  Bruno Haible  <bruno@clisp.org>
83815
83816         * m4/lock.m4: New file, from GNU gettext.
83817
83818 2005-07-18  Bruno Haible  <bruno@clisp.org>
83819
83820         * lib/lock.h: New file, from GNU gettext.
83821         * lib/lock.c: New file, from GNU gettext.
83822
83823 2005-07-18  Bruno Haible  <bruno@clisp.org>
83824
83825         * lib/lock.h (gl_once_t): New type.
83826         (gl_once_define, gl_once): New macros.
83827         * lib/lock.c (fresh_once): New variable.
83828         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83829         functions.
83830
83831 2005-07-16  Simon Josefsson  <jas@extundo.com>
83832
83833         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83834         workaround, suggested by Bruno.
83835
83836 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83837
83838         * modules/xalloc (Depends-on): Add xalloc-die.
83839         * modules/xvasprintf (Depends-on): Add xalloc-die.
83840
83841 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83842
83843         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83844         with a minor change.
83845
83846 2005-07-15  Bruno Haible  <bruno@clisp.org>
83847
83848         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83849         When using lib/poll.c, define poll as rpl_poll.
83850
83851 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83852
83853         * modules/argp (Depends-on): Remove unlocked-io.
83854
83855 2005-07-14  Derek Price  <derek@ximbiot.com>
83856
83857         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83858         for glob symlink bug.
83859
83860 2005-07-14  Bruno Haible  <bruno@clisp.org>
83861
83862         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83863         Instead, test for *_unlocked function declarations directly.
83864
83865 2005-07-11  Simon Josefsson  <jas@extundo.com>
83866
83867         * modules/size_max: New file.
83868
83869         * modules/xsize: Depend on size_max module for size_max.m4.
83870
83871 2005-07-11  Simon Josefsson  <jas@extundo.com>
83872
83873         * lib/size_max.h: New file.
83874
83875 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83876
83877         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83878         copyright symbol and the year.
83879         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83880         (version_etc_va): Use parameterized copyright notice.
83881         Reword to conform to the current GNU coding standards.
83882
83883 2005-07-11  Karl Berry  <karl@gnu.org>
83884
83885         * doc/gnulib.texi (Quoting): new node.
83886         (Initial import): more info, from Patrice.
83887
83888 2005-07-11  Bruno Haible  <bruno@clisp.org>
83889
83890         * gnulib-tool (func_usage): Document option --avoid.
83891         (Command line options): Handle --avoid.
83892         (func_acceptable): New function.
83893         (func_modules_transitive_closure): Use it.
83894
83895 2005-07-11  Bruno Haible  <bruno@clisp.org>
83896
83897         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83898         Reported by Jim Meyering.
83899
83900 2005-07-10  Bruno Haible  <bruno@clisp.org>
83901
83902         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83903         Needed when size_t is smaller than 'unsigned int'.
83904         Reported by Paul Eggert.
83905
83906 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83907
83908         * modules/argp (Depends-on): Add unlocked-io
83909
83910 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83911
83912         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83913         block of defines.
83914
83915 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83916
83917         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83918         fix now.
83919
83920 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83921         and Paul Eggert  <eggert@cs.ucla.edu>
83922
83923         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83924         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83925
83926 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83927
83928         * modules/regex (Files): Add lib/regex_internal.c,
83929         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83930         (Depends-on): Add extensions.
83931         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83932
83933 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83934
83935         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83936         pathconf.
83937         * m4/same.m4 (gl_SAME): Likewise.
83938         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
83939
83940         * m4/regex.m4: Adjust to new libc regex implementation.
83941         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
83942         all the .c and .h parts of (the new) regex.
83943         Quote the m4 stuff better.
83944         Check for RE_ICASE bug of old gnulib.
83945         Check for REG_STARTEND of recent libc.
83946         Rename local variables from jm_* to gl_*.
83947         Quote operand of "test -f".
83948         Say "recent enough" version of libc, not "version 2".
83949         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
83950         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
83951         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
83952         Remove check for btowc, isascii.
83953         Require AM_LANGINFO_CODESET.
83954
83955 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83956
83957         * lib/regex.c, regex.h: Sync from libc.
83958         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
83959         * lib/regexec.c:
83960         New files, synced from libc, except that regex_internal.h
83961         currently has a small porting fix.
83962
83963 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83964
83965         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
83966         regex_internal.c, regexec.c.
83967         Add regex_internal.h too, but as a comment, since the libc version
83968         is currently broken in gnulib mode.
83969
83970 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83971
83972         Support programs like Emacs that use gnulib but not gettext.
83973         * MODULES.html.sh (Internationalization functions): Add gettext-h.
83974         * modules/gettext-h: New file.
83975         * modules/gettext (Files): Remove lib/gettext.h.
83976         (Depends-on): Add gettext-h.
83977         (Makefile.am): Remove lib_SOURCES.
83978         * modules/argmatch, modules/c-stack, modules/closeout:
83979         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83980         * modules/execute, modules/file-type, modules/getaddrinfo:
83981         * modules/getopt, modules/human, modules/javacomp:
83982         * modules/javaexec, modules/mkdir-p, modules/obstack:
83983         * modules/openat, modules/pagealign_alloc, modules/pipe:
83984         * modules/quotearg, modules/regex, modules/rpmatch:
83985         * modules/unicodeio, modules/userspec, modules/version-etc:
83986         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83987         * modules/xsetenv:
83988         Depend on gettext-h, not gettext.
83989
83990 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83991
83992         * gnulib-tool (func_import): Add support for 'public domain' license.
83993         * modules/alloca, modules/atexit, modules/memmove:
83994         Now public domain, not GPL.
83995         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83996         * modules/realloc, modules/strerror, modules/strtod:
83997         Now LGPL, not GPL.
83998
83999 2005-07-05  Bruno Haible  <bruno@clisp.org>
84000
84001         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
84002         autoconf CVS. Needed for mingw.
84003
84004 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84005
84006         Remove the dependency of the strftime module on the tzset module.
84007         * modules/strftime (Depends-on): Remove dependency on tzset.
84008
84009 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84010
84011         Remove the dependency of the strftime module on the tzset module.
84012         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
84013         gl_FUNC_TZSET_CLOBBER.
84014
84015 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84016
84017         Remove the dependency of the strftime module on the tzset module.
84018         * lib/strftime.c (my_strftime)
84019         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
84020         Copy the input structure, to work around some of the bug with
84021         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
84022         Solaris releases, you should also use the tzset module, but we won't
84023         require it as a dependency any more since we don't want LGPLed code
84024         to depend on GPLed code.
84025
84026 2005-07-02  Jim Meyering  <jim@meyering.net>
84027
84028         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
84029         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
84030         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
84031         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
84032
84033 2005-07-02  Jim Meyering  <jim@meyering.net>
84034
84035         * lib/backupfile.c (backup_args): Change a `0' to NULL.
84036
84037 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
84038
84039         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
84040         declares only 'struct timespec;' (!).
84041
84042 2005-07-01  Jim Meyering  <jim@meyering.net>
84043
84044         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
84045         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
84046         * lib/save-cwd.c, tempname.c:
84047         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84048         and don't include <sys/file.h>).
84049
84050 2005-06-29  Jim Meyering  <jim@meyering.net>
84051
84052         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
84053         type name.  Use the variable name instead.
84054         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
84055         Likewise.
84056
84057 2005-06-28  Simon Josefsson  <jas@extundo.com>
84058
84059         * modules/check-version (Files): Add check-version.m4.
84060
84061 2005-06-28  Simon Josefsson  <jas@extundo.com>
84062
84063         * m4/check-version.m4: New file, suggested by Jim Meyering
84064         <jim@meyering.net>.
84065
84066 2005-06-28  Simon Josefsson  <jas@extundo.com>
84067
84068         * lib/check-version.h, lib/check-version.c: New files.
84069
84070 2005-06-28  Simon Josefsson  <jas@extundo.com>
84071
84072         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
84073         collision with global variable.  Better indentation.  Don't
84074         increment buffer pointer beyond buffer end.  Based on comments
84075         from Paul Eggert <eggert@cs.ucla.edu>.
84076
84077         * lib/base64.h: Indent.
84078
84079 2005-06-28  Simon Josefsson  <jas@extundo.com>
84080
84081         * doc/gnulib.texi (Library version handling): New section.
84082
84083 2005-06-28  Jim Meyering  <jim@meyering.net>
84084
84085         * check-module (find_included_lib_files): Hard-code another
84086         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
84087         but modules/fts-lgpl (correctly) does not list those files.
84088
84089         * modules/canonicalize (Files): Add lib/pathmax.h.
84090
84091 2005-06-25  Simon Josefsson  <jas@extundo.com>
84092
84093         * modules/check-version: New file.
84094
84095 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
84096
84097         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
84098         initializer of struct addrinfo, as an indication that we don't
84099         care how many members the structure has.
84100
84101 2005-06-24  Derek Price  <derek@ximbiot.com>
84102         and Bruno Haible  <bruno@clisp.org>
84103
84104         Remove stat module & update lstat.
84105         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
84106         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84107         * m4/stat.m4: Remove this file.
84108
84109 2005-06-24  Derek Price  <derek@ximbiot.com>
84110         and Bruno Haible  <bruno@clisp.org>
84111
84112         Remove stat module & update lstat.
84113         * lib/stat.c: Remove this file...
84114         (slash_aware_lstat): ...moving this content and its support...
84115         * lib/lstat.c (rpl_lstat): ...into here.
84116         * lib/lstat.h: New file.
84117
84118 2005-06-24  Derek Price  <derek@ximbiot.com>
84119         and Bruno Haible  <bruno@clisp.org>
84120
84121         Remove stat module & update lstat.
84122         * config/srclist.txt (libc sources): Remove stat.
84123
84124 2005-06-24  Derek Price  <derek@ximbiot.com>
84125         and Bruno Haible  <bruno@clisp.org>
84126
84127         Remove stat module & update lstat.
84128         * MODULES.html.sh (stat): Remove.
84129         * MODULES.html: Regenerated.
84130         * modules/lstat (Description): Correct function name.
84131         (Files): Add "lstat.h".
84132         (Depends-on): Remove stat, add xalloc, stat-macros.
84133         * modules/stat: Remove this file.
84134         (Include): Add "lstat.h", remove <sys/stat.h>.
84135
84136 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
84137
84138         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
84139         (ranged_convert): Don't save conversion in a temporary struct.
84140         This causes a warning with GCC 4.0.0, and anyway in the typical
84141         case it's not worth the extra 100 bytes or so of code.
84142         (ranged_convert, __mktime_internal): When calling a function via a
84143         pointer P, use P () rather than (*P) (), as we now assume C89 or
84144         better.
84145
84146 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84147
84148         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
84149         "who -r" failed to give output.  Problem reported by Tim Waugh.
84150
84151         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
84152         (xcalloc): Use it to avoid needless tests.
84153         Problem reported by Jim Meyering.
84154
84155 2005-06-20  Derek Price  <derek@ximbiot.com>
84156
84157         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
84158         unnecessary for Autoconfs > 2.59c.
84159
84160 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84161
84162         * lib/argp.h (__option_is_short): Check upper limit of
84163         __key. Isprint() requires its argument to have the value
84164         of an unsigned char or EOF.
84165
84166 2005-06-16  Jim Meyering  <jim@meyering.net>
84167
84168         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
84169         when either N or S is zero.
84170
84171 2005-06-16  Derek Price  <derek@ximbiot.com>
84172
84173         * m4/bison.m4: Declare YACC & YFLAGS precious.
84174
84175 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
84176
84177         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
84178         multibyte string or pattern, fall back on unibyte matching.
84179         Problem reported by James Youngman.
84180
84181 2005-06-08  Bruno Haible  <bruno@clisp.org>
84182
84183         * modules/csharpcomp: New file.
84184         * MODULES.html.sh (C#): Add csharpcomp.
84185
84186 2005-06-08  Bruno Haible  <bruno@clisp.org>
84187
84188         * m4/csharpcomp.m4: New file, from GNU gettext.
84189
84190 2005-06-08  Bruno Haible  <bruno@clisp.org>
84191
84192         * lib/csharpcomp.h: New file, from GNU gettext.
84193         * lib/csharpcomp.c: New file, from GNU gettext.
84194         * lib/csharpcomp.sh.in: New file, from GNU gettext.
84195
84196 2005-06-08  Bruno Haible  <bruno@clisp.org>
84197
84198         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
84199         warning on mingw.
84200
84201 2005-06-07  Derek Price  <derek@ximbiot.com>
84202
84203         Sync from CVS.
84204         * lib/glob_.h: Indent nested #ifdef.
84205
84206 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84207
84208         Sync from coreutils.
84209         Use "file name" when talking about file names, instead of "filename"
84210         or "path", as per the GNU coding standards.
84211         * lib/mkdir-p.c: Renamed from makepath.c.
84212         (make_dir_parents): Renamed from make_path.  All callers changed.
84213         * lib/mkdir-p.h: Likewise.  All includers changed.
84214         * lib/filenamecat.c: Renamed from path-concat.c.
84215         (file_name_concat): Renamed from path_concat.  All callers changed.
84216         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
84217         * lib/filenamecat.h: Likewise.  All includers changed.
84218         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
84219         in comments or local variable names.
84220         * lib/basename.c: Likewise.
84221         * lib/canonicalize.c, canonicalize.h: Likewise.
84222         * lib/dirname.c, dirname.h: Likewise.
84223         * lib/euidaccess.c: Likewise.
84224         * lib/exclude.c: Likewise
84225         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
84226         * lib/fsusage.c, fsuage.h: Likewise.
84227         * lib/fts.c, fts_.h: Likewise.
84228         * lib/getcwd.c: Likewise.
84229         * lib/getloadavg.c: Likewise.
84230         * lib/mkstemp.c: Likewise.
84231         * lib/mountlist.c, mountlist.h: Likewise.
84232         * lib/openat.c, openat.h: Likewise.
84233         * lib/readlink-stub.c: Likewise.
84234         * lib/readutmp.c, readutmp.h: Likewise.
84235         * lib/rename.c: Likewise.
84236         * lib/rmdir.c: Likewise.
84237         * lib/same.c: Likewise.
84238         * lib/savedir.c: Likewise.
84239         * lib/stripslash.c: Likewise.
84240         * lib/tempname.c: Likewise.
84241         * lib/xreadlink.c: Likewise.
84242         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
84243         All uses changed.
84244         * lib/exclude.h: Likewise.
84245
84246         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
84247         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84248         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
84249         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84250         * lib/pathmax.h: Include <limits.h> unconditionally, since other
84251         files have been getting away with it for years (MORE/BSD 4.3
84252         is extinct now).
84253         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
84254         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84255
84256         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
84257         Define to 256, not 255, as per modern POSIX.
84258
84259 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84260
84261         Sync from coreutils.
84262         Use "file name" when talking about file names, instead of "filename"
84263         or "path", as per the GNU coding standards.
84264         * MODULES.html.sh: mkdir-p renamed from makepath.
84265         filenamecat renamed from path-concat.
84266         * modules/filenamecat: Renamed from modules/path-concat.
84267         (Files): filenamecat.h and filenamecat.c renamed from
84268         path-concat.h and path-concat.c.
84269         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
84270         (Include): filenamecat.h, not path-concat.h.
84271         * modules/mkdir-p: Renamed from modules/makepath.
84272         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
84273         makepath.c.
84274         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
84275         (Include): mkdir-p.h, not makepath.h.
84276
84277 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84278
84279         Sync from coreutils.
84280         * m4/mkdir-p.m4: Renamed from makepath.m4.
84281         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
84282         Rename files from makepath.c to mkdir-p.c, and from
84283         makepath.h to mkdir-p.h.
84284         * m4/filenamecat.m4: Renamed from path-concat.m4.
84285         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
84286         Rename files from path-concat.c to filenamecat.c,
84287         and from path-concat.h to filenamecat.h.
84288         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
84289         "file name" in local variables or comments.
84290         * m4/rename.m4: Likewise.
84291
84292 2005-06-01  Bruno Haible  <bruno@clisp.org>
84293
84294         * modules/csharpexec: New file.
84295         * MODULES.html.sh (C#): New section.
84296
84297 2005-06-01  Bruno Haible  <bruno@clisp.org>
84298
84299         * m4/csharp.m4: New file, from GNU gettext.
84300         * m4/csharpexec.m4: New file, from GNU gettext.
84301
84302 2005-06-01  Bruno Haible  <bruno@clisp.org>
84303
84304         * lib/csharpexec.h: New file, from GNU gettext.
84305         * lib/csharpexec.c: New file, from GNU gettext.
84306         * lib/csharpexec.sh.in: New file, from GNU gettext.
84307
84308 2005-05-31  Derek Price  <derek@ximbiot.com>
84309             Paul Eggert  <eggert@cs.ucla.edu>
84310
84311         Sync from cvs.
84312         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84313
84314 2005-05-31  Derek Price  <derek@ximbiot.com>
84315             Paul Eggert  <eggert@cs.ucla.edu>
84316
84317         Sync from cvs.
84318         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84319
84320 2005-05-29  Derek Price  <derek@ximbiot.com>
84321
84322         * config/srclist.txt (glob_.h, glob.c): Add these files.
84323
84324 2005-05-29  Derek Price  <derek@ximbiot.com>
84325
84326         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
84327         * modules/glob: New file.
84328         * modules/getlogin_r: Add link to POSIX spec in description.
84329
84330 2005-05-29  Derek Price  <derek@ximbiot.com>
84331             Paul Eggert  <eggert@cs.ucla.edu>
84332
84333         * m4/glob.m4: New file.
84334
84335 2005-05-29  Derek Price  <derek@ximbiot.com>
84336             Paul Eggert  <eggert@cs.ucla.edu>
84337
84338         * lib/glob_.h, lib/glob.c: New files.
84339
84340 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84341
84342         * modules/fts (Files): Remove m4/inttypes-pri.m4.
84343         * modules/fts-lgpl (Depends-on): Remove gettext.
84344
84345 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84346
84347         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84348         and don't require gt_INTTYPES_PRI.
84349
84350 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84351
84352         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84353
84354         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84355         the configuration hassle isn't worth it.
84356         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84357         (LONGEST_MODIFIER, PRIuMAX): Remove.
84358
84359 2005-05-27  Bruno Haible  <bruno@clisp.org>
84360
84361         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84362
84363 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84364
84365         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84366         _POSIX_PTHREAD_SEMANTICS for Solaris.
84367
84368 2005-05-25  Derek Price  <derek@ximbiot.com>
84369
84370         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84371
84372 2005-05-25  Derek Price  <derek@ximbiot.com>
84373             Paul Eggert  <eggert@cs.ucla.edu>
84374
84375         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84376         * lib/getlogin_r.c, getlogin_r.h: New files.
84377
84378 2005-05-25  Bruno Haible  <bruno@clisp.org>
84379             Derek Price  <derek@ximbiot.com>
84380
84381         * lib/getlogin_r.h: Simplify API documentation.
84382
84383 2005-05-23  Derek Price  <derek@ximbiot.com>
84384
84385         * modules/minmax (Files): Add m4/minmax.m4.
84386         (configure.ac): Add gl_MINMAX.
84387
84388 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84389
84390         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84391         so that unistd-safer.h (GPL'ed code) need not be included.
84392
84393 2005-05-22  Bruno Haible  <bruno@clisp.org>
84394
84395         * m4/minmax.m4: New file.
84396         Based on a patch by Derek Price <derek@ximbiot.com>.
84397
84398 2005-05-22  Bruno Haible  <bruno@clisp.org>
84399
84400         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
84401         (INT64_MIN): Fix definition.
84402         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
84403
84404         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
84405         NEED_SIGNED_INT_TYPES.
84406
84407         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
84408         HAVE_SYSTEM_INTTYPES.
84409
84410 2005-05-22  Bruno Haible  <bruno@clisp.org>
84411
84412         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
84413         Also include <sys/param.h> if it defines MIN, MAX.
84414         Based on a patch by Derek Price <derek@ximbiot.com>.
84415
84416 2005-05-21  Jim Meyering  <jim@meyering.net>
84417
84418         * modules/fts (Files): Add m4/inttypes-pri.m4.
84419         (Depends-on): Add lstat and remove gettext.  Alphabetize.
84420
84421 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84422
84423         New fts module.
84424         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
84425         (setup_dir, free_dir): New functions.
84426         (enter_dir, leave_dir): Define trivial
84427         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
84428         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
84429         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
84430         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
84431         Move to fts-cycle.c.
84432         (fts_open): Use setup_dir.
84433         (fts_close): Use free_dir.
84434         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
84435         This adds a label and some gotos, but the alternatives were messier.
84436         Check for memory allocation failure when entering a dir.
84437         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
84438         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
84439         (FTS): New member fts_cycle, that is a union that contains the
84440         old active_dir_ht and cycle_state.  All uses changed to mention
84441         fts_cycle.ht and fts_cycle.state.
84442         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
84443         fts.c, with the following changes:
84444         (setup_dir, free_dir): New functions.
84445         (enter_dir): Now returns bool.  Return true if successful, false
84446         if memory exhausted.  All callers changed.
84447         Do not bother partly cleaning up on
84448         memory allocation failure; that is free_dir's job.
84449         However, free ad if hash_insert fails, to avoid memory leak.
84450         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
84451         fts->fts_options to see which union member to use.
84452
84453 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84454
84455         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
84456         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
84457
84458 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84459
84460         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
84461
84462 2005-05-20  Jim Meyering  <jim@meyering.net>
84463
84464         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
84465         Now a macro, to pacify GCC.
84466
84467 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84468
84469         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
84470         of -1.
84471
84472 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84473
84474         * lib/chown.c (rpl_chown): Return -1 on failure.
84475
84476 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84477
84478         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
84479         Don't check for stddef.h.
84480         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
84481         don't use its results.
84482         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
84483         since we include them unconditionally.  Don't require
84484         AM_STDBOOL_H, since stdbool is a prerequisite.
84485         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
84486         since we assume C89 or better.
84487         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
84488         as we don't use their results.
84489         Don't check for fchdir, memmove, memset, strrchr, as we use
84490         them unconditionally.
84491         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
84492         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
84493
84494 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84495
84496         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
84497         Include <stddef.h> unconditionally, since we assume C89 now.
84498         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
84499         * lib/fts.c: Include fts_.h first, to check interface.
84500         Do not include intprops.h; no longer needed.
84501         Include cycle-check.h and hash.h, since fts_.h no longer does.
84502         Remove unnecessary casts of closedir to void.
84503         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
84504         decide whether to decrement nlinks.
84505         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
84506         (FTS): Use struct hash_table * instead of Hash_table, so that
84507         we no longer need to include hash.h here.
84508
84509 2005-05-18  Jim Meyering  <jim@meyering.net>
84510
84511         * modules/dirfd (License): Change to LGPL.  Most of the code
84512         is already in the public domain.
84513
84514 2005-05-18  Jim Meyering  <jim@meyering.net>
84515
84516         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
84517         Reported by Yoann Vandoorselaere.
84518
84519 2005-05-17  Jim Meyering  <jim@meyering.net>
84520
84521         * m4/fts.m4: New file, from coreutils.
84522
84523 2005-05-17  Jim Meyering  <jim@meyering.net>
84524
84525         * lib/fts.c, lib/fts_.h: New files, from coreutils.
84526
84527 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84528
84529         Sync from coreutils.
84530         * m4/unlinkdir.m4: New file.
84531
84532 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84533
84534         Sync from coreutils.
84535         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
84536         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
84537         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
84538         White space changes only.
84539         * lib/makepath.c (make_path): Port to hosts where leading "//" is
84540         special.
84541         * lib/yesno.c: Include getline.h, not ctype.h.
84542         (yesno): Don't remove leading white space; POSIX doesn't allow it.
84543         Use getline to remove arbitrary restriction on response length.
84544
84545 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84546
84547         * config/srclist-update: Spell out "Street" in FSF postal
84548         mail address; this is the style the FSF seems to prefer.
84549
84550         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
84551         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
84552         this updates FSF postal mail address.
84553
84554         Sync from coreutils.
84555         * modules/unlinkdir: New file.
84556         * modules/yesno (Depends-on): Add getline.
84557         * MODULES.html.sh (File system functions): Add unlinkdir.
84558
84559 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84560
84561         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
84562         lib/strsep.h:
84563         Change the initial comment to refer to GPL, not LGPL.
84564         gnulib-tool will change it to LGPL as needed.
84565
84566         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
84567         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
84568         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
84569         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
84570         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
84571         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
84572         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
84573         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
84574         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
84575         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
84576         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
84577         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
84578         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
84579         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
84580         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
84581         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
84582         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
84583         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
84584         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
84585         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
84586         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
84587         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
84588         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
84589         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
84590         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
84591         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
84592         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
84593         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
84594         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
84595         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
84596         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
84597         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
84598         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
84599         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
84600         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
84601         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
84602         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
84603         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
84604         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
84605         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
84606         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
84607         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
84608         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
84609         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
84610         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
84611         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
84612         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
84613         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
84614         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
84615         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
84616         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84617         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
84618         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
84619         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
84620         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
84621         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
84622         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
84623         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
84624         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
84625         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
84626         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
84627         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
84628         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
84629         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
84630         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
84631         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
84632         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
84633         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
84634         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
84635         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
84636         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
84637         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
84638         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
84639         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
84640         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
84641         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
84642         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
84643         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
84644         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
84645         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
84646         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
84647         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
84648         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
84649         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
84650         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
84651         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
84652         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
84653         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
84654         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
84655         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
84656         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
84657         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
84658         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
84659         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
84660         lib/yesno.c, lib/yesno.h:
84661         Update FSF postal mail address.
84662
84663 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84664
84665         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
84666         tests/test-memmem.c, tests/test-stpncpy.c:
84667         Update FSF postal mail address.
84668
84669 2005-05-13  Bruno Haible  <bruno@clisp.org>
84670
84671         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
84672         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
84673         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
84674         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
84675         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
84676         Add support for 64-bit integers in the MSVC compiler.
84677
84678 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84679
84680         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
84681
84682 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
84683
84684         * gnulib-tool (func_import): Sort and uniquify recommended includes.
84685
84686 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
84687
84688         * doc/getdate.texi (General date syntax): Don't say that date
84689         date --iso-8601=ns generates acceptable dates; it doesn't yet.
84690         Problem reported by Nic Ferrier.
84691
84692 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84693
84694         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
84695         specified in ai_socktype. Fix invalid ai_protocol
84696         check. ai_protocol is usually set to 0 or depending on
84697         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
84698         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
84699         ai_socktype / ai_protocol in the returned addrinfo structure.
84700
84701 2005-05-10  Simon Josefsson  <jas@extundo.com>
84702
84703         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
84704         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84705
84706 2005-05-10  Karl Berry  <karl@gnu.org>
84707
84708         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
84709         (from http://www.gnu.org/licenses).
84710         * doc/COPYING.LIB: also rename to COPYING.LESSER.
84711         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
84712         fdl.texi suffices.
84713
84714 2005-05-10  Karl Berry  <karl@gnu.org>
84715
84716         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
84717         (COPYING.DOC): remove.
84718
84719         * config/srclist-update: new FSF address.
84720
84721 2005-05-10  Derek Price  <derek@ximbiot.com>
84722
84723         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
84724         possible.
84725
84726 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84727             Bruno Haible  <bruno@clisp.org>
84728
84729         * modules/inet_ntop: New file.
84730         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84731         inet_ntop.
84732
84733 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84734             Bruno Haible  <bruno@clisp.org>
84735
84736         * m4/inet_ntop.m4: New file.
84737
84738 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84739             Bruno Haible  <bruno@clisp.org>
84740
84741         * lib/inet_ntop.h: New file.
84742         * lib/inet_ntop.c: New file, from glibc with modifications.
84743
84744 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
84745
84746         * modules/time_r (License): Change to LGPL.
84747         * modules/extensions (License): Change to LGPL.  Actually,
84748         the license is more permissive than that, but currently gnulib-tool
84749         doesn't know how to handle more-permissive licenses.
84750
84751         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
84752         Problem reported by Dave Love.
84753
84754 2005-05-08  Jim Meyering  <jim@meyering.net>
84755
84756         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
84757         blank.
84758
84759 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84760
84761         * modules/argmatch (Depends-on): Add stdbool.
84762         * modules/backupfile (Depends-on): Likewise.
84763         * modules/chdir-long (Depends-on): Likewise.
84764         * modules/closeout (Depends-on): Likewise.
84765         * modules/cycle-check (Depends-on): Likewise.
84766         * modules/dirname (Depends-on): Likewise.
84767         * modules/fnmatch (Depends-on): Likewise.
84768         * modules/fsusage (Depends-on): Likewise.
84769         * modules/fwriteerror (Depends-on): Likewise.
84770         * modules/getcwd (Depends-on): Likewise.
84771         * modules/getloadavg (Depends-on): Likewise.
84772         * modules/hard-locale (Depends-on): Likewise.
84773         * modules/makepath (Depends-on): Likewise.
84774         * modules/mountlist (Depends-on): Likewise.
84775         * modules/nanosleep (Depends-on): Likewise.
84776         * modules/posixtm (Depends-on): Likewise.
84777         * modules/quotearg (Depends-on): Likewise.
84778         * modules/readtokens (Depends-on): Likewise.
84779         * modules/readtokens0 (Depends-on): Likewise.
84780         * modules/readutmp (Depends-on): Likewise.
84781         * modules/save-cwd (Depends-on): Likewise.
84782         * modules/strftime (Depends-on): Likewise.
84783         * modules/userspec (Depends-on): Likewise.
84784         * modules/utimecmp (Depends-on): Likewise.
84785         * modules/xgetcwd (Depends-on): Likewise.
84786         * modules/xnanosleep (Depends-on): Likewise.
84787         * modules/xstrtod (Depends-on): Likewise.
84788         * modules/yesno (Depends-on): Likewise.
84789
84790 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84791
84792         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84793         needless checks.
84794
84795 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84796
84797         Merge from coreutils.  Among other things,
84798         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84799         * lib/fd-safer.c: New file.
84800         * lib/fcntl-safer.h, open-safer.c: Remove.
84801         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84802         * lib/dup-safer.c: Include unistd-safer.h first.
84803         Don't include errno.h.
84804         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84805         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84806         * lib/file-type.c: Rely on file-type.h change.
84807         * lib/getloadavg.c: Include unistd-safer.h.
84808         (getloadavg): Use safer open.
84809         * lib/getusershell.c: Include "stdio-safer.h".
84810         (getusershell): Use safer fopen.
84811         * lib/long-options.c (long_options): Use NULL rather than 0.
84812         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84813         'free'.
84814         * lib/modechange.c: Likewise.
84815         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84816         (MODE_DONE): New constant.
84817         (struct mode_change): Remove 'next' member.
84818         (make_node_op_equals): New function; like the old one of the
84819         same name, except it allocates an array.
84820         (mode_compile, mode_create_from_ref): Use it.
84821         (mode_compile): Allocate result as an array, not a linked list.
84822         Parse octal string ourself, so that we catch mistakes like "+0".
84823         (mode_adjust): Arg is an array, not a linked list.
84824         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84825         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84826         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84827         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84828         Remove.  This is now stat-macros.h's job.
84829         (talloc): Remove.  All callers replaced by xalloc, so that
84830         our invokers don't have to worry about reporting memory failures.
84831         (make_node_op_equals): Remove.
84832         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84833         New constants.
84834         (struct mode_change): Moved here from modechange.h.
84835         (mode_append_entry): Remove.
84836         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84837         apps to have incorrect behavior.  Use simpler algorithm for head
84838         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84839         Detect more invalid usages rather than having somewhat-random behavior.
84840         Don't insert an "a=" action, as that leads to incorrect behavior.
84841         (mode_compile, mode_create_from_ref): Return NULL on error instead
84842         of an enum, since now there's only one way to have an error.  All
84843         callers changed.
84844         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84845         at the correct time.  Simplify calculation of "+u" and its ilk.
84846         Don't mishandle "+X".
84847         (mode_free): Remove "register" and localize decls.
84848         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84849         (struct mode_change): Move to modechange.c; callers don't
84850         need to see this stuff.
84851         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84852         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84853         (mode_change, mode_adjust): Reflect the new signatures noted above.
84854         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84855         that might redefine system include files.
84856         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84857         (my_usleep): Use NULL rather than (void *) 0.
84858         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84859         Use siginterrupt to specify that system calls should be interrupted.
84860         (rpl_nanosleep): Move initialization of suspended closer to call of
84861         my_usleep.
84862         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84863         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84864         (desirable_utmp_entry): New function.
84865         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84866         using x2nrealloc, to simplify logic.
84867         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84868         size calculation.  Do not assume utmp file is a regular file.
84869         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84870         (READ_UTMP_CHECK_PIDS): New constant.
84871         * lib/save-cwd.c: Include unistd-safer.h.
84872         (save_cwd): Use fd_safer.
84873         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84874         [!_LIBC] Include "stat-macros.h" instead.
84875         * lib/unistd-safer.h (fd_safer): New decl.
84876
84877 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84878
84879         * modules/getloadavg (Depends-on): Add unistd-safer.
84880         * modules/getusershell (Depends-on): Add stdio-safer.
84881         * modules/lstat (Depends-on): Remove xalloc.
84882         * modules/mkstemp (Depends-on): Add stat-macros.
84883         * modules/modechange (Depends-on): Remove xstrtol.
84884         Add stat-macros, xalloc.
84885         * modules/save-cwd (Depends-on): Add unistd-safer.
84886         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84887         * modules/unistd-safer (Files): Add lib/fd-safer.c
84888         (Makefile.am): Remove lib_SOURCES.
84889
84890         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84891         Remove fcntl-safer; unistd-safer supersedes it.
84892
84893 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84894
84895         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84896         AC_HEADER_STAT.
84897         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84898         (gl_PREREQ_CHOWN): Remove.
84899         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84900         it.  Don't require AC_HEADER_STAT.
84901         (gl_PREREQ_LSTAT): Remove.
84902         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84903         Don't require AC_HEADER_STAT.
84904         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84905         (gl_PREREQ_RMDIR): Remove.
84906         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84907         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84908         the stat-macros module a prerequisite.
84909         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84910         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84911         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84912         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84913         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84914         variable names.
84915         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84916         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84917         variable prefixes.
84918         * m4/fcntl-safer.m4: Remove.
84919         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84920         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84921         Invoke gl_PREREQ_FD_SAFER.
84922         (gl_PREREQ_FD_SAFER): New macro.
84923         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84924         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84925         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84926         Remove duplicate call to AC_LIBOBJ(readutmp).
84927         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84928
84929         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84930         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84931
84932 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84933
84934         * MODULES.html.sh (Misc): Add byteswap.
84935
84936 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84937
84938         * modules/getcwd (Depends-on): Add extensions.
84939         * modules/openat (Depends-on): Likewise.
84940
84941 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84942
84943         * modules/byteswap: New file.
84944
84945 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84946
84947         * m4/byteswap.m4: New file.
84948
84949 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84950
84951         * lib/byteswap_.h: New file.
84952
84953 2005-04-25  Karl Berry  <karl@gnu.org>
84954
84955         * m4/gettext.m4: Update from GNU gettext 0.14.4.
84956
84957 2005-04-25  Albert Chin  <china@thewrittenword.com>
84958
84959         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
84960         Toolkit C bug.
84961
84962 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
84963
84964         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
84965         (func_ln_if_changed): Remove forcibly for no error message
84966         in case file does not exist.
84967
84968 2005-04-19  Simon Josefsson  <jas@extundo.com>
84969
84970         * gnulib-tool (Options): Make --symlink mean --symbolic.
84971
84972 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
84973
84974         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
84975
84976 2005-04-16  Simon Josefsson  <jas@extundo.com>
84977
84978         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84979
84980 2005-04-15  Simon Josefsson  <jas@extundo.com>
84981
84982         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84983
84984 2005-04-15  Simon Josefsson  <jas@extundo.com>
84985
84986         * gnulib-tool: Rename --symlink to --symbolic.
84987
84988 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84989
84990         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84991         symbolic links to files instead of copying/moving.  Add --aux-dir,
84992         specifying directory relative --dir where auxiliary build tools
84993         are placed.
84994
84995 2005-04-14  Bruno Haible  <bruno@clisp.org>
84996
84997         * modules/allocsa (License): Change to LGPL.
84998         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84999
85000 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
85001
85002         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
85003         that "UTC +1 second" continues to work.  Problem reported
85004         by Dmitry V. Levin.
85005         (relunit_snumber): New rule.
85006         (relunit): Use it.
85007
85008 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
85009
85010         * lib/getdate.y (universal_time_zone_table): New constant.
85011         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
85012         universal_time_zone_table.
85013         (lookup_zone): Prefer universal_time_zone_table to
85014         local_time_zone_table, so that "GMT" time stamps are allowed in
85015         London during the summer.  Problem reported by Ian Abbott.
85016
85017 2005-04-12  Jim Meyering  <jim@meyering.net>
85018
85019         * lib/human.c (humblock): Set *options even when returning due to
85020         xstrtoumax conversion failure.  Thanks to a used-uninitialized
85021         warning from gcc-4.
85022
85023 2005-04-09  Jim Meyering  <jim@meyering.net>
85024
85025         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
85026         -Wuninitialized: initialize tm0.tm_year.
85027
85028 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
85029
85030         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
85031         count, since there's no maximum.  All uses changed.
85032         Add member dsts_seen.
85033         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
85034         not being INT_MAX.
85035         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
85036         Use pc_rels_seen to decide whether a date is absolute.
85037
85038         * lib/getdate.y (number): Don't overwrite year.
85039         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
85040         check.
85041
85042 2005-04-02  Simon Josefsson  <jas@extundo.com>
85043
85044         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
85045         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
85046
85047 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
85048
85049         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
85050         where no absolute path name can be longer than PATH_MAX.
85051
85052 2005-03-27  Jim Meyering  <jim@meyering.net>
85053
85054         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
85055
85056 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
85057
85058         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
85059         "one's complement" -> "ones' complement" in comment, as per Knuth.
85060         "value of type" -> "type or expression" in comment.
85061         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
85062
85063 2005-03-26  Jim Meyering  <jim@meyering.net>
85064
85065         Comment nits.
85066         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
85067         Correct typos: s/or/of/.
85068
85069 2005-03-26  Jim Meyering  <jim@meyering.net>
85070
85071         * modules/check-include-files: Move to ../ and rename to...
85072         * check-module: ...this.
85073
85074 2005-03-25  Jim Meyering  <jim@meyering.net>
85075
85076         * modules/xvasprintf (Files): Add xalloc.h.
85077
85078 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
85079
85080         * modules/gettext (Files): config/config.rpath ->
85081         build-aux/config.rpath
85082         * modules/iconv (Files): Likewise.
85083         Problem reported by Oskar Liljeblad.
85084
85085 2005-03-23  Jim Meyering  <jim@meyering.net>
85086
85087         * modules/check-include-files: New script to check for
85088         missing dependencies, multiple includes, etc.
85089
85090         * modules/c-strtold (Depends-on): Add xalloc.
85091         * modules/c-strtod (Depends-on): Add xalloc.
85092         * modules/hash (Depends-on): Add xalloc.
85093         (Files): Remove lib/xalloc.h.
85094
85095         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
85096         * modules/userspec (Files): Add lib/inttostr.h.
85097
85098 2005-03-23  Jim Meyering  <jim@meyering.net>
85099
85100         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
85101
85102 2005-03-22  Jim Meyering  <jim@meyering.net>
85103
85104         * modules/stat-macros: New module.
85105         * modules/canonicalize, modules/euidaccess, modules/file-type,
85106         * modules/filemode, modules/lchown, modules/makepath,
85107         * modules/rmdir, modules/stat: Depend on new stat-macros module
85108         rather than listing lib/stat-macros.h manually.
85109         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
85110
85111 2005-03-22  Jim Meyering  <jim@meyering.net>
85112
85113         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
85114
85115 2005-03-22  Bruno Haible  <bruno@clisp.org>
85116
85117         * config/srclist.txt: Replace target directory 'config' with
85118         'build-aux'.
85119         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
85120         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
85121         ../build-aux/.
85122
85123 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
85124
85125         * modules/chdir-long (Depends-on): Add mempcpy.
85126
85127         * modules/acl, modules/backupfile, modules/c-strtod,
85128         modules/c-strtold, modules/canon-host, modules/canonicalize,
85129         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
85130         modules/exclude, modules/exitfail, modules/file-type,
85131         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
85132         modules/getdate, modules/getline, modules/getpagesize,
85133         modules/getpass, modules/getugroups, modules/group-member,
85134         modules/hard-locale, modules/hash, modules/human, modules/idcache,
85135         modules/inttostr, modules/long-options, modules/makepath,
85136         modules/md5, modules/memcasecmp, modules/memcoll,
85137         modules/modechange, modules/mountlist, modules/path-concat,
85138         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
85139         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
85140         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
85141         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
85142         modules/strftime, modules/strndup, modules/strverscmp,
85143         modules/timespec, modules/unlocked-io, modules/userspec,
85144         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
85145         modules/yesno:
85146         Remove lib_SOURCES line from Makefile.am section, as this is now
85147         done automatically by the corresponding Autoconf macro.
85148
85149 2005-03-21  Jim Meyering  <jim@meyering.net>
85150
85151         Changes imported from coreutils.
85152
85153         * lib/cycle-check.c: Don't include xalloc.h.
85154
85155         * lib/path-concat.c: Don't include assert.h.
85156         (path_concat): Remove assertion that would have triggered
85157         for ABASE starting with more than one slash.
85158         Reported by Andreas Schwab.
85159
85160         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
85161         properly when ABASE is an absolute file name.
85162         Correct the description of this function.
85163         Include <assert.h>.
85164         Add an assertion and a test driver.
85165         This fixes a bug introduced on 2004-07-02.
85166         Andreas Schwab reported the resulting failure of cp --parents:
85167         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
85168
85169 2005-03-21  Jim Meyering  <jim@meyering.net>
85170
85171         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
85172         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
85173
85174 2005-03-21  Jim Meyering  <jim@meyering.net>
85175         and  Paul Eggert  <eggert@cs.ucla.edu>
85176
85177         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
85178         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
85179         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
85180         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
85181         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
85182         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
85183         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
85184         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
85185         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
85186         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
85187         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
85188         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
85189         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
85190         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
85191         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
85192         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
85193         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
85194         for these modules.
85195
85196 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
85197
85198         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
85199         (which shouldn't happen), generate nothing instead of returning 0
85200         immediately, so that nstrftime (NULL, ...) doesn't return 0.
85201
85202 2005-03-16  Bruno Haible  <bruno@clisp.org>
85203
85204         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
85205         HAVE_LONGLONG_64BIT.
85206
85207 2005-03-16  Bruno Haible  <bruno@clisp.org>
85208
85209         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
85210         HAVE_LONGLONG_64BIT.
85211
85212 2005-03-16  Bruno Haible  <bruno@clisp.org>
85213
85214         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
85215         HAVE_LONGLONG_64BIT.
85216
85217 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85218
85219         * lib/strftime.c (my_strftime): Prepend space to format so that we can
85220         reliably distinguish strftime failure from empty output on POSIX
85221         hosts.
85222
85223 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85224
85225         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
85226         (iconv_string): Don't guess a size-zero buffer, as that might cause
85227         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
85228         result would be 'too large', where 'too large' is (heuristically)
85229         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
85230         overflow concerns.  This will prevent some unwanted malloc failures
85231         when the inputs are very large.
85232
85233 2005-03-15  Karl Berry  <karl@gnu.org>
85234
85235         * config/srclist.txt (config.rpath): from gettext.
85236         * config/config.rpath: update.
85237
85238 2005-03-15  Bruno Haible  <bruno@clisp.org>
85239
85240         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
85241         to 'negate'.
85242
85243         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
85244         variable.
85245
85246         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
85247         results.
85248
85249 2005-03-14  Simon Josefsson  <jas@extundo.com>
85250
85251         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
85252         <fx@gnu.org>.
85253
85254 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
85255
85256         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
85257         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
85258         intprops.h.
85259         * lib/strtol.c: Likewise.
85260
85261 2005-03-14  Jim Meyering  <jim@meyering.net>
85262
85263         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
85264         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
85265         to be nonzero so that we (and caller) can detect the difference
85266         between a valid zero-length expansion and an error return, even
85267         when the underlying strftime fails before writing anything into
85268         that location.
85269
85270 2005-03-14  Bruno Haible  <bruno@clisp.org>
85271
85272         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
85273         Update from GNU gettext 0.14.3.
85274
85275 2005-03-10  Jim Meyering  <jim@meyering.net>
85276
85277         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
85278
85279 2005-03-10  Jim Meyering  <jim@meyering.net>
85280
85281         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
85282         so that this module works on systems without fchdir.
85283
85284 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
85285
85286         Factor int-properties macros into a single file, except for
85287         glibc-related files.
85288         * lib/intprops.h: New file.
85289         * lib/getloadavg.c: Include it instead of limits.h.
85290         (INT_STRLEN_BOUND): Remove.
85291         * lib/human.c: Include intprops.h.
85292         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
85293         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
85294         302/1000.
85295         * lib/inttostr.h: Include intprops.h instead of limits.h.
85296         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
85297         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
85298         for consistency with intprops.h.
85299         (time_t_is_integer, twos_complement_arithmetic): Use them.
85300         * lib/sig2str.h: Include <signal.h>, intprops.h.
85301         (INT_STRLEN_BOUND): Remove.
85302         * lib/strftime.c (TYPE_SIGNED): Remove.
85303         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
85304         * lib/strtol.c: Adjust comments to match intprops.h.
85305         * lib/userspec.c: Include intprops.h.
85306         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
85307         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
85308         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
85309         instead of rolling our own expressions.
85310         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
85311
85312         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
85313         instead of int.
85314         (my_strftime): Do not mishandle years close to INT_MAX, by doing
85315         the right thing even if adding 1900 would overflow.  Similarly
85316         for tm_mon + 1 and tm_yday + 1.
85317         Make %Y always equivalent to %C%y, and similarly for %G and %g.
85318         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
85319         (DO_SIGNED_NUMBER): New macro.
85320         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
85321
85322 2005-03-07  Bruno Haible  <bruno@clisp.org>
85323
85324         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
85325
85326 2005-03-07  Bruno Haible  <bruno@clisp.org>
85327
85328         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
85329
85330 2005-03-04  Derek R. Price  <derek@ximbiot.com>
85331
85332         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
85333         (func_import): Only replace files via --import when they have actually
85334         changed.
85335
85336 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85337
85338         * m4/mmap-anon.m4: New file.
85339         * m4/pagealign_alloc.m4: New file.
85340
85341 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85342             Bruno Haible  <bruno@clisp.org>
85343
85344         * modules/pagealign_alloc: New file.
85345         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85346
85347 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85348             Bruno Haible  <bruno@clisp.org>
85349
85350         * lib/pagealign_alloc.h: New file.
85351         * lib/pagealign_alloc.c: New file.
85352
85353 2005-03-03  Bruno Haible  <bruno@clisp.org>
85354
85355         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85356         Use an all-permissive copyright notice, recommended by RMS.
85357
85358 2005-03-02  Bruno Haible  <bruno@clisp.org>
85359
85360         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85361         of AIX, the replacement has to be done only after <string.h> is
85362         included, therefore not in config.h. stpncpy.h does the replacement,
85363         and stpncpy.c uses it.
85364
85365 2005-03-02  Bruno Haible  <bruno@clisp.org>
85366
85367         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85368         stpncpy.c uses it.
85369
85370 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85371
85372         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85373         The workaround isn't strictly needed for POSIX conformance, and
85374         it's too much of a pain to configure and maintain.  We'll ask
85375         people to fix their kernels instead.
85376         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85377         (NANOSLEEP_BUG_WORKAROUND): Remove.
85378         (xnanosleep): Remove the workaround.
85379
85380 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85381
85382         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85383         Reported by Derek Price.
85384         (Include): Add "timespec.h".
85385
85386         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85387
85388 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85389
85390         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85391         to detect nanosleep bug.
85392
85393 2005-03-01  Bruno Haible  <bruno@clisp.org>
85394
85395         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85396
85397 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85398
85399         * modules/gethrxtime: New file.
85400         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
85401         (Depends-on): Add gethrxtime.
85402         (configure.ac): Add gl_XNANOSLEEP.
85403         (Makefile.am): Remove lib_SOURCES line.
85404
85405 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85406
85407         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
85408         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
85409
85410 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85411
85412         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
85413         * lib/timespec.h (gettime): Return void, since it always
85414         succeeds now.  All uses changed.
85415         * lib/gettime.c (gettime): Likewise.
85416         [HAVE_NANOTIME]: Prefer nanotime.
85417         Assume gettimeofday succeeds, as POSIX requires.
85418         Assime time () succeeds, since other code already does.
85419         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
85420         (timespec_subtract): Remove.
85421         (NANOSLEEP_BUG_WORKAROUND): New constant.
85422         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
85423         things considerably.  Use it only on GNU/Linux hosts, since the
85424         workaround shouldn't be needed elsewhere.
85425
85426 2005-02-24  Bruno Haible  <bruno@clisp.org>
85427
85428         * modules/gettext (Files): Add m4/glibc2.m4.
85429
85430 2005-02-24  Bruno Haible  <bruno@clisp.org>
85431
85432         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
85433         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
85434         * m4/progtest.m4:
85435         Update from GNU gettext 0.14.2.
85436         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
85437
85438 2005-02-24  Bruno Haible  <bruno@clisp.org>
85439
85440         * lib/localcharset.c: Update from GNU gettext 0.14.2.
85441         * lib/config.charset: Update from GNU gettext 0.14.2.
85442
85443 2005-02-24  Bruno Haible  <bruno@clisp.org>
85444
85445         * lib/gettext.h: Update from GNU gettext 0.14.2.
85446
85447 2005-02-23  Simon Josefsson  <jas@extundo.com>
85448
85449         * m4/iconvme.m4: New file.
85450
85451 2005-02-23  Jim Meyering  <jim@meyering.net>
85452
85453         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
85454         change.
85455         Thanks to Bruno Haible for catching it.
85456
85457 2005-02-22  Simon Josefsson  <jas@extundo.com>
85458
85459         * modules/iconvme: New file.
85460
85461         * MODULES.html.sh: Add iconvme.
85462
85463 2005-02-22  Simon Josefsson  <jas@extundo.com>
85464
85465         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
85466
85467 2005-02-22  Simon Josefsson  <jas@extundo.com>
85468
85469         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
85470
85471 2005-02-22  Jim Meyering  <jim@meyering.net>
85472
85473         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
85474         s/ifndef/ifdef/.
85475
85476 2005-02-20  Neil Conway  <neilc@samurai.com>
85477
85478         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
85479         returned by OSX/Darwin if the specified buffer is not large
85480         enough for the hostname.
85481
85482 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85483
85484         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
85485         pass it to _help, otherwise the latter coredumps trying to
85486         dereference state.root_argp.
85487
85488 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85489
85490         * modules/chdir-long (Depends-on): Add memrchr.
85491         * modules/memrchr (Files): Add lib/memrchr.h.
85492         (Include): "memrchr.h".
85493
85494 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85495
85496         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
85497
85498 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85499
85500         * lib/memrchr.h: New file.
85501         * lib/chdir-long.c: Include it.
85502         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
85503         Don't bother including stddef.h.
85504
85505 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
85506
85507         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
85508         inclusion.
85509         Include <sys/types.h>, for dev_t.
85510         (ME_DUMMY, ME_REMOTE): Move from here....
85511         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
85512         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
85513         Dmitry V. Levin.
85514         Include mountlist.h first, to test the interface.
85515
85516 2005-01-29  Bruno Haible  <bruno@clisp.org>
85517
85518         * lib/progname.c (program_name): Initialize.
85519         Needed when linking statically on MacOS X.
85520
85521 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85522
85523         Sync from coreutils.
85524         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
85525         (Depends-on): Add c-strtod.
85526         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
85527
85528 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85529
85530         Sync from coreutils.
85531         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
85532
85533         Remove files that are specific to coreutils.
85534         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
85535
85536 2005-01-28  Bruno Haible  <bruno@clisp.org>
85537
85538         * modules/javacomp: New file.
85539         * MODULES.html.sh (Java): Add javacomp.
85540
85541 2005-01-28  Bruno Haible  <bruno@clisp.org>
85542
85543         * m4/javacomp.m4: New file, from GNU gettext.
85544
85545 2005-01-28  Bruno Haible  <bruno@clisp.org>
85546
85547         * lib/javacomp.sh.in: New file, from GNU gettext.
85548         * lib/javacomp.h: New file, from GNU gettext.
85549         * lib/javacomp.c: New file, from GNU gettext.
85550
85551 2005-01-26  Simon Josefsson  <jas@extundo.com>
85552
85553         * lib/gai_strerror.c: Use GPL in header.
85554
85555 2005-01-26  Bruno Haible  <bruno@clisp.org>
85556
85557         * modules/javaexec: New file.
85558         * MODULES.html.sh (Java): Add javaexec.
85559
85560 2005-01-26  Bruno Haible  <bruno@clisp.org>
85561
85562         * m4/javaexec.m4: New file, from GNU gettext.
85563
85564 2005-01-26  Bruno Haible  <bruno@clisp.org>
85565
85566         * lib/javaexec.sh.in: New file, from GNU gettext.
85567         * lib/javaexec.h: New file, from GNU gettext.
85568         * lib/javaexec.c: New file, from GNU gettext.
85569
85570 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85571
85572         * modules/lchown (Depends-on): Remove lchown.h
85573
85574 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85575
85576         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
85577         must be defined if the header file was not found, in order
85578         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
85579
85580 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85581
85582         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
85583         initializers for struct pentry_state.
85584         (__argp_error): Check return value of __asprintf
85585         (__argp_failure): Translate error message
85586
85587         * lib/argp-parse.c: Removed braces around the expansion of N_()
85588
85589 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
85590
85591         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
85592         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
85593         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
85594         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
85595         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
85596         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
85597         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
85598         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
85599         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
85600         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
85601         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
85602         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
85603         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
85604         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
85605         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
85606         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
85607         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
85608         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
85609         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
85610         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
85611         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
85612         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
85613         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
85614         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
85615         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
85616         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
85617         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
85618         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
85619         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
85620         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
85621         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
85622         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
85623         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
85624         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
85625         xstrtol.m4, xstrtoumax.m4, yesno.m4:
85626         Use an all-permissive copyright notice, recommended by RMS.
85627
85628 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
85629
85630         * modules/chdir-long (Depends-on): Remove mempcpy.
85631
85632 2005-01-21  Jim Meyering  <jim@meyering.net>
85633
85634         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
85635         same value as for Solaris 9.
85636
85637         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
85638         component length.  This included changing the parameter to be
85639         of type `char *' rather than `char const *'.
85640         * lib/chdir-long.h (chdir_long): Update prototype.
85641
85642         * lib/openat.c (fdopendir, fstatat): New functions.
85643         * lib/openat.h: Include headers required for use of DIR and struct
85644         stat.
85645         [AT_SYMLINK_NOFOLLOW]: Define.
85646         (fdopendir, fstatat): Add prototypes.
85647
85648 2005-01-21  Bruno Haible  <bruno@clisp.org>
85649
85650         * modules/classpath: New file.
85651         * MODULES.html.sh (Java): Add classpath.
85652
85653 2005-01-21  Bruno Haible  <bruno@clisp.org>
85654
85655         * lib/classpath.h: New file, from GNU gettext.
85656         * lib/classpath.c: New file, from GNU gettext.
85657
85658 2005-01-20  Simon Josefsson  <jas@extundo.com>
85659
85660         * modules/version-etc-fsf: New file.
85661
85662 2005-01-20  Simon Josefsson  <jas@extundo.com>
85663
85664         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
85665         * lib/version-etc.c: Remove version_etc_copyright.
85666         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
85667         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
85668
85669 2005-01-20  Simon Josefsson  <jas@extundo.com>
85670
85671         * lib/base64.h (isbase64): Add.
85672
85673         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
85674         using a unsigned prototype, don't inline.
85675         (base64_decode): Use it.
85676
85677 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85678
85679         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
85680         it.
85681
85682 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85683
85684         * lib/save-cwd.c (save_cwd): Remove code to support the case
85685         where fchdir is missing or flaky.
85686
85687 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85688
85689         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
85690
85691 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
85692
85693         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
85694         AC_LIBSOURCES now does this.
85695         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
85696         with new ullong_max module.
85697
85698 2005-01-19  Bruno Haible  <bruno@clisp.org>
85699
85700         * modules/sh-quote: New file.
85701         * MODULES.html.sh (Executing programs): Add sh-quote.
85702
85703 2005-01-19  Bruno Haible  <bruno@clisp.org>
85704
85705         * lib/sh-quote.h: New file, from GNU gettext.
85706         * lib/sh-quote.c: New file, from GNU gettext.
85707
85708 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85709
85710         Merge from coreutils.
85711         * m4/ullong_max.m4: New file.
85712         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
85713         (gl_MACROS): Assume localeconv exists.
85714
85715 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85716
85717         Merge changes from coreutils, as described below in several
85718         changelogs dated today.
85719
85720         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
85721         (O_DIRECTORY): Remove; not needed here, since "." must be
85722         a directory.  All uses removed.
85723         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
85724         universal on Suns, and we also need to test for IRIX.
85725         Revamp code to use 'if' rather than '#if'.
85726         Avoid unnecessary comparison of cwd->desc to 0.
85727
85728         * lib/utimens.c (futimens): Robustify the previous patch, by checking
85729         for known valid error numbers rather than observed invalid ones.
85730
85731 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85732
85733         * modules/ullong_max: New file.
85734
85735         * modules/chdir-long, modules/openat: New files.
85736         * modules/save-cwd (Depends-on): Depend on chdir-long.
85737         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
85738
85739 2005-01-18  Jim Meyering  <jim@meyering.net>
85740
85741         Merge from coreutils.
85742         * m4/chdir-long.m4, m4/openat.m4: New files.
85743         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
85744         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
85745         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
85746         is sane and DOES follow symlinks.  Besides, testing 20 different
85747         systems found no broken chown implementations.
85748         Prompted by a change in rsync's copy of this macro.
85749         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
85750
85751         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
85752
85753         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
85754         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
85755         NULL-means-set-to-current-time semantics.
85756         Remove temporary file immediately, rather than waiting
85757         for configure's at-exit trap code to do it.
85758
85759 2005-01-18  Jim Meyering  <jim@meyering.net>
85760
85761         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85762
85763         * lib/utimens.c (futimens): Account for the fact that futimes
85764         can also fail with errno == ENOSYS or errno == ENOENT.
85765         Patch from Dmitry V. Levin.
85766
85767         Change the name of the robust chdir function from chdir to chdir_long.
85768         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85769         (restore_cwd): Use chdir_long, not chdir.
85770         * lib/chdir-long.c: Renamed from chdir.c.
85771         * lib/chdir-long.h: Renamed from chdir.h.
85772         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85773         Hurd.
85774
85775 2005-01-18  Bruno Haible  <bruno@clisp.org>
85776
85777         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85778         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85779         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85780         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85781         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85782         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85783         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85784         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85785         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85786         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85787         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85788         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85789         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85790         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85791         Use an all-permissive copyright notice, recommended by RMS.
85792
85793 2005-01-18  Bob Proulx  <bob@proulx.com>
85794
85795         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85796         simplify offsetof() macro construct to avoid compile failure with
85797         native HP-UX 11.0 ANSI C compiler.
85798
85799 2005-01-17  Bruno Haible  <bruno@clisp.org>
85800
85801         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85802         redundant because stpncpy.m4 takes care of it.
85803
85804 2005-01-17  Bruno Haible  <bruno@clisp.org>
85805
85806         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85807
85808 2005-01-17  Bruno Haible  <bruno@clisp.org>
85809
85810         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85811         used.
85812
85813 2005-01-17  Bruno Haible  <bruno@clisp.org>
85814
85815         * lib/fwriteerror.h (fwriteerror): Change specification to include
85816         fclose.
85817         * lib/fwriteerror.c: Include <stdbool.h>.
85818         (fwriteerror): At the end, close the file stream. Record whether
85819         stdout was already closed.
85820
85821 2005-01-17  Bruno Haible  <bruno@clisp.org>
85822
85823         * lib/execute.c (environ): Declare if needed.
85824         * lib/pipe.c (environ): Likewise.
85825         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85826
85827 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85828
85829         * modules/argp: Depend on vsnprintf
85830
85831 2005-01-10  Jim Meyering  <jim@meyering.net>
85832
85833         * modules/closeout (Depends-on): Add atexit.
85834
85835 2005-01-06  Bruno Haible  <bruno@clisp.org>
85836
85837         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85838
85839 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85840
85841         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85842         definitions to be after all include files, to avoid collisions.
85843         Problem reported by Bob Proulx.
85844
85845 2005-01-04  Jim Meyering  <jim@meyering.net>
85846
85847         Changes imported from coreutils.
85848         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85849         as the mkstemp template, use a temporary directory and an
85850         8.3-friendly template to avoid trouble on systems like DJGPP.
85851         Reported by Juan M. Guerrero via Stepan Kasal.
85852         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85853         close. Remove the temporary directory right away, rather than waiting
85854         for configure's at-exit trap code to do it.
85855         Suggestion from Stepan Kasal.
85856
85857 2005-01-01  Simon Josefsson  <jas@extundo.com>
85858
85859         * gnulib-tool: Print #include directives when --import'ing.
85860
85861 2004-12-28  Simon Josefsson  <jas@extundo.com>
85862
85863         * tests/test-base64.c: Include required header files.  Remove
85864         unused variables.
85865
85866 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85867
85868         * modules/error (Depends-on): Remove gettext.
85869
85870 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85871
85872         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85873         not needed.  This removes a dependency on the gettext module.
85874         [defined _LIBC]: Do not include <libintl.h>; not needed.
85875
85876 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85877
85878         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85879         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85880
85881 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85882
85883         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85884         HAVE_DECL_STRTOLD.
85885
85886 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85887
85888         * modules/getdate (Depends-on): Remove alloca-opt.
85889
85890 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85891
85892         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85893
85894 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85895
85896         * lib/argp-parse.c: Include <stddef.h>.
85897         (alignof, alignto): New macros.
85898         (parser_init): Don't assume that void * is aligned sufficiently
85899         for struct option.
85900
85901         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85902         need to extend the stack.
85903         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85904         large.
85905
85906 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85907
85908         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85909
85910 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85911
85912         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85913         (2004-10-24) change.  Apparently this was a false alarm.
85914
85915         * modules/getdate: Depend on alloca-opt, not alloca.
85916
85917 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85918
85919         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85920         Remove now-obsolete comment about AIX.
85921         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85922         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85923         (YYMAXDEPTH): New macro.
85924
85925 2004-12-18  Simon Josefsson  <jas@extundo.com>
85926
85927         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85928
85929 2004-12-18  Bruno Haible  <bruno@clisp.org>
85930
85931         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85932
85933 2004-12-18  Bruno Haible  <bruno@clisp.org>
85934
85935         * lib/fatal-signal.c (fatal_signals): Make non-const.
85936         (init_fatal_signals): New function.
85937         (uninstall_handlers, install_handlers): Ignore signals that were set to
85938         SIG_IGN.
85939         (at_fatal_signal): Call init_fatal_signals.
85940         (init_fatal_signal_set): Likewise. Ignore signals that were set to
85941         SIG_IGN.
85942         Reported by Paul Eggert.
85943
85944 2004-12-18  Bruno Haible  <bruno@clisp.org>
85945
85946         * doc/alloca.texi: New file.
85947         * doc/alloca-opt.texi: New file.
85948
85949 2004-12-17  Jim Meyering  <jim@meyering.net>
85950
85951         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
85952         Otherwise, install-sh could exit with improper exit status when
85953         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
85954
85955 2004-12-16  Simon Josefsson  <jas@extundo.com>
85956
85957         * tests/test-base64.c: Add license.
85958
85959 2004-12-15  Stepan Kasal  <address@hidden>
85960
85961         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
85962
85963 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
85964
85965         * modules/getcwd (Files): Add m4/d-ino.m4.
85966         Suggested by Mark D. Baushke.
85967
85968 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85969
85970         * lib/getdate.y (textint): New member "negative".
85971         (time_zone_hhmm): New function.
85972         Expect 14 shift-reduce conflicts, not 13.
85973         (o_colon_minutes): New rule.
85974         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
85975         (yylex): Set the "negative" member of signed numbers.
85976
85977 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85978
85979         * doc/getdate.texi (Time of day items, Time zone items):
85980         Describe new formats +00:00, UTC+00:00.
85981
85982 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85983
85984         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85985         spurious "-l"s.  Problem reported by Stepan Kasal.
85986
85987 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85988
85989         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85990         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85991
85992 2004-12-04  Simon Josefsson  <jas@extundo.com>
85993
85994         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85995         Vandoorselaere <yoann@prelude-ids.org>.
85996
85997 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85998
85999         Changes imported from coreutils.
86000         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
86001         exist.
86002         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
86003
86004 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86005
86006         Changes imported from coreutils.
86007         * lib/hard-locale.c: Assume <locale.h> exists.
86008         Include "strdup.h".
86009         (GLIBC_VERSION): New macro.
86010         (hard_locale): Assume setlocale exists.
86011         Rewrite to avoid #ifdef.
86012         Use strdup rather than malloc + strcpy.
86013         * lib/human.c: Assume <locale.h> exists.
86014         (human_readable): Assume localeconv exists.
86015
86016 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86017
86018         * modules/hard-locale (Depends-on): Add strdup.
86019
86020 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
86021
86022         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
86023         convert T2, not T.  (Imported from libc.)
86024
86025 2004-11-30  Simon Josefsson  <jas@extundo.com>
86026
86027         * modules/restrict (License): Change to LGPL.
86028
86029 2004-11-30  Simon Josefsson  <jas@extundo.com>
86030
86031         * m4/restrict.m4: Add copyright and copying conditions.
86032
86033 2004-11-30  Simon Josefsson  <jas@extundo.com>
86034
86035         * m4/base64.m4: New file.
86036
86037 2004-11-30  Simon Josefsson  <jas@extundo.com>
86038
86039         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
86040         base64.
86041
86042         * tests/test-base64.c: New file.
86043
86044         * modules/base64: New file.
86045
86046 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86047
86048         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
86049         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
86050
86051         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
86052
86053 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86054
86055         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
86056         (__getcwd.c): Don't restore errno; glibc doesn't.
86057         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
86058         first, falling back to our code only if its results look suspicious.
86059         Ensure that the resulting buffer is only as large as necessary.
86060
86061         * lib/readutmp.c: Include readutmp.h first.
86062         Include <errno.h>, since readutmp.h no longer does that.
86063         * lib/readutmp.h: Don't include <errno.h>,
86064         <sys/param.h>, <time.h>; not needed to establish interface.
86065         (errno): Remove decl.
86066         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
86067         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
86068         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
86069
86070 2004-11-28  Simon Josefsson  <jas@extundo.com>
86071
86072         * lib/base64.h, base64.c: New file.
86073
86074 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
86075
86076         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
86077
86078 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
86079
86080         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
86081         (Depends-on): Remove pathmax, same.  Add mempcpy.
86082         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
86083         (Makefile.am): Append getcwd.h to lib_SOURCES.
86084         (Include): Add getcwd.h.
86085         (Maintainer): Change from Jim Meyering to "all, glibc",
86086         since getdate now uses intended-for-glibc code.
86087         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
86088         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
86089
86090 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86091
86092         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
86093         HP's ANSI C compiler.
86094         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
86095         Declaring int functions causes warnings on some modern systems and
86096         shouldn't be needed to compile on ancient ones.
86097         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
86098         defined.
86099
86100         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
86101         with the following changes.
86102         (__set_errno): Parenthesize properly.
86103         Include <stdbool.h>.
86104         (MIN, MAX, MATCHING_INO): New macros.
86105         (__getcwd): Define with prototype, not K&R form.
86106         Use heuristics to allocate default buffer on stack if possible.
86107         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
86108         behavior, and to avoid the PATH_MAX limit when computing
86109         ../../../../...
86110         Use MATCHING_INO to compare inode number to file.
86111         Check for arithmetic overflow in size calculations.
86112         Fix bug in reallocation of dot array that caused getcwd to fail
86113         on directories nested deeper than 75.
86114         Be more careful about saving errno on error.
86115         Do not use realloc; use only free+malloc, as this is a bit
86116         more flexible and avoids a needless copy operation.
86117         Do not inspect st_dev and st_ino for symbolic links; POSIX
86118         doesn't specify the latter.
86119         Check for closedir errors.
86120         Avoid needless casts.
86121         Use "#ifdef weak_alias" around weak_alias, to be like other
86122         glibc code.
86123         The following changes to getcwd.c have effect only when used in
86124         gnulib; they have no effect inside glibc proper.
86125         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
86126         as alloca isn't used.
86127         (alloca, __alloca): Likewise.
86128         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
86129         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86130         unconditionally, as gnulib assumes C89 or better.
86131         Do not include <sys/param.h>.
86132         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
86133         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
86134         better.
86135         (NULL) [!defined NULL]: Remove; we assume C89 or better.
86136         Include <dirent.h> in a way that is compatible with modern Autoconf.
86137         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
86138         New macros, if not already defined.
86139         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
86140         Use "_LIBC", not "defined _LIBC", for consistency.
86141         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
86142         a mempcpy module.
86143         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
86144         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
86145         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
86146         credit only to Jim Meyering and adjust the copyright dates.
86147         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
86148         <stdlib.h>, <unistd.h>, "pathmax.h".
86149         Instead, include "xgetcwd.h" (first) and "getcwd.h".
86150         (INITIAL_BUFFER_SIZE): Remove.
86151         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
86152
86153 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86154
86155         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
86156         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
86157         Use the _ONCE methods, for efficiency.
86158         Check for fcntl.h.  In test program, include <errno.h>
86159         and <fcntl.h> if available.  Remove old K&R cruft from
86160         test program.  Check for common errors in GNU/Linux,
86161         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
86162         don't do AC_LIBOBJ, as that's getcwd.m4's job.
86163         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
86164         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
86165         name accordingly.
86166         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
86167         accommodate new getcwd.c.
86168         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
86169         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
86170         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
86171         that's all we need now.
86172
86173 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86174
86175         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
86176         argp-parse.c depends on getopt internals, that means we should
86177         always use our getopt, to be on the safe side.
86178         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
86179         order not to spoil the result of an eventual previous invocation
86180         of gl_GETOPT_SUBSTITUTE.
86181
86182 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86183
86184         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
86185         redefinition warnings. To avoid them, include the defines
86186         in `#if !defined __need_getopt ... #endif'. The only place
86187         where __getopt_argv_const is used is in definitions
86188         of getopt_long and getopt_long_only below, which are as well
86189         protected by `#ifndef __need_getopt'.
86190         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
86191         __need_getopt after including <stdio.h> and <unistd.h> These
86192         headers might have defined it.
86193
86194 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86195
86196         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
86197
86198 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86199
86200         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
86201         (futimens): New function, which uses futimes if available.
86202         (futimens, utimens): Support timespec==NULL, with same semantics
86203         as utime and utimens.
86204         * lib/utimens.h (futimens): New decl.
86205
86206 2004-11-23  Jim Meyering  <jim@meyering.net>
86207
86208         * lib/getopt_.h: Remove trailing blanks.
86209
86210 2004-11-23  Jim Meyering  <jim@meyering.net>
86211
86212         * lib/__fpending.c: Add comment.
86213
86214 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
86215
86216         * modules/canonicalize (Depends-on): Add xreadlink.
86217         Problem reported by James Youngman.
86218
86219 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
86220
86221         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
86222         New macros.
86223         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
86224         optopt): Use them instead of invoking ## directly; otherwise, the
86225         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
86226
86227 2004-11-19  Bruno Haible  <bruno@clisp.org>
86228
86229         * lib/strtok_r.c: Move comments from here...
86230         * lib/strtok_r.h: ... to here.
86231
86232 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86233
86234         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
86235         implementations that mishandle size_t overflow.
86236
86237 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86238
86239         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
86240         might fail.  Problem reported by Yoann Vandoorselaere.
86241         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
86242         implementations that mishandle size_t overflow.
86243
86244 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86245
86246         * modules/canon-host (Depends-on): Add strdup.
86247
86248 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86249
86250         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
86251
86252 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86253
86254         * lib/canon-host.c: Include "strdup.h".
86255         (canon_host): Use getaddrinfo if available, so that IPv6 works.
86256         Use strdup instead of malloc/strcpy to duplicate strings.
86257
86258         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
86259         (human_space_before_unit): New constant.
86260         * lib/human.c (human_readable): Support it.
86261
86262         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
86263         (xgetcwd): Set errno correctly when failing.
86264         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
86265         the failure is actually due to a PATH_MAX problem.
86266
86267         Further getopt changes to make it more likely that glibc will
86268         buy the changes back.
86269         * lib/getopt.c (POSIXLY_CORRECT): New constant.
86270         (getopt): Use it, so to preserve glibc semantic
86271         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
86272         when compiling for libc.
86273         * lib/getopt_.h (__getopt_argv_const): Bring it back.
86274         (getopt_long, getopt_long_only): Use it.
86275
86276         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86277         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
86278         (getopt): Argv is now char * const *, as per standard.
86279         (_getopt_internal_r, _getopt_internal): Argv is now char **,
86280         not char *__getopt_argv_const *.
86281         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86282         _getopt_long_only_r): Likewise.
86283         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
86284         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86285         _getopt_long_r, _getopt_long_only_r): Likewise.
86286         * lib/getopt_.h (__getopt_argv_const): Remove.
86287         (getopt): Argv is now char * const *, as per standard.
86288
86289         * lib/getdate.y (tORDINAL): New token.
86290         (day, relunit): Allow it for relative times.
86291         (relative_time_table): Use tORDINAL for ordinals.
86292
86293 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86294
86295         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
86296         Document that "second" isn't allowed as an ordinal number.
86297
86298 2004-11-16  Jim Meyering  <jim@meyering.net>
86299
86300         * modules/closeout (Depends-on): Add fpending.
86301
86302 2004-11-15  Jim Meyering  <jim@meyering.net>
86303
86304         * lib/closeout.c: Include "__fpending.h" once again.
86305         Include <stdbool.h>.
86306         (close_stdout): Don't fail just because stdout was closed initially,
86307         since some programs don't write to stdout in the normal course of
86308         operation (other than --version and --help), and we don't want this
86309         function to make e.g. `touch file >&-' fail.
86310         But do fail if it was closed and someone has tried to write to it.
86311         E.g., `printf foo >&-' must fail.
86312
86313 2004-11-13  Jim Meyering  <jim@meyering.net>
86314
86315         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
86316
86317 2004-11-12  Simon Josefsson  <jas@extundo.com>
86318
86319         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
86320         small doc fix is still pending.
86321
86322 2004-11-11  Simon Josefsson  <jas@extundo.com>
86323
86324         * modules/strtok_r: New file.
86325
86326         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86327         strtok_r.
86328
86329 2004-11-11  Simon Josefsson  <jas@extundo.com>
86330
86331         * m4/strtok_r.m4: New file.
86332
86333         * m4/getopt.m4: Replace opterr.
86334
86335 2004-11-11  Simon Josefsson  <jas@extundo.com>
86336
86337         * lib/strtok_r.h, strtok_r.c: New file.
86338
86339 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86340
86341         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
86342         of replacing opterr, getopt, etc.  This should handle the
86343         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86344
86345 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86346
86347         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86348         we can stop lying to compilers about the constness of argv when we
86349         are compiled outside glibc.
86350         (getopt, getopt_long, getopt_long_only): Use it.
86351         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86352         _getopt_internal, getopt): Likewise.
86353         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86354         _getopt_long_only_r): Likewise.
86355         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86356         _getopt_long_r, _getopt_long_only_r): Likewise.
86357
86358         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86359         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86360         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86361         the other external symbols.
86362         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86363         declaration, since the above renaming now works around collisions.
86364
86365 2004-11-11  Jim Meyering  <jim@meyering.net>
86366
86367         * lib/linebreak.c: Remove trailing blanks.
86368         * lib/alloca_.h: Likewise.
86369         * lib/acosl.c: Likewise.
86370         * lib/euidaccess.c: Likewise.
86371         * lib/allocsa.h: Likewise.
86372
86373 2004-11-10  Simon Josefsson  <jas@extundo.com>
86374
86375         * m4/getaddrinfo.m4: New file.
86376
86377 2004-11-10  Simon Josefsson  <jas@extundo.com>
86378
86379         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86380
86381 2004-11-10  Simon Josefsson  <jas@extundo.com>
86382
86383         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86384         getaddrinfo.
86385
86386         * modules/getaddrinfo: New file.
86387
86388 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86389
86390         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86391
86392 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86393
86394         * lib/mktime.c (SHR): New macro, which is a portable
86395         substitute for >> that should work even on Crays.
86396         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86397         Problem reported by Mark D. Baushke in
86398         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86399         * lib/getdate.y (SHR): Likewise.
86400         (tm_diff): Use it.
86401         * lib/strftime.c (SHR): Likewise.
86402         (tm_diff): Use it.
86403         * lib/quotearg.c (struct quoting_options): Use unsigned int for
86404         quote_these_too, so that right shifts are well defined.  All uses
86405         changed.
86406
86407 2004-11-10  Jim Meyering  <jim@meyering.net>
86408
86409         Ensure that no close failure goes unreported.
86410         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
86411         return early when it seems there's nothing to flush.
86412         Don't include __fpending.h.
86413
86414 2004-11-10  Jim Meyering  <jim@meyering.net>
86415
86416         * modules/closeout (Depends-on): Remove fpending.
86417
86418 2004-11-10  Jim Meyering  <jim@meyering.net>
86419
86420         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
86421
86422 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86423
86424         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
86425         gl_FUNC_STRFTIME.
86426         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
86427         and AC_REQUIRE when possible, to avoid duplicate checks.
86428         Check for <wchar.h>.
86429
86430 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86431
86432         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
86433
86434 2004-11-09  Bruno Haible  <bruno@clisp.org>
86435
86436         * m4/sockpfaf.m4: New file.
86437
86438 2004-11-05  Bruno Haible  <bruno@clisp.org>
86439
86440         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
86441         Reported by Mark D. Baushke <mdb@cvshome.org>.
86442
86443 2004-11-04  Bruno Haible  <bruno@clisp.org>
86444
86445         2004-09-11  Bruno Haible  <bruno@clisp.org>
86446                 * allocsa.valgrind: New file.
86447         2004-02-06  Bruno Haible  <bruno@clisp.org>
86448                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
86449                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
86450                 Reported by Christopher Seip <chris.seip@hp.com>.
86451
86452 2004-11-04  Bruno Haible  <bruno@clisp.org>
86453
86454         * modules/allocsa (Files): Add lib/allocsa.valgrind.
86455         (Makefile.am): Distribute it.
86456
86457 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
86458
86459         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
86460         with errno == ERANGE if the buffer is too small.
86461         Problem reported by Mark D. Baushke.
86462
86463 2004-11-03  Albert Chin  <china@thewrittenword.com>
86464             Paul Eggert  <eggert@cs.ucla.edu>
86465
86466         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
86467         equivalent, substitute $ac_type for equivalent type rather than
86468         blindly using uint32_t *always* which won't work if uint32_t is not
86469         available.  Define _UINT32_T to work around typedef of uint32_t if
86470         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
86471         2.5.1.
86472
86473 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86474
86475         * m4/jm-macros.m4: Sync from coreutils.
86476         (gl_MACROS): Check for mbrlen, for pathchk.
86477         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
86478
86479 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86480
86481         * lib/xreadlink.c (MAXSIZE): New macro.
86482         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
86483         size does not exceed MAXSIZE.  Avoid cast.
86484         As suggested by Mark D. Baushke in
86485         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
86486         if readlink fails with buffer size just under MAXSIZE, try again
86487         with MAXSIZE.
86488
86489 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86490
86491         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
86492
86493 2004-11-02  Derek R. Price  <derek@ximbiot.com>
86494         and  Paul Eggert  <eggert@cs.ucla.edu>
86495
86496         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
86497         (get_date): Overparenthesize to avoid GCC warning.
86498
86499 2004-11-02  Bruno Haible  <bruno@clisp.org>
86500
86501         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
86502         returns void.
86503
86504 2004-11-02  Bruno Haible  <bruno@clisp.org>
86505
86506         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
86507         function returns void.
86508
86509 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86510
86511         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
86512         fflush_unlocked, flockfile, funlockfile, funlockfile,
86513         fputs_unlocked, putc_unlocked.
86514
86515 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86516
86517         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86518         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
86519         already declared.
86520
86521 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86522
86523         * modules/getdate (Files): Add doc/getdate.texi.
86524         (Depends-on): Add setenv, xalloc.
86525
86526 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86527
86528         * lib/getdate.y: Add support for TZ="foo" within a date string.
86529         Fix some bugs near time_t boundaries.  Reject dates with
86530         out-of-range components, e.g., "Sept 31".
86531         Include <stdlib.h>, "setenv.h", "xalloc.h".
86532         (ISDIGIT_LOCALE): Remove; unused.
86533         Note that the TZ and time functions used here are not reentrant.
86534         (mktime_ok, get_tz): New functions.
86535         (TZBUFSIZE): New constant.
86536         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
86537         This requires that we sometimes generate our own TZ="XXX..." setting.
86538
86539 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86540
86541         * doc/getdate.texi: New file, from coreutils with modifications for
86542         the new TZ parsing.
86543
86544 2004-10-27  Derek R. Price  <derek@ximbiot.com>
86545
86546         * lib/mktime.c (not_equal_tm): Remove redundant check.
86547
86548 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86549
86550         * modules/regex (lib_SOURCES): Add regex.c.
86551         Reported by James Youngman in
86552         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
86553
86554 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86555
86556         * lib/getdate.y: Use Bison 1.875 features, and some minor
86557         code cleanups.  This change does not affect semantics.
86558         Don't include <stdlib.h>; no longer needed.
86559         Don't include unlocked-io.h; only the "#if TEST" code uses
86560         stdio, and performance isn't crucial there.
86561         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
86562         Bison 1.875 features as described below.
86563         All uses of "PC." replaced by "pc->".
86564         (YYSTYPE): Add a forward declaration.
86565         (yylex, yyerror): Use full prototypes in forward decls.
86566         Use "%pure-parser" rather than obsolescent "%pure_parser".
86567         Use %parse-param and %lex-param instead of obsolescent
86568         YYPARSE_PARAM and YYLEX_PARAM.
86569         (meridian_table, month_and_day_table, time_units_table,
86570         relative_time_table, time_zone_table, military_table,
86571         lookup_zone, lookup_word, get_date):
86572         Use NULL instead of 0 where appropriate.
86573         (to_hour): Avoid abort (), to avoid a dependency on
86574         stdlib.h.
86575         (yyerror, yylex): Now accepts parser_control * arg.
86576         (main) [TEST]: Use '\0' rather than 0 for char.
86577
86578 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86579
86580         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
86581
86582 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86583
86584         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
86585         It's now the caller's responsibility to handle the case where
86586         !HAVE_GETPAGESIZE && !defined getpagesize.
86587
86588         * lib/mktime.c (leapyear): Arg is long int, not int.
86589
86590 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
86591
86592         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
86593
86594 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
86595
86596         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
86597         missing.  Problem reported by James Youngman.
86598
86599 2004-10-16  Simon Josefsson  <jas@extundo.com>
86600
86601         * gnulib-tool: Fix comments.  Fix parse problem.
86602         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
86603
86604 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
86605
86606         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
86607         implementation of getopt_long.  Problem reported by Alexander Taler in:
86608         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
86609
86610 2004-10-15  Bruno Haible  <bruno@clisp.org>
86611
86612         * gnulib-tool: Untabify. Initialize supplied_libname.
86613         (func_usage): More homogenous output.
86614         (func_modules_transitive_closure, func_modules_to_filelist,
86615         func_emit_lib_Makefile_am): New functions.
86616         (func_import): New function, extracted from big case statement. Use
86617         func_get_license, func_modules_transitive_closure,
86618         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
86619         opt_lgpl. Don't use test -a, as it's not portable.
86620         (func_create_testdir): Use func_modules_transitive_closure,
86621         func_modules_to_filelist, func_emit_lib_Makefile_am.
86622
86623 2004-10-15  Bruno Haible  <bruno@clisp.org>
86624
86625         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
86626
86627 2004-10-15  Bruno Haible  <bruno@clisp.org>
86628
86629         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
86630         the portions belonging to each module.
86631         Suggested by Derek Robert Price <derek@ximbiot.com>.
86632
86633 2004-10-12  Simon Josefsson  <jas@extundo.com>
86634
86635         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86636         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
86637         to real functions.
86638
86639 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86640
86641         * modules/vsnprintf: New file.
86642
86643 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86644
86645         * m4/vsnprintf.m4: New file.
86646
86647 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86648
86649         * lib/vsnprintf.h: New file.
86650         * lib/vsnprintf.c: New file.
86651
86652 2004-10-11  Bruno Haible  <bruno@clisp.org>
86653
86654         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
86655         vsnprintf.
86656
86657 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
86658
86659         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
86660
86661 2004-10-07  Bruno Haible  <bruno@clisp.org>
86662
86663         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
86664         fits into the provided buffer.
86665
86666 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
86667
86668         * lib/diacrit.c, diacrit.h: Add GPL notice.
86669
86670         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
86671         notice.
86672         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
86673         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
86674         This avoids a potential constant-folding bug.
86675
86676 2004-10-05  Bruno Haible  <bruno@clisp.org>
86677
86678         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
86679         for the declaration of strsep.
86680
86681 2004-10-05  Bruno Haible  <bruno@clisp.org>
86682
86683         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
86684
86685 2004-10-04  Simon Josefsson  <jas@extundo.com>
86686
86687         * modules/memmem: New file.
86688         * tests/test-memmem.c: New file.
86689         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
86690
86691 2004-10-04  Simon Josefsson  <jas@extundo.com>
86692
86693         * m4/memmem.m4: New file.
86694
86695 2004-10-04  Simon Josefsson  <jas@extundo.com>
86696
86697         * lib/memmem.h: New file.
86698         * lib/memmem.c: New file, taken from glibc.
86699
86700 2004-10-04  Simon Josefsson  <jas@extundo.com>
86701
86702         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
86703         '#ifdef USE_UNLOCKED_IO'.
86704
86705 2004-10-04  Simon Josefsson  <jas@extundo.com>
86706
86707         * config/srclist.txt: Add memmem from glibc.
86708
86709 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86710
86711         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
86712
86713         * modules/argmatch, modules/argp, modules/closeout, modules/error,
86714         modules/exclude, modules/getdate, modules/getline,
86715         modules/getndelim2, modules/getpass, modules/getpass-gnu,
86716         modules/getusershell, modules/linebuffer, modules/md5,
86717         modules/mountlist, modules/posixtm, modules/readtokens,
86718         modules/readutmp, modules/regex, modules/sha1,
86719         modules/version-etc, modules/yesno:
86720         Remove dependency on unlocked-io.
86721
86722 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86723
86724         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
86725
86726         * m4/unlocked-io.m4: Add copyright notice.
86727         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
86728
86729 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86730
86731         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
86732         * lib/xmalloc.c (xmemdup): Likewise.
86733         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
86734         XFREE): Remove these long-obsolescent macros.
86735         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
86736         * lib/xstrdup.c: Remove.
86737
86738         * lib/regex.c (re_comp): Cast gettext return value to char *,
86739         Problem reported by Martin Neitzel via Mark D. Baushke.
86740
86741 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86742
86743         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
86744         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
86745         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
86746         regex.c, sha1.c, version-etc.c, yesno.c:
86747         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
86748         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
86749         the includer's responsibility.
86750
86751         Sync from coreutils.
86752
86753         * lib/modechange.c (mode_compile): Don't decrement a pointer that
86754         points to the start of a string, as the C Standard says the
86755         resulting behavior is undefined.
86756
86757         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
86758         simple -> simple_backups, numbered_existing ->
86759         numbered_existing_backups, numbered -> numbered_backups
86760         to avoid shadowing problems.  All uses changed.
86761         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
86762         * lib/backupfile.c (check_extension, numbered_backup):
86763         Rename locals to avoid shadowing 'basename'.
86764         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
86765         once.
86766
86767         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86768         * lib/.cvsignore: Add getopt.h.
86769
86770 2004-10-04  Bruno Haible  <bruno@clisp.org>
86771
86772         * modules/README: New file.
86773         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86774         not a module.
86775
86776 2004-10-02  Jim Meyering  <jim@meyering.net>
86777
86778         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86779
86780 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86781
86782         * modules/strsep: New file.
86783
86784 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86785
86786         * m4/strsep.m4: New file.
86787
86788 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86789
86790         * lib/strsep.h: New file.
86791         * lib/strsep.c: New file.
86792
86793 2004-10-01  Simon Josefsson  <jas@extundo.com>
86794
86795         * lib/snprintf.c (snprintf): Handle size==0.
86796
86797 2004-10-01  Simon Josefsson  <jas@extundo.com>
86798             Bruno Haible  <bruno@clisp.org>
86799
86800         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86801         (snprintf): Declare 'args'.
86802
86803 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86804
86805         * lib/snprintf.c: Remove comments as to why each header is needed.
86806
86807 2004-10-01  Bruno Haible  <bruno@clisp.org>
86808
86809         * MODULES.html.sh: Add strsep.
86810
86811 2004-09-30  Simon Josefsson  <jas@extundo.com>
86812
86813         * modules/snprintf: New file.
86814
86815 2004-09-30  Simon Josefsson  <jas@extundo.com>
86816
86817         * m4/snprintf.m4: New file.
86818
86819 2004-09-30  Simon Josefsson  <jas@extundo.com>
86820
86821         * lib/snprintf.h, lib/snprintf.c: New files.
86822
86823 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86824
86825         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86826         (hol_entry_help): Never translate an empty string.
86827         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86828         * lib/argp.h (OPTION_NO_TRANS): New option.
86829
86830 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86831
86832         * modules/argp (Maintainer): Replace Simon Josefsson
86833         by Sergey Poznyakoff.
86834
86835 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86836
86837         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86838         changes merged back into glibc.
86839
86840 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86841
86842         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86843
86844 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86845
86846         * lib/xvasprintf.c: Include xalloc.h.
86847         (xvasprintf): Use xalloc_die, not xmalloc_die.
86848
86849 2004-09-29  Bruno Haible  <bruno@clisp.org>
86850
86851         * modules/alloca-opt: New file, derived from modules/alloca.
86852         * modules/allocsa: Depend on alloca-opt instead of alloca.
86853         * modules/setenv: Likewise.
86854         * modules/vasnprintf: Likewise.
86855         * MODULES.html.sh: Add alloca-opt.
86856
86857 2004-09-28  Simon Josefsson  <jas@extundo.com>
86858
86859         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86860         LGPL, and to replace license template from GPL to LGPL.
86861
86862 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86863
86864         * modules/dummy: Change license to LGPL.
86865
86866 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86867
86868         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86869
86870 2004-09-24  Simon Josefsson  <jas@extundo.com>
86871
86872         * modules/minmax (License): Change from GPL to LGPL.
86873
86874 2004-09-23  Simon Josefsson  <jas@extundo.com>
86875
86876         * gnulib-tool (--import): Typo.
86877
86878 2004-09-23  Simon Josefsson  <jas@extundo.com>
86879
86880         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86881
86882 2004-09-22  Bruno Haible  <bruno@clisp.org>
86883
86884         * modules/*: Add 'License' field.
86885         * gnulib-tool: Accept --extract-license option.
86886         (func_get_license): New function.
86887
86888 2004-09-21  Bruno Haible  <bruno@clisp.org>
86889
86890         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86891         Reported by Simon Josefsson.
86892
86893 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86894
86895         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86896         gl_AC_TYPE_LONG_LONG.
86897
86898 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86899
86900         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86901
86902 2004-09-18  Simon Josefsson  <jas@extundo.com>
86903         and  Paul Eggert  <eggert@cs.ucla.edu>
86904
86905         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86906         calls with autoreconf.  Define GL_LIB.
86907
86908 2004-09-14  Karl Berry  <karl@gnu.org>
86909
86910         * config/srclist.txt: unsync setenv.c, sigh.
86911
86912 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86913
86914         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86915         Problem reported by Bruno Haible in:
86916         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86917
86918 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86919
86920         * config/srclist.txt: Comment out argp-pvh.c.
86921
86922 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86923
86924         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86925         in case some system header has #define'd it.  Problem reported by
86926         Soeren D. Schulze in
86927         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86928
86929 2004-09-09  Karl Berry  <karl@gnu.org>
86930
86931         * regex.[ch]: delete from the root.  These were supposed to be
86932                 synced with emacs cvs, but this has not happened for about
86933                 a year, and anyway nothing else uses emacs regex.[ch].
86934                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86935                 lib/regex[.ch] is untouched.
86936
86937 2004-09-09  Bruno Haible  <bruno@clisp.org>
86938
86939         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
86940
86941 2004-09-09  Bruno Haible  <bruno@clisp.org>
86942
86943         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
86944         modifications.
86945         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
86946
86947 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86948
86949         * modules/xvasprintf: New file.
86950         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
86951
86952 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86953
86954         * lib/xvasprintf.h: New file.
86955         * lib/xvasprintf.c: New file.
86956         * lib/xasprintf.c: New file.
86957
86958 2004-09-08  Bruno Haible  <bruno@clisp.org>
86959
86960         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
86961
86962 2004-09-08  Bruno Haible  <bruno@clisp.org>
86963
86964         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
86965         length is > INT_MAX.
86966         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
86967         more.
86968
86969 2004-09-08  Bruno Haible  <bruno@clisp.org>
86970
86971         * lib/stdint_.h: New file, taken from GNU clisp.
86972
86973 2004-09-08  Bruno Haible  <bruno@clisp.org>
86974             Oskar Liljeblad  <oskar@osk.mine.nu>
86975
86976         * modules/stdint: New file.
86977         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
86978
86979 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86980
86981         Import from coreutils.
86982         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86983         strings on unbounded length.  alloca's performance benefits aren't
86984         that important here.
86985         (V_STRDUP): Remove.
86986         (parse_with_separator): New function, with most of the internals
86987         of the old parse_user_spec.  Allow user to omit both user and group,
86988         for compatibility with FreeBSD.
86989         Clone only the user name, not the entire spec.
86990         Do not set *uid, *gid unless entirely successful.
86991         Avoid memory leak in some failing cases.
86992         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86993         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86994         (parse_user_spec): Rewrite to use parse_with_separator.
86995
86996 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86997
86998         * modules/userspec: Don't depend on alloca.
86999
87000 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87001
87002         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
87003
87004 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87005
87006         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
87007         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
87008         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
87009
87010 2004-08-16  Simon Josefsson  <jas@extundo.com>
87011
87012         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
87013         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
87014         Add --dry-run for --import.
87015         Let user provided command line parameters override configure.ac
87016         settings.
87017
87018 2004-08-12  Simon Josefsson  <jas@extundo.com>
87019
87020         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
87021         as discussed with Paul Eggert in threads rooted at
87022         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
87023         and
87024         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
87025         Before, the test was empty, and relied on ELIDE_CODE in source
87026         code.)
87027         (gl_PREREQ_GETOPT): New macro.
87028         (gl_GETOPT): Use them.
87029
87030 2004-08-12  Simon Josefsson  <jas@extundo.com>
87031
87032         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
87033         * lib/getopt_.h: Renamed from getopt.h.
87034
87035 2004-08-12  Simon Josefsson  <jas@extundo.com>
87036
87037         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
87038         Change default library name from libfoo to libgnu.
87039         Now, if you have a configure.ac that says:
87040                 gl_SOURCE_BASE(gl)
87041                 gl_M4_BASE(gl/m4)
87042                 gl_MODULES(error getopt etcetera)
87043                 gl_INIT
87044         you can import all you need by running:
87045                 ../gnulib/gnulib-tool --import
87046
87047         * modules/getopt (Files): Rename getopt.h to getopt_.h.
87048         (Makefile.am): Rewrite, use logic from argz.
87049         (Include): Use <getopt.h> instead of "getopt.h".
87050
87051 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87052
87053         * modules/argp (Files): Add m4/unlocked-io.m4.
87054         (Depends-on): Add extensions.
87055
87056 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87057
87058         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
87059         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
87060         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
87061         Check for program_invocation_name, program_invocation_short_name,
87062         flockfile, funlockfile, features.h, _getopt_long_only_r.
87063
87064 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87065
87066         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
87067         its complicated substitute.
87068         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
87069         and program_invocation_name.
87070         (__argp_basename) [!_LIBC]: Remove; the only use was
87071         replaced by its body.
87072         (__argp_short_program_name): Change condition from
87073         !defined __argp_short_program_name to
87074         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
87075         to match argp-namefrob.h.
87076         (__argp_failure): Don't assume strerror_r returns char *.
87077         * lib/argp-parse.c (N_): Define unconditionally.
87078         (argp_default_options): Fill out initializers with 0 to avoid
87079         gcc warnings.
87080
87081 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87082
87083         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
87084         getopt1.c.
87085
87086 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87087
87088         Merge from coreutils.
87089
87090         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
87091
87092         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
87093         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
87094
87095 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87096
87097         Merge from coreutils.
87098
87099         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
87100         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
87101         for Reliant Unix 5.43.
87102
87103         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
87104         (union fooround): Use uintmax_t, not long int.
87105         The rest is a merge from libc:
87106         [defined _LIBC]: Include <shlib-compat.h>.
87107         (_obstack) [defined _LIBC]: Remove after 2.3.4.
87108
87109         * lib/settime.c (settime): Recode to avoid warning with
87110         Sun Forte C 6U2.
87111
87112         * lib/strverscmp.c: Convert to UTF-8.
87113
87114 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87115
87116         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
87117         m4/uintmax_t.m4.
87118
87119 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87120
87121         * modules/xalloc-die: New file.
87122         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
87123
87124         * modules/md5 (Files): Add m4/uint32_t.m4.
87125         * modules/sha1: Renamed from modules/sha.
87126         (Files):
87127         Rename lib/sha.h to lib/sha1.h.
87128         Rename lib/sha.c to lib/sha1.c.
87129         Rename m4/sha.m4 to m4/sha1.m4.
87130         (lib_SOURCES): Likewise.
87131         (configure.ac): Rename gl_SHA to gl_SHA1.
87132         (Include): sha.h -> sha1.h.
87133
87134 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87135
87136         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
87137         * m4/sha1.m4: Renamed from sha.m4.
87138         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
87139
87140 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87141
87142         * lib/obstack.h (obstack_empty_p):
87143         Don't assume that chunk->contents is suitably aligned.
87144         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
87145         Likewise. Problem reported by Benno in
87146         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
87147
87148         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
87149         readable.  This could be improved further but it'd take some work.
87150
87151 2004-08-08  Simon Josefsson  <jas@extundo.com>
87152
87153         * modules/xgethostname (Depends-on): Remove exit and error (not
87154         used).
87155
87156         * modules/getpass-gnu: Add getpass.h.
87157         (Depends-on): Add stdbool.
87158         * modules/getpass: Add getpass.h.
87159
87160 2004-08-08  Simon Josefsson  <jas@extundo.com>
87161
87162         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
87163         Check getpass declaration.
87164
87165 2004-08-08  Simon Josefsson  <jas@extundo.com>
87166
87167         * lib/xgethostname.c: Don't include error.h (not used).
87168
87169         * lib/getpass.h: Add.
87170         * lib/getpass.c: Include getpass.h first.
87171
87172 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
87173
87174         * lib/xalloc-die.c: New file.
87175         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
87176         All uses removed.
87177         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
87178         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
87179         xalloc-die.c.
87180         (_, N_, xalloc_die): Move to xalloc-die.c.
87181         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
87182         so that we needn't mess with xalloc_msg_memory_exhausted.
87183
87184         * lib/sha1.h: Renamed from sha.h.
87185         (SHA1_H): Renamed from _SHA_H.
87186         (sha1_ctx): Renamed from sha_ctx.
87187         (sha1_init_ctx): Renamed from sha_init_ctx.
87188         (sha1_process_block): Renamed from sha_process_block.
87189         (sha1_process_bytes): Renamed from sha_process_bytes.
87190         (sha1_finish_ctx): Renamed from sha_finish_ctx.
87191         (sha1_read_ctx): Renamed from sha_read_ctx.
87192         (sha1_stream): Renamed from sha_stream.
87193         (sha1_buffer): Renamed from sha_buffer.
87194         * lib/sha1.c: Likewise; renamed from sha.c.
87195         Do not include <sys/types.h>.
87196         Include <stddef.h> rather than <stdlib.h>.
87197
87198 2004-08-08  Bruno Haible  <bruno@clisp.org>
87199
87200         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
87201         FILESYSTEM_PREFIX_LEN.
87202         * lib/progreloc.c: Likewise.
87203         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
87204
87205 2004-08-06  Simon Josefsson  <jas@extundo.com>
87206
87207         * modules/progname (Depends-on): Don't depend on stdbool.
87208
87209 2004-08-06  Simon Josefsson  <jas@extundo.com>
87210
87211         * modules/getsubopt: New file.
87212         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87213         getsubopt.
87214
87215 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87216
87217         More merge from coreutils.
87218
87219         * m4/utimens.m4, m4/utimecmp.m4: New files.
87220         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
87221         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
87222         prereq.m4, sha.m4: Import changes from coreutils.
87223
87224 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87225
87226         More merge from coreutils.
87227         * modules/raise, modules/readtokens0, modules/utimens:
87228         * modules/utimecmp, module/xnanosleep: New files.
87229         * modules/strftime: Add lib/strftime.h.
87230         Change include from <time.h> to "strftime.h".
87231         * modules/yesno: Add lib/yesno.h.
87232         * modules/backupfile: Remove lib/addext.c.
87233         * modules/euidaccess: Add stat-macros.h.
87234         * modules/canonicalize, modules/euidaccess,
87235         modules/filemode, modules/lchown, modules/makepath,
87236         modules/rmdir, modules/stat: Likewise.
87237
87238 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87239
87240         Merge from tar.
87241         * lib/argp-help.c (make_hol, hol_append): Don't assume that
87242         SIZE_MAX is a valid preprocessor constant.
87243         (__argp_basename): Change from "#ifndef _LIBC"
87244         to "#ifndef __argp_short_program_name", so that
87245         we don't compile these functions for tar.
87246
87247         More merges from coreutils.
87248         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
87249         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
87250         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
87251         * lib/addext.c: Remove; no longer needed.
87252         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
87253         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
87254         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
87255         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
87256         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
87257         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
87258         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
87259         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
87260         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
87261         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87262         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
87263         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
87264         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
87265         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
87266         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
87267         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
87268         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
87269         Import changes from coreutils.
87270
87271 2004-08-05  Simon Josefsson  <jas@extundo.com>
87272
87273         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
87274
87275 2004-08-05  Simon Josefsson  <jas@extundo.com>
87276
87277         * m4/getsubopt.m4: New file.
87278
87279 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87280
87281         Merge from coreutils.
87282
87283         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
87284         * m4/getcwd-path-max.m4: New files.
87285
87286         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
87287         FILESYSTEM_PREFIX_LEN ->
87288         FILE_SYSTEM_PREFIX_LEN.
87289         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
87290         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
87291         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
87292         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
87293
87294         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
87295         prerequisite modules now handle the DOS stuff.
87296         Don't check for unistd.h.
87297
87298 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87299
87300         Merge from coreutils.
87301
87302         * lib/.gdb-history: Remove; this doesn't belong here.
87303
87304         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
87305         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
87306         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
87307         * lib/getcwd.c: New files.
87308
87309         * lib/dirname.h: Include <stdbool.h>.
87310         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
87311         for consistency with POSIX terminology.  All uses changed.
87312         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
87313         (strip_trailing_slashes): Use bool for booleans.
87314         * lib/stripslash.c (strip_trailing_slashes): Likewise.
87315
87316         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
87317         sometimes returns a positive errno value even when it succeeds.
87318         (print_errno_message) [!LIBC]: Fall back on strerror if
87319         __strerror_r fails.
87320
87321         * lib/path-concat.c (mempcpy): Don't define if a system header defines
87322         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
87323         (longest_relative_suffix): New function.
87324         (path_concat): Use it.  Assume first argument is not NULL.
87325         Port to DOS.  Omit redundant separators.
87326         Report an error instead of returning NULL.
87327         Use mempcpy instead of memcpy.
87328         (xpath_concat): Remove: not declared or used.
87329
87330         * lib/same.h: Include <stdbool.h>
87331         (same_name): Return bool, not int.
87332         * lib/same.c (same_name): Likewise.
87333         (errno): Don't declare; we assume C89 or better now.
87334
87335         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
87336         if not already defined.
87337
87338         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
87339         * lib/dup-safer.c (errno): Likewise.
87340
87341 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87342
87343         Merge from coreutils.
87344         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87345         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87346         * modules/path-concat: Don't depend on strdup.
87347
87348 2004-08-03  Simon Josefsson  <jas@extundo.com>
87349
87350         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87351         * lib/progname.h: Don't include stdbool.h.
87352
87353 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87354
87355         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87356         * MODULES.html.sh (func_all_modules): Remove fatal.
87357
87358 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87359
87360         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87361
87362 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87363
87364         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87365         working.
87366
87367 2004-08-02  Simon Josefsson  <jas@extundo.com>
87368
87369         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87370         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87371         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87372
87373 2004-08-01  Simon Josefsson  <jas@extundo.com>
87374
87375         * lib/xgetdomainname.c: Include stdlib.h, for free().
87376
87377 2004-07-19  Bruno Haible  <bruno@clisp.org>
87378
87379         * MODULES.html.sh (func_all_modules): Add dummy.
87380
87381 2004-07-16  Simon Josefsson  <jas@extundo.com>
87382
87383         * modules/dummy: New file.
87384
87385 2004-07-16  Simon Josefsson  <jas@extundo.com>
87386
87387         * lib/dummy.c: New file.
87388
87389 2004-07-16  Bruno Haible  <bruno@clisp.org>
87390
87391         * lib/backupfile.h: Add extern "C" for C++.
87392         * lib/closeout.h: Likewise.
87393         * lib/copy-file.h: Likewise.
87394         * lib/findprog.h: Likewise.
87395         * lib/full-write.h: Likewise.
87396         * lib/pathname.h: Likewise.
87397         * lib/progname.h: Likewise.
87398         * lib/stpcpy.h: Likewise.
87399         * lib/stpncpy.h: Likewise.
87400         * lib/strcase.h: Likewise.
87401         * lib/strstr.h: Likewise.
87402         * lib/xalloc.h: Likewise.
87403
87404         * lib/mbswidth.h: Add extern "C" for C++.
87405         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
87406
87407 2004-07-13  Robert Millan  <robertmh@gnu.org>
87408
87409         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
87410
87411 2004-07-09  Simon Josefsson  <jas@extundo.com>
87412
87413         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
87414         failed without this.)
87415
87416 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87417
87418         * modules/chown (Files): Add lib/fchown-stub.c, since
87419         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
87420
87421 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87422
87423         * lib/fchown-stub.c: New file.
87424
87425 2004-06-24  Jim Meyering  <jim@meyering.net>
87426
87427         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
87428
87429 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87430
87431         * modules/argz: Omit "#include".
87432
87433         * MODULES.html.sh (func_all_modules): Add calloc, to match
87434         2004-06-01 addition of calloc module.
87435
87436 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87437
87438         * m4/argz.m4: New file, which is autoupdated from libtool.
87439
87440 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87441
87442         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
87443         libtool.
87444
87445 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87446
87447         * config/srclist-update: Don't insist on "USA." before the
87448         close-comment, as libtool omits the period and puts the */ on a
87449         separate line.
87450         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
87451         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
87452
87453 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
87454
87455         * modules/argz: New file.
87456         * MODULES.html.sh (func_all_modules): Add argz.
87457
87458 2004-06-12  Jim Meyering  <jim@meyering.net>
87459         and  Paul Eggert  <eggert@cs.ucla.edu>
87460
87461         * modules/hash (Files): Add lib/xalloc.h.
87462         * modules/pipe (Depends-on): Add wait-process.
87463         * modules/stat (Depends-on): Add xalloc.
87464         * modules/userspec (Files): Add lib/userspec.h.
87465         * modules/xstrto
87466
87467         Upgrade from gettext-0.13.
87468         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
87469         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
87470         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
87471
87472 2004-06-10  Jim Meyering  <jim@meyering.net>
87473
87474         * lib/calloc.c: New file.
87475
87476 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87477
87478         * lib/getdate.y (yylex): Allow space between sign and number.
87479         Problem reported by Dan Jacobson.
87480
87481 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87482
87483         Merge from coreutils CVS.
87484
87485         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
87486         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
87487         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
87488         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
87489         xstrtol.m4: Fix copyright date and/or serial number.
87490
87491         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
87492         See if we need an fchown replacement.
87493         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
87494         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
87495         and use the replacement function if we detect either defect.
87496
87497         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
87498         gl_UTIMECMP.
87499
87500 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87501         and  Jim Meyering  <jim@meyering.net>
87502
87503         Merge from coreutils CVS.
87504
87505         * lib/stat-macros.h: New file, with contents from file-type.h
87506         and coreutils' system.h.
87507         * lib/file-type.c: Include "stat-macros.h".
87508         * lib/file-type.h (file_type): Move all macro definitions to new file,
87509         stat-macros.h.
87510
87511         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
87512         Wrap old code with this conditional.
87513         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
87514         function that does not dereference symlinks.
87515         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
87516
87517         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
87518         dependency problems.
87519         (xreadlink): Accept new arg SIZE, for efficiency.
87520         All decls and uses changed.
87521         * lib/xreadlink.h: Include <stddef.h>, for size_t.
87522
87523         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
87524         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
87525
87526         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
87527         sysexits.h.
87528
87529 2004-06-01  Jim Meyering  <jim@meyering.net>
87530
87531         * m4/calloc.m4: New file.
87532
87533 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
87534
87535         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
87536         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
87537         Also, fix a typo in a diagnostic.
87538
87539 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87540
87541         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
87542         or AC_FUNC_REALLOC.
87543
87544 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87545
87546         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
87547         macros to be defined.
87548         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
87549         the allocator returns NULL because the requested size is zero.
87550
87551 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87552
87553         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
87554         var.  Add comment explaining why libc still defines it.  This
87555         merges the following patch from glibc:
87556         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
87557
87558 2004-05-20  Andreas Schwab  <schwab@suse.de>
87559
87560         * m4/free.m4: Replace free if it not known to work, not the other
87561         way round.
87562
87563 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
87564
87565         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
87566         present in glibc since revision 1.1 of this file.
87567         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
87568         obstack_alignment_mask, obstack_alloc, obstack_base,
87569         obstack_blank, obstack_blank_fast, obstack_chunk_size,
87570         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
87571         obstack_grow0, obstack_init, obstack_int_grow,
87572         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
87573         obstack_next_free, obstack_object_size, obstack_ptr_grow,
87574         obstack_ptr_grow_fast, obstack_room): Remove declarations of
87575         nonexistent functions.
87576
87577 2004-05-18  Karl Berry  <karl@gnu.org>
87578
87579         * config/srclist.txt: break link for vasnprintf.c.
87580
87581 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87582
87583         Port obstack to the AS/400, where pointers are 16 bytes wide and
87584         you cannot cast an integer to a valid pointer.  This patch is
87585         currently waiting to be integrated into glibc; see
87586         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
87587
87588         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
87589         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
87590         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
87591         (struct obstack): temp member is now a union of a pointer and
87592         an integer, instead of an integer.  All integer uses changed.
87593         This does not affect the physical layout of struct obstack,
87594         except on hosts (like the AS/400) where the size or alignment of
87595         void * is greater than that of ptrdiff_t.
87596         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
87597         __STDC__)]: Store temporary in pointer member of union, not
87598         integer member.
87599         * lib/obstack.c: Include <stddef.h>, for offsetof.
87600         (struct fooalign): Remove; it doesn't need a name.
87601         (union fooround): Change double to long double, and add void *.
87602         (DEFAULT_ALIGNMENT): Use offsetof to compute.
87603         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
87604         not a macro.  Hence the values are always int; so remove all
87605         casts-to-int in uses.
87606
87607 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87608
87609         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
87610         we can get this patch merged into glibc.
87611
87612 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87613             Paul Eggert  <eggert@cs.ucla.edu>
87614
87615         * m4/argp: Depend on alloca.
87616
87617 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87618             Paul Eggert  <eggert@cs.ucla.edu>
87619
87620         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
87621         freecoding.
87622
87623 2004-05-17  Bruno Haible  <bruno@clisp.org>
87624
87625         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
87626         precision that consists of a '.' followed by an empty digit string.
87627         Patch by Tor Lillqvist <tml@iki.fi>.
87628
87629 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87630
87631         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
87632         for backward compatibility with older code.  We need our own
87633         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
87634         it under some other name, and our alloca.h will define it.
87635
87636 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87637             Derek Price  <derek@ximbiot.com>
87638
87639         * lib/alloca.c: Include <alloca.h>, to get our interface.
87640         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
87641         include <alloca.h> first.  Use C89 prototype for alloca; this
87642         requires including <stddef.h> for size_t.  Use extern "C" if C++.
87643         Use #elif for simplicity, since we can assume C89 now.
87644         Don't try to source the system alloca.h since it will not be found
87645         and to prevent recursively including its replacement.
87646         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
87647         * lib/regex.c: Likewise.
87648
87649 2004-05-16  Derek Price  <derek@ximbiot.com>
87650             Paul Eggert  <eggert@cs.ucla.edu>
87651
87652         getline cleanup.  This changes the getndelim2 API: both order of
87653         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
87654         no delimiter).
87655
87656         * lib/getline.c: Don't include stddef.h or stdio.h, since our
87657         interface does that.
87658         (getline): Always use getdelim, so that we don't have two
87659         copies of this code.
87660         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
87661         if available.
87662         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
87663         (GETNDELIM2_MAXIMUM): New macro.
87664         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
87665         instead of the old practice of delim2==0.  All callers changed.
87666         Return -1 on overflow, instead of returning junk.
87667         Do not set *linesize unless allocation succeeds.
87668         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
87669         that we include sys/types.h.
87670         * lib/getnline.h: Likewise.
87671         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
87672         (getndelim2): Reorder arguments.
87673         * lib/getnline.c (getnline, getndelim):
87674         Don't discard the NMAX argument.
87675         (getnline): Invoke getndelim, to avoid code duplication.
87676         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
87677         of (size_t) -1 by callers of the getnline family.
87678
87679 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87680
87681         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
87682         Check for gettimeofday.
87683         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
87684         Check for settimeofday, stime.
87685
87686 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87687
87688         * lib/nanosleep.c (suspended): Change its type from int to
87689         sig_atomic_t volatile.
87690         (first_call): Make it private to rpl_nanosleep, and have it
87691         be zero initially as that's a bit faster.
87692         (my_usleep): Round up fractional times instead of truncating them,
87693         as this is the usual meaning for 'sleep'.
87694
87695         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
87696         doesn't work.
87697         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
87698         (ENOSYS): Define if not defined.
87699         (settime): Fall back on stime if it exists and settimeofday fails.
87700         But don't bother with fallbacks if a method fails with errno == EPERM.
87701
87702 2004-05-11  Jim Meyering  <jim@meyering.net>
87703
87704         Prior to this change, the save_cwd caller required read access to the
87705         current directory on most systems (ones with the fchdir function).
87706
87707         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
87708         fails, try write-only, and finally, resort to using xgetcwd.
87709
87710 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87711
87712         * lib/obstack.c, obstack.h: Import changes from libc.
87713
87714 2004-04-28  Bruno Haible  <bruno@clisp.org>
87715
87716         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
87717         also implicitly appends .exe to executables.
87718         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
87719         accepts Windows pathnames.
87720         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87721         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87722         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87723         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87724         Reported by Derek Robert Price <derek@ximbiot.com>.
87725
87726 2004-04-21  Karl Berry  <karl@gnu.org>
87727
87728         * config/srclist.txt (localcharset.c): break sync.
87729
87730 2004-04-20  Paul Eggert  <eggert@twinsun.com>
87731
87732         * m4/host-os.m4: Add a copyright notice.
87733
87734 2004-04-20  Jim Meyering  <jim@meyering.net>
87735
87736         Change UTILS_ to gl_ in AC_DEFINE'd names.
87737         Change utils_- and jm_-prefixed variables, too.
87738         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
87739         UTILS_FUNC_MKDIR_TRAILING_SLASH.
87740         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
87741
87742         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
87743         Don't emit trailing blanks.
87744         Also rename jm_-prefixed variables to have gl_ prefix.
87745
87746         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
87747         Also rename jm_-prefixed variables to have gl_ prefix.
87748
87749         * m4/jm-macros.m4: Reflect the renamings.
87750         * m4/prereq.m4: Likewise.
87751
87752 2004-04-20  Jim Meyering  <jim@meyering.net>
87753
87754         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
87755         memory.
87756
87757 2004-04-20  Jim Meyering  <jim@meyering.net>
87758             Bruno Haible  <bruno@clisp.org>
87759
87760         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
87761         memory when realloc fails.
87762
87763 2004-04-19  Jim Meyering  <jim@meyering.net>
87764
87765         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
87766         now that readutmp.c may call `free (0)'.
87767
87768 2004-04-19  Bruno Haible  <bruno@clisp.org>
87769
87770         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87771         * m4/inttypes_h.m4: Likewise.
87772         * m4/stdint_h.m4: Likewise.
87773         * m4/intmax_t.m4: Likewise.
87774         * m4/uintmax_t.m4: Likewise.
87775
87776 2004-04-18  Jim Meyering  <jim@meyering.net>
87777
87778         * m4/prereq.m4: Don't forbid jm_ prefix.
87779
87780         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87781         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87782         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87783         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87784         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87785         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87786         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87787         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87788         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87789         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87790         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87791         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87792         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87793         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87794         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87795         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87796         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87797         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87798         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87799
87800 2004-04-18  Jim Meyering  <jim@meyering.net>
87801
87802         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87803         failure, don't leak memory and do call END_UTMP_ENT.
87804
87805 2004-04-16  Jim Meyering  <jim@meyering.net>
87806
87807         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87808         coreutils' stat program.
87809         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87810
87811 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87812
87813         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87814         C89.
87815         (CHAR_BIT): Remove, since we assume C89.
87816         Include <stdint.h> if available, as per current Autoconf CVS advice.
87817
87818 2004-03-31  Jim Meyering  <jim@meyering.net>
87819
87820         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87821         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87822         * m4/xalloc.m4: Likewise.
87823
87824 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87825
87826         Merge from coreutils.
87827
87828         * m4/inttostr.m4: New file.
87829         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87830         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87831         Require gl_CLOCK_TIME.
87832         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87833
87834 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87835
87836         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87837         not bool, to be more consistent with Unix conventions.
87838         Suggested by Bruno Haible.
87839
87840         Merge from coreutils.
87841
87842         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87843         * lib/umaxtostr.c: New files.
87844
87845         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87846         the usual <time.h> dance.
87847         (get_date): Change signature to support fractional time stamps.
87848         All callers changed.
87849         * lib/getdate.y: Include "getdate.h" first, as we can now
87850         assume C89 and don't need to worry about 'const'.
87851         Similarly, include "unlocked-io.h" near start, not in middle.
87852         Include <limits.h>.
87853         (textint.value): Use long int rather than int.
87854         (textint.digits): Use size_t rather than int.
87855         (BILLION, LOG10_BILLION): New constants.
87856         (parser_control): New member rel_ns.  Members day_ordinal,
87857         time_zone, month, day, hour, minutes, rel_year, rel_month,
87858         rel_day, rel_hour, rel_minutes, rel_seconds
87859         are now long int, not int.  Member seconds is now struct timespec,
87860         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87861         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87862         not int.
87863         (%union.intval): Now long int, not int.
87864         New member timespec.
87865         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87866         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87867         (spec): Now is a timespec or an item list.
87868         (timespec, items): New nonterminals.
87869         (time, rel, relunit, number, get_date):
87870         Add support for fractional seconds.
87871         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87872         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87873         (to_hour): First arg is now long int, not int.
87874         (to_year): Returns long int, not int.
87875         Don't treat year -70 like 70.
87876         (tm_diff): Returns long int, not int.
87877         (lookup_word): Use bool instead of int when appropriate.
87878         (yylex): Use size_t for count, not int.
87879         Detect overflow when parsing large integer constants.
87880         Add support for fractions.
87881         (get_date): Make pointers 'const' if possible.
87882         Use more-portable code to detect integer overflow.
87883         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87884         Don't use ctime; it's not reliable if the year has >4 digits.
87885
87886         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87887         This is for compatibility with BSD.
87888
87889         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87890         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87891         From coreutils' system.h.
87892
87893         * lib/userspec.c: Don't include "posixver.h".
87894         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87895         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87896         compatible extension.  Simplify code by removing a boolean int
87897         that was always nonzero if a string was nonnull.
87898
87899 2004-03-30  Jim Meyering  <jim@meyering.net>
87900
87901         Merge from coreutils.
87902
87903         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87904         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87905         on some systems one must include <grp.h> before it.
87906         Reported by Christian Krackowizer.
87907
87908 2004-03-30  Jim Meyering  <jim@meyering.net>
87909
87910         Merge from coreutils.
87911
87912         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87913
87914         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87915         an empty input stream.
87916
87917         * lib/readtokens.c: Include <stdbool.h>.
87918         (readtoken): Use `size_t' rather than int/long.
87919         All callers adjusted.
87920         Use `bool' rather than `int' where appropriate.
87921         Use memset rather than an explicit loop.
87922         Use x2nrealloc rather than xrealloc.
87923         Allow the use of `\0' as a delimiter.
87924         (readtokens): Likewise.
87925         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87926
87927 2004-03-30  Jim Meyering  <jim@meyering.net>
87928
87929         * m4/realloc.m4: Remove file, since now it does no more than
87930         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87931         the `configure.ac' section of module/realloc.
87932         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87933
87934 2004-03-30  Bruno Haible  <bruno@clisp.org>
87935
87936         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87937         nonnull.
87938
87939 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87940
87941         Merge changes to getloadavg.c from coreutils and Emacs.
87942
87943         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
87944         Define to an expression, not to the empty string.
87945         Include cloexec.h and xalloc.h.
87946         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
87947         Use set_cloexec_flag rather than rolling our own.
87948         * lib/cloexec.c, lib/cloexec.h: New files.
87949
87950 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87951
87952         * m4/cloexec.m4: New file.
87953
87954 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87955
87956         * lib/getopt.h: Sync with libc CVS.
87957
87958 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87959             Bruno Haible  <bruno@clisp.org>
87960
87961         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
87962         mbswidth.
87963
87964 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87965             Bruno Haible  <bruno@clisp.org>
87966
87967         * lib/mbswidth.h: Include <wchar.h> only if
87968         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
87969         <wchar.h>.
87970         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
87971
87972 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87973
87974         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
87975         Sync with libc CVS.
87976         * lib/getopt_int.h: New file, also synced from libc.
87977
87978 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87979
87980         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87981         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87982         Bring back getopt.c, getopt.h, getopt1.c.
87983
87984 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87985
87986         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87987         All uses changed.  Check for sa_sigaction member; this fixes
87988         a bug first reported by Jason Andrade in
87989         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87990
87991 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87992
87993         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87994         '#if' expressions.  Unlike the code it replaces, it does not
87995         depend on (defined _SC_PAGESIZE).  However, it does depend on
87996         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87997         first reported by Jason Andrade in
87998         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87999
88000 2004-02-25  Simon Josefsson  <jas@extundo.com>
88001
88002         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
88003
88004 2004-02-25  Simon Josefsson  <jas@extundo.com>
88005
88006         * lib/strdup.h: New file.
88007         * lib/strdup.c: Include it.
88008         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
88009         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
88010
88011 2004-02-23  Karl Berry  <karl@gnu.org>
88012
88013         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
88014         (from fencepost.gnu.org:/gd/gnuorg).
88015
88016 2004-02-23  Karl Berry  <karl@gnu.org>
88017
88018         * config/srclistvars.sh (GNUORG) [karl]: redefine.
88019         * config/srclist.txt: add maintain/standards documents.
88020
88021 2004-02-18  Bruno Haible  <bruno@clisp.org>
88022
88023         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
88024         Reported by Derek Robert Price <derek@ximbiot.com>.
88025
88026 2004-02-16  Karl Berry  <karl@gnu.org>
88027
88028         * config/mkinstalldirs, install-sh: update from automake.
88029
88030 2004-02-06  Karl Berry  <karl@gnu.org>
88031
88032         * m4/po.m4: update from gettext 0.14.1.
88033
88034 2004-02-06  Karl Berry  <karl@gnu.org>
88035
88036         * lib/config.charset: update from gettext 0.14.1.
88037
88038 2004-02-05  Paul Eggert  <eggert@twinsun.com>
88039
88040         Add comments and code, prompted by suggestions from Bruno Haible
88041         for sh-quote.
88042         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
88043         describing the enum quoting_style values.
88044         * lib/quotearg.c (quotearg_alloc): New function.
88045         (quotearg_buffer_restyled): Treat lone { and } as special.
88046         Treat = as special.  Work around bug with older shells
88047         that "see" a '\' that is really the 2nd byte of a multibyte char.
88048         Quote empty string with shell_quoting_style.
88049
88050 2004-02-03  Bruno Haible  <bruno@clisp.org>
88051
88052         * m4/pipe.m4: New file, from GNU gettext.
88053
88054 2004-02-03  Bruno Haible  <bruno@clisp.org>
88055
88056         * lib/pipe.h: New file, from GNU gettext.
88057         * lib/pipe.c: New file, from GNU gettext.
88058
88059 2004-01-27  Bruno Haible  <bruno@clisp.org>
88060
88061         * m4/execute.m4: New file, from GNU gettext.
88062
88063 2004-01-27  Bruno Haible  <bruno@clisp.org>
88064
88065         * lib/execute.h: New file, from GNU gettext.
88066         * lib/execute.c: New file, from GNU gettext.
88067         * lib/w32spawn.h: New file, from GNU gettext.
88068
88069 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88070
88071         Merge from diffutils.
88072
88073         * lib/file-type.c (file_type): Add typed memory objects.
88074         * lib/file-type.h (S_TYPEISTMO): New macro.
88075
88076         * lib/c-stack.h (c_stack_action): Remove argv argument.
88077         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
88078         (die): Don't calculate message unless segv_action returns.
88079         (get_stack_location, min_address_from_argv, max_address_from_argv,
88080         volatile stack_base, volatile_stack_size): Remove.
88081         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
88082         that every segmentation violation is a stack overflow.  (Ouch!)
88083         See Debian bug 136249 (still outstanding) for more info about why
88084         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
88085
88086 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88087
88088         Exit-status fix from coreutils.
88089
88090         Use exit_failure consistently in place of EXIT_FAILURE,
88091         so that program exit statuses are consistent on failure.
88092
88093         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
88094         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
88095         * lib/argmatch.h: Comment fix to match the above.
88096         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
88097         Now a macro referring to exit_failure, instead of a separate
88098         variable.  Include "exitfail.h" to get it.
88099         * lib/xstrtol.h: Include "exitfail.h".
88100         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
88101
88102         * lib/long-options.c (parse_long_options): Use prototype
88103         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
88104         for clarity.
88105
88106 2004-01-21  Jim Meyering  <jim@meyering.net>
88107
88108         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
88109         so as not to conflict with a different-sized __mktime_internal
88110         function in GNU libc.
88111         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
88112         Problem building statically-linked `ls' reported by Michael Brunnbauer.
88113
88114 2004-01-20  Karl Berry  <karl@gnu.org>
88115
88116         * config/config.guess: update from config.
88117
88118         * config/srclistvars.sh: GNUWWWLICENSES for karl.
88119
88120 2004-01-20  Bruno Haible  <bruno@clisp.org>
88121
88122         Safer stack allocation.
88123         * lib/setenv.c: Include allocsa.h.
88124         (alloca): Remove fallback definition.
88125         (freea): Remove macro.
88126         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
88127         instead of freea.
88128
88129 2004-01-20  Bruno Haible  <bruno@clisp.org>
88130
88131         * m4/eealloc.m4: New file, from GNU gettext.
88132
88133 2004-01-20  Bruno Haible  <bruno@clisp.org>
88134
88135         * m4/allocsa.m4: New file, from GNU gettext.
88136
88137 2004-01-20  Bruno Haible  <bruno@clisp.org>
88138
88139         * lib/xallocsa.h: New file, from GNU gettext.
88140         * lib/xallocsa.c: New file, from GNU gettext.
88141
88142 2004-01-20  Bruno Haible  <bruno@clisp.org>
88143
88144         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
88145
88146 2004-01-20  Bruno Haible  <bruno@clisp.org>
88147
88148         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
88149         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
88150         specially.
88151
88152 2004-01-20  Bruno Haible  <bruno@clisp.org>
88153
88154         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
88155         patch.
88156
88157 2004-01-20  Bruno Haible  <bruno@clisp.org>
88158
88159         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
88160
88161 2004-01-20  Bruno Haible  <bruno@clisp.org>
88162
88163         * lib/eealloc.h: New file.
88164
88165 2004-01-20  Bruno Haible  <bruno@clisp.org>
88166
88167         * lib/binary-io.h: Avoid warnings on Cygwin.
88168
88169 2004-01-20  Bruno Haible  <bruno@clisp.org>
88170
88171         * lib/allocsa.h: New file, from GNU gettext.
88172         * lib/allocsa.c: New file, from GNU gettext.
88173
88174 2004-01-18  Karl Berry  <karl@gnu.org>
88175
88176         * doc/gpl.texi, doc/lgpl.texi: new files.
88177
88178 2004-01-18  Karl Berry  <karl@gnu.org>
88179
88180         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
88181         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
88182
88183 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88184
88185         Merge from coreutils.
88186
88187         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
88188         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
88189         (gl_DEFAULT_POSIX2_VERSION): Move
88190         the documentation from 'configure' into 'config.hin',
88191         so that 'configure --help' isn't burdened by it and
88192         we don't have to worry about its formatting there.
88193         Reword the documentation so that it's more succinct
88194         and can be run together into a single paragraph.
88195         * m4/same.m4 (gl_SAME): Check for pathconf.
88196
88197 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88198
88199         Merge from coreutils.
88200
88201         * lib/posixver.c: Include posixver.h.
88202
88203         * lib/same.c: Include <stdbool.h>, <limits.h>.
88204         (_POSIX_NAME_MAX): Define if not defined.
88205         (MIN): New macro.
88206         (same_name): If file names are silently truncated, report
88207         that the file names are the same if they are the same after
88208         the silent truncation.
88209
88210         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
88211         conversion function.
88212         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
88213         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
88214         longer needed.
88215
88216 2004-01-15  Jim Meyering  <jim@meyering.net>
88217
88218         Merge from coreutils.
88219
88220         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
88221         if no library is required.
88222         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
88223         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
88224         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
88225         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
88226         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
88227         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
88228         value, $ac_cv_search_crypt, if it's "none required".
88229         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
88230         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
88231         not gl_FUNC_GETLOADAVG.
88232         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
88233         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
88234
88235 2004-01-15  Jim Meyering  <jim@meyering.net>
88236
88237         Merge from coreutils.
88238
88239         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
88240         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
88241         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
88242
88243         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
88244         optional configure-time default.
88245
88246         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88247
88248         * lib/xreadlink.c (xreadlink): Correct outdated comment.
88249
88250 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
88251
88252         Merge from coreutils.
88253
88254         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
88255         value, $ac_cv_search_nanosleep, if it's "none required".
88256
88257 2004-01-14  Paul Eggert  <eggert@twinsun.com>
88258
88259         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
88260         with like-named macro in fnmatch.c.
88261         (EXT): Use an internal constant instead.
88262
88263         Merge fnmatch patches from glibc.
88264         * lib/fnmatch.c (mbsinit): Remove define.
88265         Add libc_hidden_ver (__fnmatch, fnmatch).
88266         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
88267         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
88268
88269 2004-01-14  Karl Berry  <karl@gnu.org>
88270
88271         * config/install-sh: update from automake.
88272
88273 2004-01-13  Karl Berry  <karl@gnu.org>
88274
88275         * config/install-sh: update from automake.
88276
88277 2004-01-09  Karl Berry  <karl@gnu.org>
88278
88279         * config/install-sh: update from automake.
88280
88281 2004-01-05  Karl Berry  <karl@gnu.org>
88282
88283         * config/config.{sub,guess}: update from config.
88284
88285 2003-12-31  Karl Berry  <karl@gnu.org>
88286
88287         * config/depcomp: update from automake.
88288
88289 2003-12-14  Karl Berry  <karl@gnu.org>
88290
88291         * lib/config.charset: update from gettext-runtime.
88292
88293 2003-12-03  Paul Eggert  <eggert@twinsun.com>
88294
88295         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
88296         Bug reported by Alfred M. Szmidt.
88297
88298 2003-12-03  Bruno Haible  <bruno@clisp.org>
88299
88300         * m4/gettext.m4: Upgrade from gettext-0.13.
88301         * m4/po.m4: Upgrade from gettext-0.13.
88302         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
88303         * m4/intmax.m4: New file, from gettext-0.13.
88304         * m4/printf-posix.m4: New file, from gettext-0.13.
88305
88306 2003-11-29  Karl Berry  <karl@gnu.org>
88307
88308         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
88309
88310 2003-11-25  Paul Eggert  <eggert@twinsun.com>
88311             Bruno Haible  <bruno@clisp.org>
88312
88313         * lib/printf-parse.h: Don't include sys/types.h.
88314         (ARG_NONE): New macro.
88315         (char_directive): Change type of *arg_index fields to size_t.
88316         * lib/printf-parse.c: Don't include sys/types.h.
88317         (SSIZE_MAX): Remove macro.
88318         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
88319         Remove unnecessary overflow check.
88320         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
88321         fields.
88322
88323 2003-11-25  Bruno Haible  <bruno@clisp.org>
88324
88325         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
88326
88327 2003-11-25  Bruno Haible  <bruno@clisp.org>
88328
88329         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
88330         gt_TYPE_SSIZE_T.
88331
88332 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88333
88334         * modules/alloca: Remove dependency on xalloc.
88335
88336 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88337
88338         * lib/alloca.c: Remove dependency on xalloc module.
88339         (xalloc_die): Remove.
88340         (memory_full) [!defined emacs]: New macro.
88341         [!defined emacs]: Don't include xalloc.h.
88342         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
88343         address arithmetic overflows.  Change datatypes a bit to avoid
88344         unnecessary casts.
88345
88346 2003-11-22  Jim Meyering  <jim@meyering.net>
88347
88348         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88349         s/size/size_t/.
88350
88351 2003-11-21  Karl Berry  <karl@gnu.org>
88352
88353         * config/config.{sub,guess}: update from config.
88354
88355 2003-11-18  Karl Berry  <karl@gnu.org>
88356
88357         * config/config.{sub,guess}: update from config.
88358
88359         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88360
88361 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88362
88363         * README: Mention that S+T cannot overflow if S is the size of
88364         an existing object and T is sufficiently small.
88365
88366 2003-11-17  Jim Meyering  <jim@meyering.net>
88367
88368         On systems without utime and without a utimes function capable of
88369         dealing with a NULL struct utimbuf* argument, this utime replacement
88370         could -- in unusual circumstances -- leak a file descriptor.
88371         * lib/utime.c: Include <unistd.h> and <errno.h>.
88372         (utime_null): Be sure to close `fd' and to preserve errno.
88373         Reported by Geoff Collyer via Arnold Robbins.
88374
88375 2003-11-17  Bruno Haible  <bruno@clisp.org>
88376
88377         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88378         (Depends-on): Add xsize.
88379
88380 2003-11-17  Bruno Haible  <bruno@clisp.org>
88381
88382         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88383
88384 2003-11-17  Bruno Haible  <bruno@clisp.org>
88385
88386         * lib/vasnprintf.c (alloca): Remove fallback definition.
88387         (freea): Remove definition.
88388         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88389         Reported by Paul Eggert.
88390
88391 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88392             Bruno Haible  <bruno@clisp.org>
88393
88394         Protect against address arithmetic overflow.
88395         * lib/printf-args.h: Include stddef.h.
88396         (arguments): Change type of field 'count' to size_t.
88397         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88398         'unsigned int' where appropriate.
88399         * lib/printf-parse.h: Include sys/types.h.
88400         (char_directive): Change type of *arg_index fields to ssize_t.
88401         (char_directives): Change type of fields 'count', max_*_length to
88402         size_t.
88403         * lib/printf-parse.c: Include sys/types.h and xsize.h.
88404         (SSIZE_MAX): Define fallback value.
88405         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
88406         instead of 'int' where appropriate. Check a_allocated, d_allocated
88407         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
88408         * lib/vasnprintf.c: Include xsize.h.
88409         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
88410         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
88411         overflow. Avoid wraparound when converting a width or precision from
88412         decimal to binary.
88413
88414 2003-11-16  Bruno Haible  <bruno@clisp.org>
88415
88416         Update from GNU gettext.
88417         * lib/printf-parse.c: Generalize to it can be compiled for wide
88418         strings.
88419         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
88420         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
88421         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
88422         SNPRINTF): New macros.
88423         Don't include <alloca.h> if the file is used inside libintl.
88424         (local_wcslen): New function, for Solaris 2.5.1.
88425         (VASNPRINTF): Use it instead of wcslen.
88426
88427 2003-11-16  Bruno Haible  <bruno@clisp.org>
88428
88429         * lib/xsize.h (xmax): New function.
88430         (xsum, xsum3, xsum4): Declare as "pure" functions.
88431
88432 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88433
88434         * modules/xalloc (Files): Undo latest change, since xalloc.h
88435         no longer needs SIZE_MAX or PTRDIFF_MAX.
88436
88437 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88438
88439         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
88440         gl_PTRDIFF_MAX.
88441
88442 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88443
88444         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
88445         "return", to pacify some unknown compiler.  Problem reported
88446         by Joerg Schilling.
88447
88448 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88449
88450         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
88451         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
88452         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
88453         heuristic is just as accurate as far as we know, and it removes a
88454         dependency on size_max.m4 and ptrdiff_max.m4.
88455
88456 2003-11-11  Bruno Haible  <bruno@clisp.org>
88457
88458         * modules/xsize (Files): Add m4/size_max.m4.
88459         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
88460
88461 2003-11-11  Bruno Haible  <bruno@clisp.org>
88462
88463         * m4/size_max.m4: New file.
88464         * m4/ptrdiff_max.m4: New file.
88465         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
88466         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
88467         (gl_XALLOC): Invoke it.
88468
88469 2003-11-11  Bruno Haible  <bruno@clisp.org>
88470
88471         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
88472         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
88473         defined.
88474
88475 2003-11-10  Paul Eggert  <eggert@twinsun.com>
88476
88477         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
88478         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
88479         rejected some allocations of exactly SIZE_MAX - 2 bytes.
88480         From Bruno Haible.
88481         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
88482         not (size_t) -1, since it's defined here.
88483
88484 2003-11-09  Karl Berry  <karl@gnu.org>
88485
88486         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
88487
88488 2003-11-06  Paul Eggert  <eggert@twinsun.com>
88489
88490         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
88491         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
88492         Reject sizes of exactly SIZE_MAX bytes.
88493         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
88494         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
88495
88496 2003-11-05  Bruno Haible  <bruno@clisp.org>
88497
88498         * lib/xsize.h: Include limits.h, to avoid a possible collision with
88499         SIZE_MAX defined in <limits.h> on Solaris.
88500
88501 2003-11-04  Jim Meyering  <jim@meyering.net>
88502
88503         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
88504         variable names, rather than @VAR@.
88505         * modules/poll: Likewise.
88506
88507 2003-11-04  Bruno Haible  <bruno@clisp.org>
88508
88509         * modules/xsize: New file.
88510         * modules/linebreak: Depend on xsize.
88511         * MODULES.html.sh (func_all_modules): Add xsize.
88512
88513 2003-11-04  Bruno Haible  <bruno@clisp.org>
88514
88515         * m4/xsize.m4: New file.
88516
88517 2003-11-04  Bruno Haible  <bruno@clisp.org>
88518
88519         * lib/xsize.h: New file.
88520         * lib/linebreak.c: Include xsize.h.
88521         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
88522         argument for overflow.
88523         Suggested by Paul Eggert.
88524
88525 2003-11-03  Karl Berry  <karl@gnu.org>
88526
88527         * config/config.{guess,sub}: update from config.
88528
88529 2003-11-03  Jim Meyering  <jim@meyering.net>
88530
88531         * modules/userspec (lib_SOURCES): Add userspec.h.
88532         (Include): Add "userspec.h".
88533         Improve description.
88534
88535 2003-11-03  Jim Meyering  <jim@meyering.net>
88536
88537         * lib/userspec.c: Include "userspec.h".
88538         * lib/userspec.h: New file.
88539
88540 2003-11-03  Bruno Haible  <bruno@clisp.org>
88541
88542         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
88543
88544 2003-11-03  Bruno Haible  <bruno@clisp.org>
88545
88546         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
88547         available, to avoid (extremely rare) race condition.
88548         Suggested by Paul Eggert.
88549
88550 2003-11-02  Karl Berry  <karl@gnu.org>
88551
88552         * config/srclist.txt (vasprintf.c): sync broken, sigh.
88553
88554 2003-10-31  Paul Eggert  <eggert@twinsun.com>
88555
88556         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
88557         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
88558         (read_filesystem_list): Set and use me_type_malloced.
88559         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
88560         whatever the type happens to be), for brevity and consistency.
88561         Check for size calculation overflow on Alphas running OSF/1.
88562
88563 2003-10-31  Jim Meyering  <jim@meyering.net>
88564
88565         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
88566
88567         * lib/linebuffer.c: Include <string.h> for declaration of memset.
88568
88569 2003-10-30  Paul Eggert  <eggert@twinsun.com>
88570             Bruno Haible  <bruno@clisp.org>
88571
88572         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
88573         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
88574
88575 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
88576
88577         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
88578         netbsd*-gnu*.  Suggested by Robert Millan.
88579
88580 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88581
88582         * modules/group-member: Depend on stdbool.
88583
88584 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88585
88586         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
88587
88588 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88589
88590         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
88591         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
88592         after the 'gnu' in these cases.  This fixes some bugs in the
88593         previous change, and is based on suggestions by Robert Millan.
88594
88595 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88596
88597         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
88598         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
88599         no longer needed.
88600         * lib/quotearg.c (quotearg_n_options): Use it.
88601         * lib/group-member.c: Include <stdbool.h>.
88602         (free_group_info): Arg is now const *; don't free arg.
88603         (get_group_info): Now returns bool and accepts struct group_info *,
88604         rather than returning a malloc'ed struct group_info *.
88605         All uses changed.  Check for overflow in internal size calculation.
88606
88607         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
88608         rather than xmalloc/xrealloc.
88609         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
88610         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
88611         conformance bug: the old code used a pointer after freeing the
88612         storage that it addressed.
88613         * lib/hash.c (hash_initialize): Simplify the code by using
88614         xalloc_oversized rather than doing it by hand.
88615         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
88616         the buffer preserved.  Use free and xmalloc instead.
88617         * lib/quotearg.c (quotearg_n_options): Likewise.
88618         Use a simpler test for size overflow.  Don't use xalloc_oversized
88619         because unsigned int might be wider than size_t (!); this suggests
88620         that we should switch from unsigned int to size_t for slot numbers.
88621
88622 2003-10-28  Paul Eggert  <eggert@twinsun.com>
88623
88624         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
88625         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
88626         NetBSD kernels.  Requested by Richard Stallman.
88627
88628 2003-10-27  Paul Eggert  <eggert@twinsun.com>
88629
88630         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
88631         to allocate the returned structure.  Do not allocate a subarray,
88632         as x2nrealloc will do that.
88633         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
88634         instead of xnrealloc.
88635         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
88636
88637 2003-10-27  Bruno Haible  <bruno@clisp.org>
88638
88639         * lib/stdbool_.h: Better support for BeOS.
88640
88641 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88642
88643         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
88644         now uses inline.
88645
88646 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88647
88648         * lib/xalloc.h (xalloc_oversized): New static inline function, for
88649         callers that want to do their own size-overflow checking.  Include
88650         <stdbool.h>, since xalloc_oversized returns bool.
88651         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
88652         to use xalloc_oversized.
88653
88654         Add two functions x2realloc, x2nrealloc, for programs that grow
88655         arrays dynamically by doubling their sizes.
88656         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
88657         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
88658         New functions.
88659
88660         Port to C99 semantics for 'inline' of external functions.
88661         Bug reported by Bruno Haible.
88662         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
88663         with the old contents of xnmalloc.
88664         (xnmalloc, xmalloc): Use it.
88665         (xnrealloc_inline): New static inline function,
88666         with the old contents of xnrealloc.
88667         (xnrealloc, xrealloc): Use it.
88668
88669         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
88670         that.
88671
88672 2003-10-26  Karl Berry  <karl@gnu.org>
88673
88674         * config/srclist.txt (COPYING.DOC): no longer available from
88675         /gd/gnuorg; don't know where the ultimate source is.
88676
88677 2003-10-25  Paul Eggert  <eggert@twinsun.com>
88678
88679         Fix several address-calculation bugs in the hash modules,
88680         plus some minor code cleanup.
88681
88682         * lib/hash.h: Include <stdbool.h>, for bool.
88683         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
88684         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
88685         hash_get_n_entries, hash_get_max_bucket_length,
88686         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
88687         hash_rehash): Use size_t rather than unsigned.
88688         * lib/hash.c (struct hash_table, hash_get_n_buckets,
88689         hash_get_n_buckets_used, hash_get_n_entries,
88690         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
88691         hash_get_entries, hash_do_for_each, hash_string, is_prime,
88692         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
88693         Likewise.
88694         (SIZE_MAX): Define if not defined.
88695         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
88696         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
88697         hash_print):
88698         Use const * when possible.
88699         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
88700         (check_tuning): Fix bug: if tuning parameters were very close to
88701         0 or 1, rounding errors could have caused subscript violations.
88702         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
88703         (hash_initialize): Add 'fail:' label
88704         to free table and return NULL, and use it to simplify code.
88705         Use calloc rather than clearing the storage ourself.
88706         (hash_initialize, hash_rehash): Check for arithmetic overflow in
88707         buffer size calculations.
88708         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
88709         Include <stddef.h>, for size_t.
88710         * lib/hash-pjw.c (hash_pjw): Likewise.
88711         Switch to method described by Bruno Haible.
88712         Include <limits.h>, for CHAR_BIT.
88713         (SIZE_BITS): New macro.
88714
88715 2003-10-23  Paul Eggert  <eggert@twinsun.com>
88716
88717         * m4/getline.m4 (AM_FUNC_GETLINE):
88718         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
88719         hosts.  Problem reported by Derek Robert Price in
88720         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
88721         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
88722         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
88723
88724 2003-10-21  Paul Eggert  <eggert@twinsun.com>
88725
88726         * lib/getndelim2.c (getndelim2): When size calculation overflows,
88727         ceiling the allocation at NMAX bytes rather than silently
88728         discarding input bytes before NMAX is reached.  This makes
88729         a difference only if NMAX exceeds SIZE_MAX / 2.
88730
88731         * lib/obstack.c: Merge from glibc.
88732         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
88733         Add libc_hidden_def (_obstack_newchunk).
88734         (_obstack_free) [! defined _LIBC]: Remove.
88735         [defined _LIBC]: Make a strong alias from obstack_free, rather than
88736         a clone of the function body.
88737         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
88738         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
88739
88740         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
88741         glibc.
88742         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
88743         arg to memcpy.
88744
88745         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
88746         (obstack_ptr_grow_fast, obstack_int_grow_fast):
88747         Don't use lvalue casts, as GCC plans to remove support for them
88748         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
88749         was also present in the non-GCC version, indicating that this
88750         code had always been buggy and had never been widely used.
88751         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
88752         Use the fast variant of each macro, rather than copying the
88753         definiens of the fast variant; that way, we'll be more likely to
88754         catch future bugs in the fast variants.
88755
88756 2003-10-20  Bruno Haible  <bruno@clisp.org>
88757
88758         * modules/wait-process: New file.
88759         * MODULES.html.sh (func_all_modules): Add wait-process.
88760
88761 2003-10-20  Bruno Haible  <bruno@clisp.org>
88762
88763         * m4/wait-process.m4: New file.
88764
88765 2003-10-20  Bruno Haible  <bruno@clisp.org>
88766
88767         * lib/wait-process.h: New file, from GNU gettext.
88768         * lib/wait-process.c: New file, from GNU gettext.
88769
88770 2003-10-19  Jim Meyering  <jim@meyering.net>
88771
88772         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88773         HPUX 10.20.
88774
88775 2003-10-18  Karl Berry  <karl@gnu.org>
88776
88777         * config/config.guess: update from config.
88778
88779 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88780
88781         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88782         (getgroups): First arg is int, not size_t.
88783         Don't let 'free' mangle errno.
88784
88785 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88786
88787         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88788
88789 2003-10-16  Karl Berry  <karl@gnu.org>
88790
88791         * config/config.{guess,sub}: update from config.
88792
88793 2003-10-16  Jim Meyering  <jim@meyering.net>
88794
88795         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88796         memcpy.
88797
88798 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88799
88800         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88801         (SIZE_MAX): Remove.
88802         (new_exclude, add_exclude_file): Initial size no longer needs to
88803         be a power of 2.
88804         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88805         our own address arithmetic overflow checking.
88806
88807         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88808         (fnmatch): Do not alloca more than 2000 wide characters;
88809         instead, use malloc for large buffers.
88810         Check for address arithmetic overflow, and return -1
88811         with errno set to ENOMEM in that case.
88812         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88813         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88814         instead, return -1.  Check for address arithmetic overflow.
88815
88816 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88817
88818         Handle invalid suffixes and overflow independently, so that
88819         callers can treat them independently as needed.  Fix some bugs in
88820         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88821         suffix for a human-readable blocksize.  The major caller-visible
88822         change is the addition of a new
88823         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88824         that both overflow and suffix chars were found.
88825
88826         * lib/human.c (humblock): Don't check separately for invalid suffix
88827         char; that is xstrtoumax's job (now that its bug is fixed).
88828         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88829         INTMAX_MAX]: New macros.
88830         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88831         TYPE_MAXIMUM): New macros.
88832         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88833         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88834         if overflow occurs, as it's what __strtol does and it's more useful
88835         in practice.
88836         (__xstrtol): If __strtol reports some error other than ERANGE,
88837         reflect it to the caller as LONGINT_INVALID.  If it reports
88838         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88839         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88840         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88841         value.
88842         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88843         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88844         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88845         [defined UINTMAX_MAX]: New macros.
88846
88847 2003-10-14  Bruno Haible  <bruno@clisp.org>
88848
88849         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88850
88851 2003-10-14  Bruno Haible  <bruno@clisp.org>
88852
88853         * m4/sig_atomic_t: New file, from GNU gettext.
88854         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88855
88856 2003-10-14  Bruno Haible  <bruno@clisp.org>
88857
88858         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88859         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88860         Also use volatile where needed.
88861
88862 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88863
88864         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88865         Change maintainer from Bruno Haible to 'all'.
88866
88867 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88868
88869         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88870
88871 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88872
88873         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88874         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88875         and define in terms of the other primitives.
88876         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88877         (SIZE_MAX): Define if not already defined.
88878         (array_size_overflow): New function.
88879         (xalloc_die): Abort instead of exiting if 'error' returns.
88880         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88881         (xmalloc, xrealloc): Use them.
88882         (xcalloc): Check for address arithmetic overflow.
88883         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88884         a bit faster than strcpy.
88885
88886 2003-10-10  Simon Josefsson  <jas@extundo.com>
88887
88888         * modules/argp (Depends-on): Add restrict and strcase.
88889
88890 2003-10-10  Simon Josefsson  <jas@extundo.com>
88891
88892         * m4/argp.m4: Add AC_C_INLINE.
88893
88894 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88895
88896         Merge getpass from libc, plus a few fixes.
88897
88898         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88899         Include <stdbool.h>.
88900         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88901         __fsetlocking to empty.
88902         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88903         do include <bits/libc-lock.h>.
88904         Do not include <fcntl.h>; not needed.
88905         [_LIBC]: Include <wchar.h>.
88906         (NOTCANCEL_MODE): New macro.
88907         (flockfile, funlockfile) [_LIBC]: New macros.
88908         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88909         [!_LIBC]: New macros.
88910         (call_fclose): New function.
88911         (getpass): Use it.  Save tty stream separately; this simplifies the
88912         code and makes it more reliable if stdin happens to equal stdout.
88913         Invoke __fsetlocking on tty.
88914         Handle thread cancellation if needed.
88915         Namespace cleanup (use __tcgetattr, __getline).
88916         Use bool for Booleans.
88917         [USE_IN_LIBIO]: Handle wide streams.
88918         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88919         stream might go where.
88920
88921         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88922         doesn't have to include <stdio.h> before us.
88923         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88924         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88925         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88926         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88927         if not declared, so that we can use getpass.c code from libc without
88928         rewriting it.
88929         (flockfile, ftrylockfile, funlockfile): New macros.
88930
88931 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88932
88933         * modules/getpass: Depend on stdbool.
88934
88935 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88936
88937         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
88938
88939 2003-10-07  Karl Berry  <karl@gnu.org>
88940
88941         * config/config.{guess,sub}: update from config.
88942
88943 2003-10-06  Jim Meyering  <jim@meyering.net>
88944             Bruno Haible  <bruno@clisp.org>
88945
88946         This lets translators provide better translations for the
88947         "Written by ..." part of --version output.
88948         * lib/version-etc.h: Include stdarg.h.
88949         (version_etc_copyright): Declare as readonly.
88950         (version_etc): Make this function variadic with a NULL-terminated list
88951         of author name strings.
88952         (version_etc_va): New declaration.
88953         * lib/version-etc.c: Include stdarg.h, stdlib.h.
88954         (version_etc_copyright): Declare as readonly.
88955         (version_etc_va): New function. Provide a different translatable string
88956         for each possible number of authors < 10. Abbreviate when there are 10
88957         authors or more.
88958         (version_etc): Make this function variadic. Call version_etc_va.
88959         Suggestion from Gary V. Vaughan.
88960
88961         * lib/long-options.h (parse_long_options): Change prototype: the
88962         authors string is moved to the end and becomes variadic.
88963         * lib/long-options.c: Include stdarg.h.
88964         (parse_long_options): Make this function variadic, too.
88965         Call version_etc_va, not version_etc.
88966
88967 2003-10-06  Bruno Haible  <bruno@clisp.org>
88968
88969         * modules/version-etc-2: Remove file.
88970         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
88971
88972 2003-10-06  Bruno Haible  <bruno@clisp.org>
88973
88974         * modules/fatal-signal: New file.
88975         * MODULES.html.sh (func_all_modules): Add fatal-signal.
88976
88977 2003-10-06  Bruno Haible  <bruno@clisp.org>
88978
88979         * m4/fatal-signal.m4: New file.
88980         * m4/signalblocking.m4: New file, from GNU gettext.
88981
88982 2003-10-06  Bruno Haible  <bruno@clisp.org>
88983
88984         * lib/version-etc-2.h: Remove file.
88985         * lib/version-etc-2.c: Remove file.
88986
88987 2003-10-06  Bruno Haible  <bruno@clisp.org>
88988
88989         * lib/fatal-signal.h: New file, from GNU gettext.
88990         * lib/fatal-signal.c: New file, from GNU gettext.
88991
88992 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88993
88994         * README: Rework advice for preventing empty .o files.
88995         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88996         not <sys/types.h>.
88997
88998 2003-10-04  Karl Berry  <karl@gnu.org>
88999
89000         * lib/argp*: update from libc.
89001
89002 2003-10-04  Karl Berry  <karl@gnu.org>
89003
89004         * config/config.{guess,sub}: update from config.
89005
89006 2003-10-02  Bruno Haible  <bruno@clisp.org>
89007
89008         * modules/lchown (Include): Add lchown.h.
89009         * modules/time_r (Include): Use "..." syntax.
89010         * modules/xgetdomainname (Include): Add xgetdomainname.h.
89011
89012 2003-10-01  Simon Josefsson  <jas@extundo.com>
89013
89014         * MODULES.html.sh (func_all_modules): Move gethostname from section
89015         'based on' to section 'lacking' POSIX:2001.
89016
89017 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
89018
89019         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
89020         to output mode on the same stream.
89021
89022 2003-09-29  Paul Eggert  <eggert@twinsun.com>
89023
89024         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
89025         Fix arg typo in previous patch.
89026
89027 2003-09-28  Jim Meyering  <jim@meyering.net>
89028
89029         * lib/error.c: Correct cpp indentation.
89030
89031 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89032
89033         * modules/free: New file.
89034
89035 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89036
89037         * m4/free.m4: New file.
89038
89039 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89040
89041         * lib/minmax.h (MIN, MAX)
89042         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
89043         Omit the special code that used __typeof__, since we worry that
89044         it could be more trouble than it's worth.  See:
89045         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
89046         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
89047
89048         * lib/free.c: New file.
89049
89050 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
89051
89052         Trivial fixes to Makefile.am parts of module listings.
89053         * modules/strstr: Append strstr.h to lib_SOURCES.
89054         * modules/strcase: Likewise, for strcase.h.
89055
89056 2003-09-27  Karl Berry  <karl@gnu.org>
89057
89058         * config/mkinstalldirs: update from automake.
89059
89060 2003-09-26  Paul Eggert  <eggert@twinsun.com>
89061
89062         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
89063         (error_tail): Do not loop, reallocating temporary buffer, since
89064         the output cannot contain more wide characters than the input
89065         contains bytes, the size must be big enough already.  This avoids
89066         one potential size overflow calculation.  Check for size overflow
89067         when calculating temporary buffer size.  Free temporary buffer
89068         when done, if it was allocated with malloc; this plugs a memory
89069         leak.  Remove casts from void * to pointers, that are no longer
89070         needed now that we're assuming C89 or better.
89071
89072         Merge error changes from glibc.
89073
89074         * lib/error.c, error.h: Update copyright notice header to match glibc.
89075         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
89076         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
89077         Disable cancellation while printing error.
89078         * lib/error.h: Prepend __ to parameter names.
89079
89080 2003-09-26  Jim Meyering  <jim@meyering.net>
89081
89082         * lib/error.c (error_tail): Move some declarations
89083         into inner scope where the local variables are used.
89084
89085 2003-09-26  Bruno Haible  <bruno@clisp.org>
89086
89087         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
89088         stpncpy().
89089         Don't define stpncpy through config.h; it's now done through stpncpy.h.
89090
89091 2003-09-26  Bruno Haible  <bruno@clisp.org>
89092
89093         * lib/stpncpy.h (gnu_stpncpy): New declaration.
89094         (stpncpy): Define as alias for gnu_stpncpy.
89095         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
89096
89097 2003-09-25  Simon Josefsson  <jas@extundo.com>
89098
89099         * lib/xgetdomainname.h: New file.
89100         * lib/xgetdomainname.c: New file.
89101
89102 2003-09-25  Simon Josefsson  <jas@extundo.com>
89103             Bruno Haible  <bruno@clisp.org>
89104
89105         * modules/getdomainname: New file.
89106         * modules/xgetdomainname: New file.
89107         * MODULES.html.sh (func_all_modules): Add getdomainname,
89108         xgetdomainname.
89109
89110 2003-09-25  Simon Josefsson  <jas@extundo.com>
89111             Bruno Haible  <bruno@clisp.org>
89112
89113         * m4/getdomainname.m4: New file.
89114
89115 2003-09-25  Simon Josefsson  <jas@extundo.com>
89116             Bruno Haible  <bruno@clisp.org>
89117
89118         * lib/getdomainname.h: New file.
89119         * lib/getdomainname.c: New file.
89120
89121 2003-09-25  Karl Berry  <karl@gnu.org>
89122
89123         * lib/argp-fmtstream.c, argp-help.c: update from libc.
89124
89125 2003-09-25  Karl Berry  <karl@gnu.org>
89126
89127         * config/install-sh: update from automake.
89128
89129 2003-09-25  Bruno Haible  <bruno@clisp.org>
89130
89131         * modules/version-etc-2: New file, from modules/version-etc with
89132         modifications.
89133         * MODULES.html.sh (func_all_modules): Add version-etc-2.
89134
89135 2003-09-25  Bruno Haible  <bruno@clisp.org>
89136
89137         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
89138         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
89139
89140 2003-09-24  Simon Josefsson  <jas@extundo.com>
89141
89142         * modules/xgethostname: Add xgethostname.h.
89143
89144 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89145
89146         * lib/linebuffer.c (freebuffer): Don't free the argument, just
89147         the buffer associated with the argument.  Bug reported by
89148         Simon Josefsson.
89149
89150 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89151
89152         * README: Document assumptions that 'int' is at least 32 bits
89153         wide, that integer arithmetic is 2's complement without overflow,
89154         that there are no holes in integer values, that adding sizes of
89155         two nonoverlapping objects can't overflow, and that all-bits-zero
89156         yields scalar zero.  Fix spelling and capitalization typos.
89157
89158 2003-09-19  Karl Berry  <karl@gnu.org>
89159
89160         * lib/argp.h: update from libc.
89161
89162 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89163
89164         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
89165         to avoid spurious warnings like "AC_RUN_IFELSE was called before
89166         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
89167
89168 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89169
89170         * gnulib-tool: Use "test -h", not "test -L", for portability
89171         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
89172         (tags_regexp): Remove, since \| doesn't conform to POSIX.
89173         (sed_extract_prog): Issue s commands one-by-one, rather than
89174         using \| in one s command.
89175
89176 2003-09-16  Paul Eggert  <eggert@twinsun.com>
89177
89178         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
89179         input error, instead of returning NULL the next time we are called
89180         (and therefore losing track of errno).
89181
89182 2003-09-16  Bruno Haible  <bruno@clisp.org>
89183
89184         * gnulib-tool (func_create_testdir): Warn about duplicated
89185         dependencies.
89186
89187 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89188
89189         * modules/argmatch, modules/fatal, modules/obstack,
89190         modules/xalloc, modules/xgethostname: Sort dependencies by
89191         importance, not alphabetically.
89192
89193 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89194
89195         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
89196         fails, so that the caller gets the proper errno.
89197
89198         * lib/readutmp.c (read_utmp): Likewise.
89199         Check for fstat error.  Close stream and free storage
89200         when failing.
89201
89202 2003-09-14  Karl Berry  <karl@gnu.org>
89203
89204         * config/srclist.txt (strdup.c): disable for c89 changes.
89205
89206 2003-09-14  Jim Meyering  <jim@meyering.net>
89207
89208         * lib/getloadavg.c: Correct cpp indentation.
89209         * lib/strdup.c: Likewise.
89210         * lib/vasnprintf.c: Likewise.
89211
89212 2003-09-14  Bruno Haible  <bruno@clisp.org>
89213
89214         * modules/fwriteerror: New file.
89215         * MODULES.html.sh (func_all_modules): Add fwriteerror.
89216
89217 2003-09-14  Bruno Haible  <bruno@clisp.org>
89218
89219         * lib/fwriteerror.h: New file.
89220         * lib/fwriteerror.c: New file.
89221
89222 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89223
89224         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
89225         modules/xgethostname, modules/xalloc: Depend on exit.
89226
89227 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89228
89229         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
89230
89231         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
89232         and AC_MINIX, too, so that their extensions are available.
89233
89234         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
89235         This macro has been superseded by gl_BACKUPFILE.
89236
89237         More patches to assume C89 or better.
89238
89239         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
89240
89241         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
89242         unconditionally.
89243         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
89244         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
89245         Include <string.h>, <stdlib.h> unconditionally.
89246         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
89247         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
89248         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
89249         headers or for string.h.
89250         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
89251         or strtoul.
89252
89253         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
89254         headers.
89255         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
89256         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89257         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
89258         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
89259         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89260         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
89261         memcpy, memset.
89262         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
89263         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
89264         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
89265         strtol.
89266         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
89267         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
89268         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
89269         strtoul.
89270
89271 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89272
89273         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
89274         * lib/obstack.c [!defined _LIBC]: Likewise.
89275         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
89276         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
89277         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
89278
89279         More changes to assume C89 or better.
89280
89281         * lib/error.c (error_tail): Assume vprintf.
89282
89283         * lib/argmatch.c (getenv): Remove decl.
89284         * lib/progreloc.c (get_full_program_name): Define via prototype.
89285         * lib/setenv.c (clearenv): Likewise.
89286         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
89287         needed.
89288         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
89289         (malloc, memcpy): Remove decls.
89290         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
89291         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
89292         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89293         (memcpy): Remove macro.
89294         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
89295         (__P): Remove.  All uses removed.
89296         (PTR): Remove.  All uses changed to void *.
89297         (CHAR_BIT, NULL): Remove.
89298         (spaces, zeros, memset_space, memset_zero)
89299         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
89300         Remove.
89301         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
89302         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
89303         Define with prototype.
89304         Remove now-unnecessary prototype decl.
89305         (extra_args_spec): Assume ANSI C.  All uses changed.
89306         (extra_args_spec_iso): Remove.
89307         (my_strftime, emacs_strftimeu): Define via prototype.
89308         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
89309         unconditionally.
89310         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
89311         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
89312         (strtoul, strtol): Remove decls.
89313         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
89314         LONG_MAX): Remove.
89315         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89316         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
89317         (LOCALE_PARAM_PROTO): New macro.
89318         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
89319         (INTERNAL (strtol), strtol): Define with a prototype.
89320         (PARAMS): Remove.  All uses removed.
89321         * lib/tempname.c: Include <string.h> unconditionally.
89322         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
89323         * lib/xgethostname.c (main): Define with a prototype.
89324         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
89325         Include <stdlib.h> unconditionally.
89326         (calloc, malloc, realloc, free): Remove decls.
89327         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
89328         Include <stdlib.h> unconditionally.  Sort include file names.
89329         (strtod): Remove.
89330         (xstrtod): Define with a prototype.
89331         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
89332         (strtol, strtoul): Remove decls.
89333
89334 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89335
89336         More patches to assume C89 or better.
89337         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
89338         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
89339         string.h, memchr, STDC_HEADERS.
89340
89341 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89342
89343         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89344         Include <stdlib.h>, <string.h> unconditionally.
89345         Remove now-unnecessary cast to char *.
89346         * lib/strnlen.c: Include <string.h> unconditionally.
89347         * lib/yesno.c (yesno): Define with a prototype.
89348
89349 2003-09-11  Bruno Haible  <bruno@clisp.org>
89350
89351         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89352
89353 2003-09-10  Jim Meyering  <jim@meyering.net>
89354
89355         * lib/error.c: Correct indentation of cpp directives.
89356
89357 2003-09-10  Bruno Haible  <bruno@clisp.org>
89358
89359         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89360         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89361         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89362         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89363         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89364         <stdlib.h> and <string.h> checks.
89365         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89366         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89367
89368 2003-09-10  Bruno Haible  <bruno@clisp.org>
89369
89370         * lib/strcspn.c: Include <string.h> unconditionally.
89371         * lib/strpbrk.c: Include <string.h> unconditionally.
89372         * lib/strstr.c: Include <string.h> unconditionally.
89373         * lib/unicodeio.c: Include <string.h> unconditionally.
89374         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89375         * lib/unsetenv.c: Likewise.
89376         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89377         * lib/yesno.c: Include <stdlib.h> unconditionally.
89378         (rpmatch): Add prototype.
89379
89380 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89381
89382         More patches to assume C89 or better.
89383         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89384         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89385         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89386         or for string.h.
89387         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89388         stdlib.h.
89389         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89390         C headers.
89391         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89392         string.h.
89393         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89394         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89395         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89396         or for string.h.
89397         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89398         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89399         C headers.
89400         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
89401         memcpy.
89402         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
89403         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
89404         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
89405         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
89406         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
89407         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
89408         string.h, free.
89409         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
89410         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
89411         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
89412         C headers, or for string.h.
89413         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
89414         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
89415         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
89416         headers, memory.h, stdlib.h, string.h, strings.h.
89417         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
89418         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
89419         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
89420         strchr.
89421         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
89422         headers, memory.h, string.h.
89423         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
89424         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
89425         free.
89426         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
89427         headers.
89428         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
89429         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
89430         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
89431         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
89432         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
89433
89434 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89435
89436         More K&R removal.
89437
89438         * lib/acosl.c (main): Use a prototype.
89439         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
89440         tanl.c: Likewise.
89441
89442         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
89443
89444         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
89445         (getopt, etopt_long, getopt_long_only, _getopt_internal)
89446         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
89447         with a prototype.
89448         * lib/getopt.c (const): Remove macro.
89449         Include <string.h> unconditionally.
89450         (my_index): Remove; all uses changed to strchr.
89451         (strlen): Remove decl.
89452         (exchange): Remove forward decl; no longer needed.
89453         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
89454         Define with prototype.
89455         * lib/getopt1.c (const): Remove macro.
89456         (getopt_long, getopt_long_only, main): Define with prototype.
89457
89458         * lib/getugroups.c: Include <string.h> unconditionally.
89459
89460         * lib/getusershell.c: Include <stdlib.h> unconditionally.
89461         (getusershell, setusershell, endusershell, readname, main):
89462         Define with prototypes.
89463
89464         * lib/group-member.c: Include group-member.h first.
89465         Include <stdlib.h> unconditionally.
89466
89467         * lib/hard-locale.c: Include hard-locale.h first.
89468         Include <stdlib.h>, <string.h> unconditionally.
89469
89470         * lib/hash.c (free, malloc): Remove decls.
89471         Include <stdlib.h> unconditionally.
89472
89473         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
89474         (getenv): Do not declare.
89475
89476         * lib/idcache.c: Include <string.h> unconditionally.
89477
89478         * lib/long-options.c: Include long-options.h first, to test interface.
89479         Include <stdlib.h> unconditionally.
89480
89481         * lib/makepath.c: Include makepath.h first, to test interface.
89482         Include <stdlib.h> and <string.h> unconditionally.
89483
89484         * lib/linebuffer.c: Include <stdlib.h>.
89485         (free): Remove decl.
89486
89487         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
89488         stddef.h. rpl_malloc returns void *, not char *.
89489         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
89490         prototype.
89491
89492         * lib/md5.h: Include <limits.h> unconditionally.
89493         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
89494         (__P): Remove; all uses removed.
89495         * lib/md5.c: Include "md5.h" first.
89496         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
89497         md5_buffer, md5_process_bytes, md5_process_block):
89498         Define with prototypes.
89499         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
89500         * lib/sha.c: Include "sha.h" first.
89501         Include <stdlib.h>, <string.h> unconditionally.
89502
89503         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
89504         * lib/memcmp.c (__ptr_t): Likewise.
89505         * lib/memrchr.c (__ptr_t): Likewise.
89506         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
89507         Include <string.h> unconditionally.
89508         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
89509         * lib/memchr.c: Include <stdlib.h> unconditionally.
89510         * lib/memchr.c (LONG_MAX): Remove.
89511         * lib/memrchr.c (LONG_MAX): Likewise.
89512         * lib/memchr.c (__memchr): Define via a prototype.
89513         * lib/memrchr.c (__memrchr): Likewise.
89514         * lib/memcmp.c (__P): Remove, and remove all uses.
89515         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
89516         Remove forward decls; no longer needed.
89517         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
89518         Use types required by C89 in prototype.
89519
89520         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
89521         * lib/savedir.c: Likewise.
89522         * lib/mkdir.c (free): Remove decl.
89523         * lib/rmdir.c (rmdir): Define with a prototype.
89524         * lib/savedir.c: Include savedir.h first, to test interface.
89525
89526         * lib/mktime.c (STDC_HEADERS): Remove.
89527         Include <stdlib.h>, <string.h> unconditionally.
89528
89529         * lib/modechange.c: Include <stdlib.h> unconditionally.
89530         (malloc): Remove decl.
89531
89532         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
89533         (free): Remove decl.
89534
89535         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
89536         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
89537         (This type really should be intptr_t, but that's a C99ism.)
89538         (_obstack_memcpy): Remove: all uses changed to memcpy.
89539         Include <string.h> unconditionally.
89540         (struct obstack): Assume __STDC__ for types of members
89541         chunkfun, freefun, extra_arg.
89542         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
89543         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
89544         obstack_begin, obstack_specify_allocation,
89545         obstack_specify_allocation_with_arg, obstack_chunkfun,
89546         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
89547         Remove unprototyped decls and the macros that use them.
89548         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
89549         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
89550         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
89551         (defined __STDC__ && __STDC__)]:
89552         Remove nonprototyped code.
89553         Include <stdlib.h> unconditionally.
89554         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
89555         _obstack_allocated_p, _obstack_free, obstack_free,
89556         _obstack_memory_used, print_and_abort):
89557         Define using prototypes.
89558         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
89559         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
89560         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
89561         obstack_next_free, obstack_object_size, obstack_room) [0]:
89562         Remove unused, unprototyped code.
89563
89564         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
89565
89566         * lib/physmem.c (physmem_total, physmem_available, main): Define
89567         with prototypes.
89568
89569         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
89570         (main): Define with a prototype.
89571
89572         * lib/posixver.c (getenv): Remove decl.
89573
89574         * lib/putenv.c (malloc): Returns void *, not char *.
89575         Include <string.h> unconditionally.
89576         (strchr, memcpy, NULL): Do not define.
89577
89578         * lib/readtokens.c: Include readtokens.h first, to test interface.
89579         Include <stdlib.h>, <string.h> unconditionally.
89580         (init_tokenbuffer): Define with a prototype.
89581
89582         * lib/regex.c (PARAMS): Remove.  All uses removed.
89583         All uses of _RE_ARGS removed, too.
89584         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89585         unconditionally.
89586         (bzero): Assume memset exists.
89587         (memcmp, memcpy, NULL): Remove.
89588         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
89589         char, or assignments to local vars of type signed char.
89590         (init_syntax_once, PREFIX(extract_number_and_incr),
89591         PREFIX(print_partial_compiled_pattern),
89592         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
89593         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
89594         PREFIX(regex_grow_registers), PREFIX(regex_compile),
89595         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
89596         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
89597         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
89598         wcs_compile_range, byte_compile_range, truncate_wchar,
89599         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
89600         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
89601         count_mbs_length, wcs_re_match_2_internal,
89602         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
89603         PREFIX(alt_match_null_string_p),
89604         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
89605         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
89606         regfree, PREFIX(extract_number)): Define with prototype.  Remove
89607         now-unnecessary declaration, if any.
89608         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
89609         regcomp, regexec):
89610         Remove now-unnecessary casts among pointer types.
89611         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
89612
89613         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
89614         (free): Remove decl.
89615
89616         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
89617
89618         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
89619         (free): Remove decl.
89620
89621         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
89622         * lib/xgetcwd.c: Likewise.
89623
89624         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
89625         (free): Remove decl.
89626
89627         * lib/strchrnul.c (strchrnul): Define with a prototype.
89628         Fix bug: c_in was not converted to char before searching.
89629
89630         The following changes are not K&R related:
89631
89632         * lib/group-member.h: Include <sys/types.h>, so that this file is
89633         self-contained.
89634         * lib/makepath.h: Likewise.
89635
89636         * lib/getusershell.c (readname, default_index, line_size, readname):
89637         Use size_t, not int, for sizes.
89638         (readname): If the size overflows, report an error instead of
89639         looping forever.
89640
89641 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89642
89643         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
89644         libc.
89645
89646 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89647
89648         * README: New section: portability guidelines.
89649
89650 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89651
89652         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
89653         C89 spec.
89654
89655 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89656
89657         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
89658
89659 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89660
89661         Assume C89 or better; remove K&R cruft.
89662         A few of these changes were first proposed by Derek Robert Price
89663         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
89664
89665         * lib/addext.c: Include <string.h> unconditionally.
89666         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
89667         Don't declare getenv or malloc.
89668
89669         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
89670         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
89671         (NULL): Remove.
89672         (find_stack_direction, alloca): Use prototypes.
89673
89674         * lib/atexit.c (atexit): Define using a prototype.
89675
89676         * lib/basename.c, dirname.c, stripslash.c:
89677         Include <string.h> unconditionally.
89678
89679         * lib/bcopy.c: Include <stddef.h>.
89680         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
89681
89682         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
89683
89684         * lib/error.h (error, error_at_line, error_print_progname)
89685         [! (defined (__STDC__) && __STDC__)]: Remove decls.
89686         * lib/error.c: Include error.h first, to check interface.
89687         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89688         (VA_START): Remove; all uses changeed to va_start.
89689         (exit, strerror): Remove decls.
89690         (error_print_progname): Prototype uncondionally.
89691         Don't include <errno.h>; no longer needed.
89692         (private_strerror): Remove.
89693         (error_tail): Always define.
89694         (error, error_at_line): Assume C89 or better; always use prototypes.
89695         * lib/fatal.c: Include "fatal.h" first, to test interface.
89696         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89697         (VA_START): Remove; all uses changed to va_start.
89698         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
89699         this case.
89700         (exit): Remove decl.
89701         (fatal): Prototype unconditionally.  Assume va_start works.
89702         Abort at end, to pacify gcc.
89703
89704         * lib/euidaccess.c (main): Define with a prototype.
89705
89706         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
89707
89708         * lib/exitfail.c: Include <stdlib.h> unconditionally.
89709
89710         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
89711         prototypes.
89712         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
89713         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
89714         (getenv): Remove decl.
89715         (fnmatch): Define using a prototype.
89716         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
89717         (FCT): Define using a prototype.
89718
89719         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
89720
89721         * lib/gethostname.c: Include <stddef.h>.
89722         (gethostname): Define with prototype.  Length is size_t, not int.
89723
89724 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89725
89726         Assume C89 or better; remove K&R cruft.
89727         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
89728         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
89729         string.h, getenv, malloc.
89730         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
89731         headers.
89732         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
89733         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
89734         do not check for strerror.
89735         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
89736         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
89737         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
89738         do not check for doprnt or vprintf.
89739         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
89740         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
89741
89742 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89743
89744         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
89745         getversion.c should have been removed then, but was accidentally
89746         preserved.
89747
89748         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
89749         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
89750
89751 2003-09-08  Karl Berry  <karl@gnu.org>
89752
89753         * config/config.sub, config.guess, srclistvars.sh: update from savannah
89754                 config, forget about prep.
89755
89756         * config/depcomp, missing: update from automake.
89757
89758 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89759
89760         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
89761         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89762
89763 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89764
89765         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
89766         copy_tm_result.  Bug reported by Simon Josefsson in
89767         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89768
89769 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89770
89771         * m4/time_r.m4: New file.
89772         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89773         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89774         is. Check for timegm declaration.
89775         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89776         Do not check for gmtime_r.
89777         Replace mktime if __mktime_internal does not exist and if mktime
89778         hasn't been replaced already.
89779
89780 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89781
89782         * lib/time_r.c, lib/time_r.h: New files.
89783
89784         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89785         __localtime_r.
89786         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89787         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89788
89789         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89790         __gmtime_r.
89791         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89792         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89793         Include <time_r.h>.
89794
89795         * lib/timegm.c: Switch to glibc implementation, with the following
89796         changes:
89797         [defined HAVE_CONFIG_H]: Include <config.h>.
89798         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89799         (__mktime_internal) [!defined _LIBC]: New decl.
89800         (__gmtime_r) [!defined _LIBC]: New macro and function.
89801         (timegm): Use a prototype, since gnulib assumes C89.
89802         Do not bother declaring tmp to be const, as it's not really usefu.
89803         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89804         (timegm): Declare only if HAVE_DECL_TIMEGM.
89805
89806 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89807
89808         * MODULES.html.sh (func_all_modules): Add time_r.
89809         * modules/time_r: New file.
89810         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89811         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89812
89813 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89814
89815         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89816         Bug reported by Lute Kamstra in
89817         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89818
89819         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89820         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89821         course with correspondingly smaller numbers for tomorrow and
89822         yesterday.  From Tadayoshi Funaba.  Originally installed into
89823         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89824         coreutils merge?).
89825
89826 2003-08-31  Simon Josefsson  <jas@extundo.com>
89827
89828         * modules/timegm: New file.
89829         * MODULES.html.sh (func_all_modules): Add timegm.
89830
89831 2003-08-31  Simon Josefsson  <jas@extundo.com>
89832
89833         * m4/timegm.m4: New file.
89834
89835 2003-08-31  Simon Josefsson  <jas@extundo.com>
89836
89837         * lib/timegm.h: New file.
89838         * lib/timegm.c: New file.  Based on
89839         wget-1.8.2/src/http.c:mktime_from_utc.
89840
89841 2003-08-31  Karl Berry  <karl@gnu.org>
89842
89843         * lib/argp.h: update from libc.
89844
89845 2003-08-28  Bruno Haible  <bruno@clisp.org>
89846
89847         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89848         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89849         followed by '#define fnmatch fnmatch_posix' gives an error.
89850
89851 2003-08-28  Bruno Haible  <bruno@clisp.org>
89852
89853         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89854         warning on QNX, which defines O_BINARY to 000000.
89855
89856 2003-08-27  Jim Meyering  <jim@meyering.net>
89857
89858         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89859         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89860         would fail after 32.  Reported by Danny Levinson.  Details here:
89861         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89862
89863 2003-08-24  Bruno Haible  <bruno@clisp.org>
89864
89865         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89866         MSVC7 <stdio.h> is included later.
89867
89868 2003-08-22  Simon Josefsson  <jas@extundo.com>
89869
89870         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89871
89872 2003-08-20  Karl Berry  <karl@gnu.org>
89873
89874         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89875
89876 2003-08-20  Bruno Haible  <bruno@clisp.org>
89877
89878         * modules/progname: New file.
89879         * MODULES.html.sh (func_all_modules): Add progname.
89880
89881 2003-08-20  Bruno Haible  <bruno@clisp.org>
89882
89883         * lib/progname.h: New file, from GNU gettext.
89884         * lib/progname.c: New file, from GNU gettext.
89885         * lib/progreloc.c: New file, from GNU gettext.
89886
89887 2003-08-19  Jim Meyering  <jim@meyering.net>
89888
89889         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89890         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89891
89892 2003-08-19  Bruno Haible  <bruno@clisp.org>
89893
89894         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89895         more.
89896
89897 2003-08-19  Bruno Haible  <bruno@clisp.org>
89898
89899         * lib/xstrdup.c: Assume <string.h> exists.
89900
89901 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89902
89903         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89904         in makefile rules.
89905
89906 2003-08-18  Jim Meyering  <jim@meyering.net>
89907
89908         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89909         * m4/lib-ld.m4: Likewise.
89910
89911 2003-08-18  Jim Meyering  <jim@meyering.net>
89912
89913         * lib/setenv.h: Indent nested cpp directive.
89914         * lib/vasnprintf.c: Remove trailing blanks.
89915
89916 2003-08-17  Simon Josefsson  <jas@extundo.com>
89917
89918         * modules/xstrndup: New file.
89919         * MODULES.html.sh (func_all_modules): Add xstrndup.
89920
89921 2003-08-17  Simon Josefsson  <jas@extundo.com>
89922
89923         * modules/argp: Fix autoconf macro name. Add more dependencies.
89924
89925 2003-08-17  Simon Josefsson  <jas@extundo.com>
89926
89927         * m4/xstrndup.m4: New file.
89928
89929 2003-08-17  Simon Josefsson  <jas@extundo.com>
89930
89931         * m4/argp.m4: New file.
89932
89933 2003-08-17  Simon Josefsson  <jas@extundo.com>
89934             Bruno Haible  <bruno@clisp.org>
89935
89936         * lib/xstrndup.h: New file.
89937         * lib/xstrndup.c: New file.
89938
89939 2003-08-17  Bruno Haible  <bruno@clisp.org>
89940
89941         * modules/strndup (Files, Include): Add lib/strndup.h.
89942
89943 2003-08-17  Bruno Haible  <bruno@clisp.org>
89944
89945         * modules/euidaccess (Files): Add lib/euidaccess.h.
89946
89947 2003-08-17  Bruno Haible  <bruno@clisp.org>
89948
89949         * lib/strndup.h: New file.
89950
89951 2003-08-17  Bruno Haible  <bruno@clisp.org>
89952
89953         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
89954         like AC_GNU_SOURCE.
89955         * modules/extensions (configure.ac): Comment out the invocation of
89956         gl_USE_SYSTEM_EXTENSIONS.
89957
89958 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89959
89960         Merges from coreutils, etc.
89961         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
89962         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
89963         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
89964         fixing a typo.
89965         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
89966         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
89967
89968 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89969
89970         Document merge from coreutils.
89971         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
89972         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
89973         * modules/utime: Add m4/utimes-null.m4.
89974
89975 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89976
89977         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
89978         space, undoing this 2003-08-12 change:
89979         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89980
89981 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89982
89983         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89984         strtoul.c from libc, undoing this 2003-08-12 change:
89985         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89986
89987 2003-08-16  Jim Meyering  <jim@meyering.net>
89988
89989         Merges from coreutils.
89990         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89991         prefix.  Adjust cache variables similarly.  Create 500 rather than
89992         just 300 files, to exercise bug on Darwin6.5, too.
89993         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89994         $missing_dir.
89995         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89996         AM_SYS_POSIX_TERMIOS.
89997         Reported by mkc@mathdogs.com.
89998         Also change use of $am_cv_sys_posix_termios
89999         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
90000         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
90001         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
90002         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
90003         in /proc/mounts until it finds one with matching device number.  This
90004         is unnecessary when the FILE argument *is* a mount point.  No stat call
90005         is necessary in that case.  So, disable the statvfs-testing code on
90006         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
90007         as RedHat bug# 84846.
90008         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90009         to 1MB, so as not to render systems with no stack size limit (e.g.,
90010         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90011         Include <unistd.h>.  On some systems,
90012         it is required for the definition of _SC_PAGESIZE.
90013
90014 2003-08-16  Jim Meyering  <jim@meyering.net>
90015
90016         Merge from coreutils.
90017         * lib/xstrtoimax.c: #else #if -> #elif.
90018         * lib/xstrtoumax.c: Likewise.
90019
90020 2003-08-16  Jim Meyering  <jim@meyering.net>
90021
90022         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
90023         * m4/utimes.m4: Removed.
90024         * m4/utimes-null.m4: Renamed from utimes.m4.
90025
90026         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90027         to 1MB, so as not to render systems with no stack size limit (e.g.,
90028         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90029         Include <unistd.h>.  On some systems,
90030         it is required for the definition of _SC_PAGESIZE.
90031
90032 2003-08-16  Jim Meyering  <jim@meyering.net>
90033         and Paul Eggert  <eggert@cs.ucla.edu>
90034
90035         Merges from coreutils, etc.
90036
90037         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
90038         using the latest version from cvs.  This avoids problems with #line
90039         directives using a vendor (Sun) compiler.
90040         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
90041         Don't set GETGROUPS_LIB here; now it's
90042         done via getgroups.m4's wrapper function.
90043         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
90044         rather than just in sh-util/configure.in, so that the
90045         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
90046         same.
90047         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
90048         AC_FUNC_GETLOADAVG where to find getloadavg.c.
90049         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
90050         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
90051         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
90052         Remove code that is now done by the newly-required macros.
90053         Append $(EXEEXT) to DF_PROG.
90054         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
90055         Do not invoke or require the following here,
90056         since prereq.m4 or some gnulib .m4 now does this for us:
90057         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
90058         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
90059         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
90060         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
90061         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
90062         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
90063         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
90064         AC_FUNC_OBSTACK.
90065         Do not replace the following functions, as this is now the job
90066         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
90067         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
90068         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
90069         atexit getpass, strdup, getpagesize.
90070         Replace 'raise'.
90071         Do not check for the following functions, as this is now the job
90072         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
90073         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
90074         setregid.
90075         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
90076         Check for sys/sysctl.h.
90077         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
90078         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
90079         of checking for ssize_t ourselves.
90080
90081         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
90082         Require every macro that gnulib/modules/* suggests for us.
90083         (jm_PREREQ_ADDEXT): New macro.
90084         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
90085         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
90086
90087         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
90088         (gl_PHYSMEM): Use it.
90089         Also check for `table' function.
90090         Check for new headers and functions.
90091         Add check for sys/sysmp.h.
90092         With suggestions from Kaveh Ghazi.
90093         Ignore headers that are present but cannot be compiled.  This
90094         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
90095         C 5.4.
90096
90097 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90098
90099         Document merge from coreutils.
90100         * modules/userspec: Depend on posixver.
90101         * modules/strftime: Depend on tzset.
90102
90103 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90104
90105         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
90106         rather than tab, after '#' in shell-script copyright notices.
90107         Suggested by Bruno Haible.
90108
90109 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90110
90111         * config/srclist-update: Use three spaces, rather than tab, after '#'
90112         in shell-script copyright notices.  Suggested by Bruno Haible.
90113         Remove unnecessary parenthesization in regular expression.
90114
90115 2003-08-15  Jim Meyering  <jim@meyering.net>
90116
90117         Merge from coreutils.
90118         * lib/xgethostname.c: Include <stdlib.h>.
90119         (xghostname): Don't exit for anything other than memory-related
90120         failure; just return NULL.
90121         * lib/userspec.c: Include "posixver.h".
90122         (parse_user_spec): Accept `.' as a separator only
90123         in pre-POSIX-200112 mode.
90124         * lib/strtoimax.c: Use #elif rather than #else #if.
90125         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
90126         Remove function, now that we can rely on a working tzset function.
90127         [!_LIBC]: Ensure that the required autoconf test has been run.
90128         [!defined _NL_CURRENT && HAVE_STRFTIME]:
90129         Use underlying_strftime for %r.
90130         * lib/sha.c: Merge in some clean-up and optimization changes from
90131         glibc.
90132         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
90133         Ensure that it is a multiple of 64.
90134         Rearrange loop exit tests so as to avoid performing an
90135         additional fread after encountering an error or EOF.
90136         * lib/realloc.c: Update copyright date.
90137
90138 2003-08-15  Jim Meyering  <jim@meyering.net>
90139         and Paul Eggert  <eggert@twinsun.com>
90140
90141         Merge from coreutils.
90142         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
90143         member but strut utmpx does not.  Needed for AIX 4.3.3.
90144         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
90145
90146 2003-08-15  Jim Meyering  <jim@meyering.net>
90147         and Paul Eggert  <eggert@cs.ucla.edu>
90148
90149         Merges from coreutils, etc.
90150         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
90151         Require gl_FUNC_TZSET_CLOBBER.
90152         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
90153         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
90154         members.
90155
90156 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90157
90158         Help the merge from coreutils.
90159         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
90160         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
90161         * m4/tzset.m4: Use it too.
90162
90163 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90164
90165         * modules/tzset: New file.
90166
90167 2003-08-14  Jim Meyering  <jim@meyering.net>
90168
90169         Merges from coreutils.
90170         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
90171         variable names, rather than @FNMATCH_H@.
90172         * modules/alloca: Likewise for $(ALLOCA_H).
90173
90174         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
90175         the three copies of the literal target, `fnmatch.h'.
90176         * modules/alloca (alloca.h): Likewise.
90177
90178 2003-08-14  Jim Meyering  <jim@meyering.net>
90179
90180         Merge from coreutils.
90181         * m4/tzset.m4: New file.
90182         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
90183         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
90184         otherwise, AIX 5.1 systems would end up using the latter.
90185         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
90186         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
90187         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
90188         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
90189
90190 2003-08-14  Jim Meyering  <jim@meyering.net>
90191
90192         Merge from coreutils.
90193         * lib/obstack.h: Whitespace changes.
90194         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
90195         and xcalloc return values.
90196         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
90197         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
90198         hang on OSF/1 5.1 for DIR on both local and remote file systems.
90199         Reported by (and fix confirmed by) Nelson H. F. Beebe.
90200         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90201         error from mntctl.
90202         Use mntctl's return value to drive the entry-processing loop, since
90203         we can't rely on the value of the vmt_length member in the last
90204         entry.  On some systems doing so could result in exhausting
90205         virtual memory.  Based in part on a patch from Mike Jetzer.
90206
90207 2003-08-14  Jim Meyering  <jim@meyering.net>
90208         and Paul Eggert  <eggert@twinsun.com>
90209
90210         Merges from coreutils, plus other fixes.
90211         * lib/physmem.c: Merge in portability changes from gcc/libiberty
90212         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
90213         for credits and details.  Thanks to Kaveh Ghazi for helping
90214         to keep these files in sync.
90215         (ARRAY_SIZE): Define it.
90216         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
90217         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
90218         (memcasecmp): Don't assume size_t fits in unsigned int.
90219         Remove casts and duplicate code.
90220         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
90221         (memcpy): Remove definition.
90222         Merge in some clean-up and optimization changes from glibc.
90223         [BLOCKSIZE]: Move definition to top of file.
90224         Ensure that it is a multiple of 64.
90225         Rearrange loop exit tests so as to avoid performing an
90226         additional fread after encountering an error or EOF.
90227         * lib/md5.h (md5_uintptr): Define.
90228         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
90229         return to the initial working directory.  Preserve errno
90230         for caller.
90231         * lib/idcache.c: Include "xalloc.h".
90232         (xmalloc, xrealloc): Remove decls.
90233         (getuser): Remove casts no longer required in C89.
90234         * lib/human.c: Include stdio.h, for sprintf.
90235         * lib/group-member.c: Include "xalloc.h".
90236         (xmalloc, xrealloc): Remove decls.
90237         (get_group_info): Remove casts no longer required in C89.
90238         * lib/getusershell.c (readname): Remove casts no longer required in
90239         C89.
90240         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
90241         * lib/getline.c: Whitespace fix, from coreutils.
90242
90243 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90244
90245         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
90246         Check for isascii.
90247
90248         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90249         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90250         Undo previous (whitespace-only) change.
90251
90252 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90253
90254         * lib/exclude.c: Include <ctype.h>
90255         (IN_CTYPE_DOMAIN): New macro.
90256         (is_space): New fn.
90257         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
90258         and empty lines.
90259
90260         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90261         Undo previous (whitespace-only) change.
90262
90263 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90264
90265         * config/srclist-update: Change update back to the old behavior,
90266         leaving whitespace alone.  Use one 'sed' command rather than a
90267         pipeline.
90268         (fixlicense): Now a variable, not a function.
90269         (remove_trailing_blanks): Remove.
90270         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
90271         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90272         Undo previous (whitespace-only) change.
90273
90274 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90275
90276         Merge from coreutils.
90277         * modules/euidaccess: Add lib_SOURCES, include for new
90278         file euidaccess.h
90279
90280 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90281
90282         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90283         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90284         Normalize leading white space and remove trailing white space.
90285
90286         Merge from coreutils
90287         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
90288
90289         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
90290         0.12.1.  These files are now being upgraded automatically by
90291         ../config/srclist-update.
90292
90293 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90294
90295         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90296         Normalize leading white space and remove trailing white space.
90297         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
90298         notice, as per ../config/srclist-update.
90299
90300         Merge from coreutils.
90301         * lib/euidaccess.h: New file.
90302         * lib/euidaccess.c: Include it.
90303         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
90304         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
90305         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
90306
90307 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90308
90309         * config/srclist-update: Add copyright notice.
90310         (remove_id_lines, remove_trailing_blanks): New constants.
90311         (fixfile): Use them to normalize spacing a bit in copied files.
90312         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90313         Normalize leading white space and remove trailing white space.
90314
90315         * config/texinfo.tex: Sync with texinfo.
90316
90317         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
90318         strtoul.c from libc, to merge coreutils whitespace changes.
90319
90320         * config/srclist.txt: Get the following m4 files from gettext:
90321         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
90322         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
90323         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
90324         wint_t.m4.
90325
90326 2003-08-12  Karl Berry  <karl@gnu.org>
90327
90328         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
90329         been made.
90330
90331 2003-08-11  Paul Eggert  <eggert@twinsun.com>
90332
90333         * modules/gnu-source, m4/gnu-source.m4:
90334         Remove; we're assuming Autoconf 2.54 or later now.
90335         Suggested by Bruno Haible.
90336         * MODULES.html.sh (func_all_modules): Remove gnu-source.
90337
90338 2003-08-11  Bruno Haible  <bruno@clisp.org>
90339
90340         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
90341
90342 2003-08-11  Bruno Haible  <bruno@clisp.org>
90343
90344         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90345         (vasnprintf): Use it instead of wcslen.
90346
90347 2003-08-11  Bruno Haible  <bruno@clisp.org>
90348
90349         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90350         value to ensure that _Bool promotes to int. Use #define for _Bool when
90351         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90352
90353 2003-08-10  Karl Berry  <karl@gnu.org>
90354
90355         * lib/regex.h: update from libc (whitespace fix).
90356
90357 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90358
90359         Merge some files from coreutils.  These changes were
90360         originally made by Jim Meyering.
90361         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90362         many older Unixes require this.
90363         * lib/alloca.c (alloca): Remove cast to argument of free;
90364         no longer needed in C89.
90365         * lib/alloca_.h, regex.h: Fix white space to match
90366         what GNU indent does.
90367
90368 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90369
90370         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90371         apparently Emacs's Unicode mode got confused before my 2003-08-05
90372         checkin.
90373
90374 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90375
90376         * m4/extensions.m4: New file.
90377         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90378         Require gl_USE_SYSTEM_EXTENSIONS.
90379         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90380         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90381
90382 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90383
90384         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90385         * modules/extensions, modules/gnu-source: New files.
90386         * modules/timespec, modules/unlocked-io: Depend on extensions.
90387
90388 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90389
90390         * modules/restrict: New file.
90391         * MODULES.html.sh (func_all_modules): Add restrict.
90392         * modules/regex: Depend on restrict.
90393
90394 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90395
90396         * m4/restrict.m4: New file.
90397         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90398
90399 2003-08-07  Bruno Haible  <bruno@clisp.org>
90400
90401         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
90402         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
90403
90404 2003-08-07  Bruno Haible  <bruno@clisp.org>
90405
90406         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
90407         makes the module 'getndelim2' compatible with the module 'getline'.
90408
90409 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90410
90411         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
90412         byte with "\201" to avoid glitches when editing that source file
90413         with multi-gnome-terminal.
90414
90415 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90416
90417         * lib/bumpalloc.h: Remove.
90418
90419 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90420
90421         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
90422         * modules/bumpalloc: Remove.
90423
90424 2003-08-04  Paul Eggert  <eggert@twinsun.com>
90425
90426         * lib/getloadavg.c: Change copyright notice and spacing to conform to
90427         GNU coding style.
90428
90429         Merge from coreutils.
90430         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
90431         1. From glibc.
90432         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
90433         from Karl Berry, implemented by Jim Meyering.
90434         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
90435         from Dmitry V. Levin.
90436         Remove anachronistic cast of xrealloc.
90437         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
90438         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
90439         type. Otherwise, it wouldn't compile with at least /bin/cc on
90440         ymp-cray-unicos9.0.2.X.
90441         Combine two mostly-identical uses of alloca into one.
90442         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
90443
90444 2003-08-04  Dave Love  <d.love@dl.ac.uk>
90445
90446         [From Emacs.]
90447
90448         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
90449         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
90450         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
90451         obsolete NLIST_NAME_UNION.
90452         [__GNU__]: Undef BSD and FSCALE.
90453         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
90454
90455 2003-08-03  Paul Eggert  <eggert@twinsun.com>
90456
90457         * lib/stdbool_.h (_Bool): Make it signed char, instead of
90458         an enum type, so that it's guaranteed to promote to int.  See:
90459         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
90460
90461 2003-08-03  Karl Berry  <karl@gnu.org>
90462
90463         * config/depcomp: update from automake.
90464
90465 2003-07-31  Paul Eggert  <eggert@twinsun.com>
90466
90467         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
90468         (strerror): Don't assume that a printable int fits in 14 bytes.
90469
90470 2003-07-31  Bruno Haible  <bruno@clisp.org>
90471
90472         * modules/getpass-gnu: New file.
90473         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
90474
90475 2003-07-31  Bruno Haible  <bruno@clisp.org>
90476
90477         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
90478
90479 2003-07-24  Karl Berry  <karl@gnu.org>
90480
90481         * config/missing: update from automake.
90482
90483 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
90484             Bruno Haible  <bruno@clisp.org>
90485
90486         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
90487         * lib/getline.c (getline, getdelim): Likewise.
90488         Remove _GNU_SOURCE define; now it's defined in config.h through
90489         m4/getline.m4.
90490
90491 2003-07-23  Karl Berry  <karl@gnu.org>
90492
90493         * config/config.sub: update from prep.
90494
90495 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90496
90497         * modules/xalloc (Depends-on): Add exitfail.
90498         * modules/xmemcoll: Likewise.
90499
90500 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90501
90502         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
90503         over-parenthesization in macros.
90504
90505         Sync with coreutils.
90506
90507         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
90508         required by C99.
90509
90510         Use `exit_failure' for xalloc and xmemcoll instead of their own
90511         private exit-failure variables.
90512         * lib/xalloc.h (xalloc_exit_failure): Remove.
90513         * lib/xmalloc.c: Likewise.  Include exitfail.h.
90514         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
90515         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
90516         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
90517         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
90518
90519 2003-07-20  Jim Meyering  <jim@meyering.net>
90520
90521         * modules/closeout (Depends-on): Add exitfail.
90522         Suggestion from Bruno Haible.
90523
90524 2003-07-19  Karl Berry  <karl@gnu.org>
90525
90526         * config/config.sub: update from prep.
90527
90528 2003-07-18  Paul Eggert  <eggert@twinsun.com>
90529
90530         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
90531         Remove.
90532         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
90533         to test that it can stand by itself.  Include "exitfail.h".
90534         Clients should set exit_failure instead.
90535         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
90536
90537 2003-07-18  Bruno Haible  <bruno@clisp.org>
90538
90539         * modules/getndelim2: New file.
90540         * modules/getline: Share files with module getndelim2.
90541         * modules/getnline: Depend on getndelim2 instead of sharing files with
90542         it. Add getnline.c to lib_SOURCES.
90543         * MODULES.html.sh (func_all_modules): Add getndelim2.
90544
90545 2003-07-18  Bruno Haible  <bruno@clisp.org>
90546
90547         * m4/getndelim2.m4: New file.
90548         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
90549         invoke gl_PREREQ_GETNDELIM2.
90550         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
90551         gl_PREREQ_GETNDELIM2.
90552         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
90553         gl_GETNDELIM2.
90554
90555 2003-07-18  Bruno Haible  <bruno@clisp.org>
90556
90557         * lib/getndelim2.h: New file.
90558         * lib/getndelim2.c: Make into a module of its own. Include config.h,
90559         getndelim2.h.
90560         (getndelim2): Make non-static. Change return type to ssize_t.
90561         * lib/getline.h: Change argument names.
90562         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
90563         * lib/getnline.c: Include getndelim2.h.
90564
90565 2003-07-18  Andreas Schwab  <schwab@suse.de>
90566
90567         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
90568
90569 2003-07-17  Karl Berry  <karl@gnu.org>
90570
90571         * config/config.sub: update from prep.
90572
90573 2003-07-17  Bruno Haible  <bruno@clisp.org>
90574
90575         * modules/getnline: New file.
90576         * modules/getline: Add lib/getndelim2.c to source file list.
90577         * MODULES.html.sh (func_all_modules): Add getnline.
90578
90579 2003-07-17  Bruno Haible  <bruno@clisp.org>
90580
90581         * m4/getnline.m4: New file.
90582
90583 2003-07-17  Bruno Haible  <bruno@clisp.org>
90584
90585         * m4/Makefile.am.in: Remove file.
90586         * m4/Makefile.am: Remove file.
90587         * m4/Makefile.in: Remove file.
90588
90589 2003-07-17  Bruno Haible  <bruno@clisp.org>
90590
90591         * lib/getnline.h: New file.
90592         * lib/getnline.c: New file.
90593         * lib/getndelim2.c: New file, extracted from getline.c.
90594         (getndelim2): Renamed from getdelim2, with added nmax argument.
90595         * lib/getline.c: Include getndelim2.c.
90596         (getdelim2): Moved out to getndelim2.c.
90597         (getline, getdelim): Update.
90598
90599 2003-07-17  Bruno Haible  <bruno@clisp.org>
90600
90601         * lib/Makefile.am: Remove file.
90602         * lib/Makefile.in: Remove file.
90603
90604 2003-07-17  Bruno Haible  <bruno@clisp.org>
90605
90606         * configure.in: Remove file.
90607         * Makefile.in: Remove file.
90608
90609 2003-07-17  Bruno Haible  <bruno@clisp.org>
90610
90611         * MODULES.html.sh: Put the </BODY> right before </HTML>.
90612
90613 2003-07-16  Karl Berry  <karl@gnu.org>
90614
90615         * config/srclist-update: was running fixlicense twice, which caused
90616                 texinfo.tex to be nullified for some reason.  Simplify,
90617                 $gplsrc is no longer needed as far as I can see?
90618
90619 2003-07-16  Jim Meyering  <jim@meyering.net>
90620
90621         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
90622
90623 2003-07-15  Paul Eggert  <eggert@twinsun.com>
90624
90625         * config/srclist.txt: Get the following files from gettext-runtime/intl
90626         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
90627         ref-del.sin.  From Bruno Haible.
90628         * config/srclist-update (fixfile): Change grep pattern again, since the
90629         previous fix didn't work (there was another trailing $).  Use
90630         '[$]' to escape the $s.
90631
90632 2003-07-15  Karl Berry  <karl@gnu.org>
90633
90634         * lib/vasnprintf.c: update from gettext.
90635
90636 2003-07-15  Karl Berry  <karl@gnu.org>
90637
90638         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
90639         gets expanded when surrounded by '$'.
90640
90641 2003-07-15  Jim Meyering  <jim@meyering.net>
90642
90643         * modules/save-cwd: Don't depend on error.  From Derek Price.
90644
90645 2003-07-15  Jim Meyering  <jim@meyering.net>
90646
90647         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
90648
90649 2003-07-14  Simon Josefsson  <jas@extundo.com>
90650
90651         * modules/mempcpy: New file.
90652         * MODULES.html.sh (func_all_modules): Add mempcpy.
90653
90654 2003-07-14  Simon Josefsson  <jas@extundo.com>
90655
90656         * m4/mempcpy.m4: New file.
90657
90658 2003-07-14  Simon Josefsson  <jas@extundo.com>
90659
90660         * lib/mempcpy.h: New file.
90661         * lib/mempcpy.c: New file.
90662
90663 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90664
90665         * modules/getdate, modules/posixtm: Depend on mktime.
90666
90667 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90668
90669         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
90670         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
90671         unicodeio.c, unicodeio.h, unlocked-io.h:
90672         Switch from LGPL to GPL.
90673
90674 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90675
90676         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
90677         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
90678         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
90679         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
90680         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
90681         updated automatically by ../config/srclist-update.  This changes
90682         their license from LPGL to GPL.
90683
90684 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90685
90686         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
90687         assumed to refer to the root of the most recent stable gettext version.
90688         * config/srclistvars.sh: Add defaults for eggert.
90689         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
90690         Match "This program" as well as "The program".  This is needed
90691         for gettext.
90692
90693 2003-07-14  Jim Meyering  <jim@meyering.net>
90694
90695         Don't emit diagnostics.  Let callers do that.
90696         * lib/save-cwd.c: Don't include "error.h".
90697         (save_cwd): Don't call error.  Ensure that errno is valid
90698         when returning nonzero.
90699
90700         * lib/save-cwd.h (restore_cwd): Update prototype.
90701         * lib/save-cwd.c (restore_cwd): Remove two parameters.
90702         Simplify.  Don't call error upon failure.  Let callers do that.
90703         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
90704         when auditing is enabled.  But don't bother updating the #if.
90705
90706 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
90707
90708         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
90709         it breaks C++ compilation.
90710         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
90711
90712 2003-07-10  Simon Josefsson  <jas@extundo.com>
90713
90714         * modules/strchrnul (Makefile.am): Add strchrnul.h.
90715
90716 2003-07-10  Jim Meyering  <jim@meyering.net>
90717
90718         * m4/clock_time.m4: Remove trailing blank.
90719         * m4/intmax_t.m4: Likewise.
90720
90721 2003-07-10  Jim Meyering  <jim@meyering.net>
90722
90723         * lib/vasnprintf.c: Remove trailing blanks.
90724         Make cpp indentation consistent.
90725
90726 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90727
90728         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
90729         posixver.c, strftime.c, strnlen.c, strverscmp.c:
90730         Switch from LGPL to GPL.
90731
90732 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90733
90734         * config/srclist.txt: Sort sublists.  Add
90735         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
90736         that differ from gnulib for one reason or another; we'd like this list
90737         to be smaller but for now let's document what we have.
90738
90739 2003-07-08  Paul Eggert  <eggert@twinsun.com>
90740
90741         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
90742         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
90743         and sweeter "eval x=$x".
90744         * config/srclist.txt: Get lib/argp* from glibc.
90745
90746 2003-07-07  Paul Eggert  <eggert@twinsun.com>
90747
90748         * lib/mktime.c: Fix some boundary cases and remove need for floating
90749         point.
90750
90751         Issue a compile-time diagnostic if time_t is floating point, or if
90752         two's complement arithmetic is not in effect, or if arithmetic
90753         right shift does not propagate the sign.  These assumptions were
90754         all in the original code but they weren't checked.
90755
90756         (TIME_T_MIDPOINT, verify): New macros.
90757         (__isleap): Remove; it has integer overflow problems.
90758         (leapyear): New function, without those problems.
90759         (ydhms_tm_diff): Remove; splitting into two parts.
90760         (ydhms_diff): New function, containing the arithmetic part of
90761         the old ydhms_tm_diff function.  Issue a compile-time
90762         diagnostic if we are not using C99 integer division.
90763         Avoid casts when possible.
90764         (guess_time_tm): New function, containing the checking part of
90765         the old ydhms_tm_diff function.  Return the new value, rather than
90766         the difference between it and the old.  Accept a new argument T
90767         so that *T specifies the old value.  Check for overflow in the result.
90768
90769         (__mktime_internal): Use a time_t offset, not a long int offset.
90770         This undoes the 2003-06-04 change, which is no longer needed now
90771         that we have better overflow checking.
90772         (localtime_offset): Likewise.
90773
90774         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90775         and long are 64-bit but int is only 32-bit.
90776         (ydhms_diff): Use long int to store year1 and yday1.
90777         Issue a compile-time diagnostic if long int is not wide enough.
90778
90779         (__mktime_internal): Use long int to store adjusted year and yday.
90780         Use plain C rather than preprocessor commands, if that doesn't
90781         affect efficiency.
90782         Check for overflow (and try to repair) after each probe
90783         rather than checking only at the very end.  This avoids some bugs
90784         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90785         does not equal GMT offset at maximum time).
90786         Use integer to check for overflow rather than floating point; this
90787         is more portable to non-IEEE hosts, and is a tad faster.
90788         When we detect that we are oscillating between two values,
90789         don't check whether tm_isdst has the requested value, since
90790         we already know the answer.  When tm_isdst has the wrong value,
90791         use a different heuristic to find the right one, based on the
90792         extreme values actually observed in practice in tz2003a,
90793         rather than the (overly optimistic) "previous 3 calendar quarters".
90794
90795         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90796         "T const" to accommodate glibc style.
90797         (check_result): Use less-confusing report format.  "long" -> "long int.
90798         (main): Likewise.
90799         Don't loop if the iteration overflows time_t.
90800         Allow a negative step in the iteration.
90801
90802 2003-07-06  Karl Berry  <karl@gnu.org>
90803
90804         * config/depcomp: update from automake.
90805         * config/config.sub: update from prep.
90806
90807 2003-07-03  Karl Berry  <karl@gnu.org>
90808
90809         * config/config.guess: update from prep.
90810
90811 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90812
90813         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90814         xreadlink.c now includes it unconditionally.
90815
90816 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90817
90818         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90819         having it depend on HAVE_SYS_TYPES_H.
90820
90821 2003-07-01  Bruno Haible  <bruno@clisp.org>
90822
90823         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90824         <sys/types.h> should be sufficient.
90825         Reported by Paul Eggert.
90826
90827 2003-06-26  Karl Berry  <karl@gnu.org>
90828
90829         * config/depcomp: update from automake.
90830
90831 2003-06-26  Bruno Haible  <bruno@clisp.org>
90832
90833         * modules/human: Depend on module stdbool.
90834
90835 2003-06-25  Bruno Haible  <bruno@clisp.org>
90836
90837         * modules/readlink: New file.
90838         * modules/xreadlink: Depend on it.
90839         * MODULES.html.sh (func_all_modules): Add readlink.
90840
90841 2003-06-25  Bruno Haible  <bruno@clisp.org>
90842
90843         * m4/readlink.m4: New file.
90844
90845 2003-06-25  Bruno Haible  <bruno@clisp.org>
90846
90847         * lib/readlink.c: New file.
90848
90849 2003-06-22  Karl Berry  <karl@gnu.org>
90850
90851         * config/srclist.txt: update mkinstalldirs from automake.
90852         * config/mkinstalldirs: update.
90853
90854 2003-06-22  Bruno Haible  <bruno@clisp.org>
90855
90856         Portability to mingw32.
90857         * m4/ssize_t.m4: New file, from GNU gettext.
90858         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90859         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90860
90861 2003-06-22  Bruno Haible  <bruno@clisp.org>
90862
90863         * modules/safe-read: Add m4/ssize_t.m4.
90864         * modules/xreadlink: Add m4/ssize_t.m4.
90865
90866 2003-06-20  Bruno Haible  <bruno@clisp.org>
90867
90868         Assume C89, so PARAMS isn't needed.
90869         * lib/unicodeio.h (PARAMS): Remove.
90870         * lib/unicodeio.c: Don't use PARAMS.
90871
90872 2003-06-18  Karl Berry  <karl@gnu.org>
90873
90874         * config/config.{guess,sub}: update from prep.
90875
90876 2003-06-18  Jim Meyering  <jim@meyering.net>
90877
90878         Merge changes from coreutils.
90879         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90880         Remove explicit declarations of xmalloc and realloc.
90881         Include xalloc.h.
90882         (read_utmp): Remove anachronistic cast of xmalloc.
90883
90884 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90885
90886         Assume C89, so PARAMS isn't needed.
90887         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90888         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90889         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90890         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90891         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90892         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90893         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90894         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90895         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90896         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90897         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90898         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90899         no longer needed. Anyway, config.h should always be included before any
90900         other file.
90901
90902 2003-06-11  Simon Josefsson  <jas@extundo.com>
90903
90904         * modules/sysexits: New file.
90905         * MODULES.html.sh (func_all_modules): Add sysexits.
90906
90907 2003-06-11  Simon Josefsson  <jas@extundo.com>
90908
90909         * lib/sysexit_.h: New file.
90910
90911 2003-06-11  Derek Price  <derek@ximbiot.com>
90912
90913         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90914         necessary.
90915
90916 2003-06-11  Bruno Haible  <bruno@clisp.org>
90917
90918         * m4/sysexits.m4: New file.
90919
90920 2003-06-10  Simon Josefsson  <jas@extundo.com>
90921
90922         * lib/argp.h: New file, from glibc.
90923         * lib/argp-ba.c: New file, from glibc.
90924         * lib/argp-eexst.c: New file, from glibc.
90925         * lib/argp-fmtstream.c: New file, from glibc.
90926         * lib/argp-fmtstream.h: New file, from glibc.
90927         * lib/argp-fs-xinl.c: New file, from glibc.
90928         * lib/argp-help.c: New file, from glibc.
90929         * lib/argp-namefrob.h: New file, from glibc.
90930         * lib/argp-parse.c: New file, from glibc.
90931         * lib/argp-pv.c: New file, from glibc.
90932         * lib/argp-pvh.c: New file, from glibc.
90933         * lib/argp-xinl.c: New file, from glibc.
90934
90935 2003-06-10  Simon Josefsson  <jas@extundo.com>
90936
90937         * modules/strchrnul: New file.
90938
90939 2003-06-10  Simon Josefsson  <jas@extundo.com>
90940
90941         * modules/argp: New file.
90942
90943 2003-06-10  Simon Josefsson  <jas@extundo.com>
90944
90945         * m4/strchrnul.m4: New file.
90946
90947 2003-06-10  Simon Josefsson  <jas@extundo.com>
90948
90949         * lib/strchrnul.h: New file.
90950         * lib/strchrnul.c: New file.
90951
90952 2003-06-10  Bruno Haible  <bruno@clisp.org>
90953
90954         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
90955
90956 2003-06-07  Karl Berry  <karl@gnu.org>
90957
90958         * config/config.{guess,sub}: update from prep.
90959
90960 2003-06-07  Jim Meyering  <jim@meyering.net>
90961
90962         * modules/strtod: Use $(...) notation, not @...@ for
90963         AC_REPLACE'd variables.
90964         * modules/localcharset: Likewise.
90965
90966 2003-06-07  Jim Meyering  <jim@meyering.net>
90967
90968         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
90969         in place of my name in the copyright comment.
90970         Remove definition and uses of __P.
90971
90972         From coreutils.
90973         * lib/stat.c: Don't declare xmalloc explicitly.
90974         Instead, include "xalloc.h".
90975         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
90976         xrealloc, and xcalloc return values.
90977         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
90978         Improve comment.
90979         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90980
90981 2003-06-07  Bruno Haible  <bruno@clisp.org>
90982
90983         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90984         avoid AC_CONFIG_LINKS.
90985         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90986         fnmatch.h, to avoid AC_CONFIG_LINKS.
90987         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90988
90989 2003-06-07  Bruno Haible  <bruno@clisp.org>
90990
90991         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90992         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90993         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90994         directory.
90995         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90996         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90997         directory.
90998
90999 2003-06-06  Jim Meyering  <jim@meyering.net>
91000
91001         Merge from coreutils.
91002         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
91003         Consolidate declarations and initializations of *_base* locals.
91004
91005         Merge from coreutils.
91006         This avoids a core dump on systems without GNU putenv,
91007         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
91008         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
91009         (unsetenv): New static function, from GNU libc.
91010         (rpl_putenv): Use it.
91011
91012         * lib/modechange.c: Remove trailing blanks.
91013
91014         Merge from coreutils.
91015         * lib/fsusage.c: Remove declaration of statfs.
91016         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
91017
91018         * lib/posixtm.c: Include <stdbool.h> unconditionally.
91019
91020 2003-06-06  Jim Meyering  <jim@meyering.net>
91021
91022         * lib/stdbool_.h: Renamed from stdbool.h.in.
91023
91024 2003-06-06  Jim Meyering  <jim@meyering.net>
91025             Bruno Haible  <bruno@clisp.org>
91026
91027         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
91028         Adjust Makefile.am snippet not to redirect directly to target.
91029         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
91030
91031 2003-06-05  Paul Eggert  <eggert@twinsun.com>
91032
91033         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
91034         mismatch, look in future quarters as well as past.  This fixes a
91035         bug when processing fall-backwards gaps immediately after a long
91036         period of daylight-saving time.
91037
91038         * lib/mktime.c: Assume freestanding C89 or better.
91039         (HAVE_LIMITS_H): Remove.  Assume it's 1.
91040         (__P): Remove; not used.
91041         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
91042         (mktime, not_equal_tm, print_tm, check_result,
91043         main): Use prototypes.  Use const * where appropriate.
91044         (main): Fix typo in testing code that uncovered by above changes.
91045         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
91046
91047 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91048
91049         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
91050         locale.h, localeconv.  This merges changes from coreutils.
91051
91052         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
91053         It can be removed after the next Autoconf is released.
91054         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
91055         needed.
91056
91057 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91058
91059         * lib/mktime.c: Fix Debian bug 177940
91060         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
91061         (localtime_offset): Now long int, not time_t, because we want it
91062         to be guaranteed to be signed.  All uses changed.
91063         (__mktime_internal): If overflow would occur when adding offset,
91064         don't add it.
91065
91066         Merge 'human' changes from coreutils.  Rewrite to support
91067         locale-specific notations like thousands separators.
91068         * lib/human.c: Simplify authorship notice.
91069         Include human.h immediately after config.h.
91070         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
91071         <limits.h>: Do not include, since human.h does.
91072         (SIZE_MAX, UINTMAX_MAX): New macros.
91073         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
91074         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
91075         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
91076         (power_letter): Renamed from suffixes.
91077         (generate_suffix_backwards): Remove.
91078         (adjust_value): Now takes int style (because of human.h changes)
91079         and long double value (for greater precision on some platforms).
91080         (group_number): New function.
91081         (human_readable): Use it.  Use integer options, not enum.
91082         Put the options before the sizes in the arg list.
91083         Support all the new options.
91084         The old human_readable function has been removed;
91085         use inttostr.h instead.
91086         (human_readable, default_block_size, humblock):
91087         Use uintmax_t, not int, for block sizes.
91088         (human_readable_inexact, block_size_types): Remove.
91089         (block_size_opts): New constant.
91090         (human_options): Renamed from human_block_size, with new signature
91091         that allows block sizes up to UINTMAX_MAX.  All callers changed.
91092         * lib/human.h: Add copyright and authorship notice.
91093         Include <limits.h> and <stdbool.h> unconditionally.
91094         (PARAMS): Remove.  All uses removed.
91095         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
91096         (enum human_inexact_style): Remove tag; now a nameless enum.
91097         (human_floor, human_ceiling, human_round_to_even): Now have
91098         values 2, 0, 1 rather than -1, 1, 0.
91099         (human_group_digits, human_suppress_point_zero, human_autoscale,
91100         human_base_1024, human_SI, human_B): New constants.
91101         (human_readable_inexact, human_block_size): Remove.
91102         (human_readable): Size args are now uintmax_t, not int.
91103         (human_options): New decl.
91104
91105         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
91106         unnecessary now that we assume C89 or better.  This change
91107         imported from coreutils.
91108
91109         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91110         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
91111         in the 2003-05-30 sync from glibc.
91112
91113         .h files should stand alone, but we shouldn't include <sys/types.h>
91114         if we can get away with just <stddef.h>.
91115
91116         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
91117         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
91118         rather than <sys/types.h>, as we merely need size_t.
91119         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
91120         to get size_t.
91121         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
91122         Include <stdio.h>, to get FILE.
91123         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
91124         memcasecmp.h has included <stddef.h> and all we need is size_t.
91125         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
91126         our interface, instead of including <sys/types.h>
91127
91128 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91129
91130         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
91131         now, as glibc mktime is buggy on non-glibc systems.
91132
91133 2003-06-03  Karl Berry  <karl@gnu.org>
91134
91135         * config/config.sub: update from prep.
91136
91137 2003-06-02  Paul Eggert  <eggert@twinsun.com>
91138
91139         [from coreutils]
91140         Fix some minor time-related bugs with POSIX time arguments.
91141         Some valid time stamps were being rejected (notably -1, and
91142         time stamps before 1900 on 64-bit hosts).  And some invalid
91143         time stamps were being accepted, e.g. September 31.
91144
91145         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
91146         that we can return (time_t) -1 successfully.
91147         * lib/posixtm.c: Likewise.
91148         [HAVE_STDBOOL_H]: Include <stdbool.h>.
91149         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
91150         (t): Remove static var.
91151         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
91152         of static var.  All uses changed.
91153         (year): Do not reject years before 1900; they can occur with
91154         64-bit time_t.
91155         (posix_time_parse): Do not check for out-of-range components;
91156         that is now the caller's responsibility, since our checks were
91157         only approximations.
91158         (posixtime): Use mktime to check for out-of-range components,
91159         since it knows them exactly.
91160         If mktime returns (time_t) -1, check whether an error actually occurred
91161         by invoking localtime on -1.
91162         (main) [TEST_POSIXTIME]: Check for input data errors, and report
91163         posixtime failures better.
91164         Improve the test data (in comments only).
91165
91166 2003-06-02  Karl Berry  <karl@gnu.org>
91167
91168         * config/mkinstalldirs (version): new variable.
91169         (--version): new option.
91170         (usage): improve message.
91171
91172 2003-05-30  Karl Berry  <karl@gnu.org>
91173
91174         * lib/mktime.c: update from libc.
91175
91176 2003-05-30  Bruno Haible  <bruno@clisp.org>
91177
91178         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
91179         * config/config.rpath: Upgrade to gettext-0.12.1.
91180
91181 2003-05-30  Bruno Haible  <bruno@clisp.org>
91182
91183         * m4/gettext.m4: Upgrade to gettext-0.12.1.
91184         * m4/nls.m4: New file, from gettext-0.12.1.
91185         * m4/po.m4: New file, from gettext-0.12.1.
91186         * m4/progtest.m4: Upgrade to gettext-0.12.1.
91187
91188 2003-05-30  Bruno Haible  <bruno@clisp.org>
91189
91190         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
91191         * lib/localcharset.h: Likewise.
91192         * lib/localcharset.c: Likewise.
91193
91194 2003-05-29  Karl Berry  <karl@gnu.org>
91195
91196         * config/config.rpath: update from gettext.
91197
91198 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91199
91200         Assume the headers required for C89 freestanding compilers.
91201         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
91202         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
91203         * m4/human.m4 (gl_HUMAN): Likewise.
91204         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
91205         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
91206         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91207         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
91208         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91209         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
91210
91211 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91212
91213         Assume the headers required for C89 freestanding compilers.
91214         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
91215         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
91216         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
91217         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
91218         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
91219         define, since <limits.h> is guaranteed to do that.
91220         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
91221         * lib/exclude.c: Include <stdbool.h> unconditionally.
91222         * lib/tempname.c: Include <stddef.h> unconditionally.
91223         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
91224         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
91225         <stddef.h> does that.
91226         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
91227         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
91228         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
91229         needed.
91230         * lib/xstrtol.c: Likewise.
91231         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
91232         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
91233
91234         * lib/addext.c (addext): Use assignment rather than cast, to avoid
91235         warnings on some platforms.
91236
91237         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91238         arbitrarily.
91239
91240 2003-05-26  Jim Meyering  <jim@meyering.net>
91241
91242         Merge in a change from coreutils:
91243         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
91244         that is guaranteed to be `no'.  Use `no_such_member' to indicate
91245         that condition, rather than `-1' which is slightly misleading.
91246         Change the name of the cache variable to have the gl_ prefix.
91247         Prompted by a patch from Richard Dawe for DJGPP.
91248
91249 2003-05-24  Karl Berry  <karl@gnu.org>
91250
91251         * config/config.guess: update from prep.
91252
91253 2003-05-22  Karl Berry  <karl@gnu.org>
91254
91255         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
91256
91257 2003-05-20  Karl Berry  <karl@gnu.org>
91258
91259         * config/config.guess: update from prep.
91260
91261 2003-05-18  Karl Berry  <karl@gnu.org>
91262
91263         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
91264         might actually be set by the user.
91265
91266         * config/depcomp, install-sh, mdate-sh: update from automake.
91267
91268 2003-05-17  Bruno Haible  <bruno@clisp.org>
91269
91270         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
91271         invalid expansion for AC_EGREP_CPP.
91272         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
91273         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
91274         Suggested by Akim Demaille <akim@epita.fr> in
91275         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
91276
91277 2003-05-12  Jim Meyering  <jim@meyering.net>
91278
91279         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
91280         the space-padded-by-default conversion specifiers, %e, %k, %l.
91281
91282 2003-05-12  Bruno Haible  <bruno@clisp.org>
91283
91284         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
91285         the string is longer than 4 KB.
91286
91287 2003-05-11  Karl Berry  <karl@gnu.org>
91288
91289         * config/config.{guess,sub}: update from prep.
91290
91291 2003-05-09  Bruno Haible  <bruno@clisp.org>
91292
91293         * modules/error: Add m4/strerror_r.m4 to file list.
91294
91295 2003-05-03  Bruno Haible  <bruno@clisp.org>
91296
91297         Upgrade to Unicode-4.0.
91298         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
91299         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
91300         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
91301         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
91302         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
91303         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
91304         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
91305         Change width of U+E0100..U+E01EF from 1 to 0.
91306
91307 2003-04-25  Jim Meyering  <jim@meyering.net>
91308
91309         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
91310         of type size_t, not int.
91311
91312 2003-04-25  Bruno Haible  <bruno@clisp.org>
91313
91314         * lib/copy-file.c: Include <stddef.h>, for size_t.
91315
91316 2003-04-21  Paul Eggert  <eggert@twinsun.com>
91317
91318         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
91319         code which expansion is under static control.  Patch imported from
91320         Akim Demaille's patch to Bison; see
91321         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
91322
91323 2003-04-14  Bruno Haible  <bruno@clisp.org>
91324
91325         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
91326
91327 2003-04-11  Jim Meyering  <jim@meyering.net>
91328
91329         Merge changes from Coreutils.
91330
91331         2003-03-22  Jim Meyering  <jim@meyering.net>
91332
91333         * lib/strftime.c (widen): Cast alloca return value to proper type.
91334
91335         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
91336
91337         From GNU libc.
91338         * lib/strftime.c (my_strftime): Handle very large width
91339         specifications for numeric values correctly.  Improve checks for
91340         overflow.
91341
91342         2003-01-19  Jim Meyering  <jim@meyering.net>
91343
91344         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91345         definitions.
91346         (nl_get_alt_digit) [! defined my_strftime]: Define.
91347         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91348         _nl_get_alt_digit and _nl_get_walt_digit.
91349
91350         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91351         libc. These changes have no effect outside of _LIBC.
91352
91353 2003-04-10  Bruno Haible  <bruno@clisp.org>
91354
91355         * modules/findprog: New file.
91356         * MODULES.html.sh (func_all_modules): Add it.
91357
91358 2003-04-10  Bruno Haible  <bruno@clisp.org>
91359
91360         * m4/findprog.m4: New file.
91361         * m4/eaccess.m4: New file.
91362
91363 2003-04-10  Bruno Haible  <bruno@clisp.org>
91364
91365         * lib/findprog.h: New file, from GNU gettext.
91366         * lib/findprog.c: New file, from GNU gettext.
91367
91368 2003-04-05  Jim Meyering  <jim@meyering.net>
91369
91370         Merge changes from Coreutils.
91371
91372         * lib/exclude.h (PARAMS): Remove definition and uses.
91373         * lib/exclude.c: Remove uses of `PARAMS'.
91374
91375         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91376         Add test-cases for DOS filenames. Declare program_name.
91377         (main): Set up program_name.  Patch by Rich Dawe.
91378
91379         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91380         error from mntctl.
91381         Use mntctl's return value to drive the entry-processing loop, since
91382         we can't rely on the value of the vmt_length member in the last
91383         entry.  On some systems doing so could result in exhausting
91384         virtual memory.  Based in part on a patch from Mike Jetzer.
91385
91386 2003-04-04  Bruno Haible  <bruno@clisp.org>
91387
91388         * modules/linebreak: New file.
91389         * MODULES.html.sh (func_all_modules): Add it.
91390
91391 2003-04-04  Bruno Haible  <bruno@clisp.org>
91392
91393         * m4/linebreak.m4: New file.
91394
91395 2003-04-04  Bruno Haible  <bruno@clisp.org>
91396
91397         * lib/linebreak.h: New file, from GNU gettext.
91398         * lib/linebreak.c: New file, from GNU gettext with slight
91399         modifications.
91400         * lib/lbrkprop.h: New file, from GNU gettext.
91401
91402 2003-04-03  Bruno Haible  <bruno@clisp.org>
91403
91404         * modules/utf8-ucs4: New file.
91405         * modules/utf16-ucs4: New file.
91406         * modules/ucs4-utf8: New file.
91407         * modules/ucs4-utf16: New file.
91408         * MODULES.html.sh (func_all_modules): Add them.
91409
91410 2003-04-03  Bruno Haible  <bruno@clisp.org>
91411
91412         * m4/utf-ucs4.m4: New file.
91413         * m4/ucs4-utf.m4: New file.
91414
91415 2003-04-03  Bruno Haible  <bruno@clisp.org>
91416
91417         * lib/utf8-ucs4.h: New file, from GNU gettext.
91418         * lib/utf16-ucs4.h: New file, from GNU gettext.
91419         * lib/ucs4-utf8.h: New file, from GNU gettext.
91420         * lib/ucs4-utf16.h: New file, from GNU gettext.
91421
91422 2003-04-02  Bruno Haible  <bruno@clisp.org>
91423
91424         * modules/binary-io: New file.
91425         * MODULES.html.sh (func_all_modules): Add it.
91426
91427 2003-04-02  Bruno Haible  <bruno@clisp.org>
91428
91429         * lib/binary-io.h: New file, from GNU gettext.
91430
91431 2003-04-01  Bruno Haible  <bruno@clisp.org>
91432
91433         * modules/pathname: New file.
91434         * MODULES.html.sh (func_all_modules): Add it.
91435
91436 2003-04-01  Bruno Haible  <bruno@clisp.org>
91437
91438         * lib/pathname.h: New file, from GNU gettext.
91439         * lib/concatpath.c: New file, from GNU gettext.
91440
91441 2003-03-30  Bruno Haible  <bruno@clisp.org>
91442
91443         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
91444
91445 2003-03-30  Bruno Haible  <bruno@clisp.org>
91446
91447         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
91448         function chown() doesn't exist.
91449
91450 2003-03-28  Bruno Haible  <bruno@clisp.org>
91451
91452         * modules/copy-file: New file.
91453         * MODULES.html.sh (func_all_modules): Add it.
91454
91455 2003-03-28  Bruno Haible  <bruno@clisp.org>
91456
91457         * m4/copy-file.m4: New file.
91458
91459 2003-03-28  Bruno Haible  <bruno@clisp.org>
91460
91461         * lib/copy-file.h: New file, from GNU gettext.
91462         * lib/copy-file.c: New file, from GNU gettext.
91463
91464 2003-03-18  Jim Meyering  <jim@meyering.net>
91465
91466         * lib/quote.c (quote_n): Fix typo in comment.
91467
91468 2003-03-18  Bruno Haible  <bruno@clisp.org>
91469
91470         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
91471         checking.
91472         * m4/onceonly_2_57.m4: Likewise.
91473
91474 2003-03-17  Bruno Haible  <bruno@clisp.org>
91475
91476         * m4/onceonly.m4: Require autoconf 2.54 or newer.
91477         (m4_quote): Remove macro.
91478         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
91479
91480 2003-03-14  Jim Meyering  <jim@meyering.net>
91481
91482         Merge changes from Coreutils.
91483         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
91484         to be const, in order to avoid warnings.
91485         (obstack_room): Likewise.
91486         (obstack_empty_p): Likewise.
91487
91488 2003-03-14  Bruno Haible  <bruno@clisp.org>
91489
91490         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
91491         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
91492
91493 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91494
91495         Merge changes from Bison.
91496         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
91497         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
91498         when compiling Bison 1.875's `bitset bset = obstack_alloc
91499         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
91500         * lib/hash.c: Include <stdbool.h> unconditionally.
91501
91502 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91503
91504         * m4/onceonly.m4 (m4_quote): New macro.
91505         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
91506         Quote AC_FOREACH variable-expansions properly.
91507
91508 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91509
91510         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
91511
91512 2003-03-09  Paul Eggert  <eggert@twinsun.com>
91513
91514         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
91515         Reported by Bruce Becker; see:
91516         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
91517
91518 2003-03-03  Paul Eggert  <eggert@twinsun.com>
91519             Bruno Haible  <bruno@clisp.org>
91520
91521         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
91522         Reported by John Hughes, see
91523         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
91524
91525 2003-02-20  Bruno Haible  <bruno@clisp.org>
91526
91527         * MODULES.html.sh (func_all_modules): Add poll.
91528
91529 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91530
91531         * modules/poll: New file.
91532
91533 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91534
91535         * lib/poll_.h: New file.
91536         * lib/poll.c: New file.
91537
91538 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91539
91540         * m4/poll.m4: New file.
91541
91542 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91543
91544         * modules/mathl: New file.
91545
91546 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91547
91548         * lib/mathl.h: New file.
91549         * lib/acosl.c: New file.
91550         * lib/asinl.c: New file.
91551         * lib/atanl.c: New file.
91552         * lib/ceill.c: New file.
91553         * lib/cosl.c: New file.
91554         * lib/expl.c: New file.
91555         * lib/floorl.c: New file.
91556         * lib/frexpl.c: New file.
91557         * lib/ldexpl.c: New file.
91558         * lib/logl.c: New file.
91559         * lib/sincosl.c: New file.
91560         * lib/sinl.c: New file.
91561         * lib/sqrtl.c: New file.
91562         * lib/tanl.c: New file.
91563         * lib/trigl.c: New file.
91564         * lib/trigl.h: New file.
91565
91566 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91567
91568         * m4/mathl.m4: New file.
91569
91570 2003-02-18  Bruno Haible  <bruno@clisp.org>
91571
91572         * MODULES.html.sh (func_all_modules): Add mathl.
91573
91574 2003-02-17  Bruno Haible  <bruno@clisp.org>
91575
91576         * modules/mkdtemp: New module.
91577         * MODULES.html.sh (func_all_modules): Add it.
91578
91579 2003-02-17  Bruno Haible  <bruno@clisp.org>
91580
91581         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
91582
91583 2003-02-17  Bruno Haible  <bruno@clisp.org>
91584
91585         * lib/mkdtemp.h: New file, from GNU gettext.
91586         * lib/mkdtemp.c: New file, from GNU gettext.
91587
91588 2003-02-02  Jim Meyering  <jim@meyering.net>
91589
91590         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
91591         e.g. glibc-2.2.93.
91592
91593 2003-01-31  Bruno Haible  <bruno@clisp.org>
91594
91595         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
91596         'rpl_rename'.
91597         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
91598         'rpl_strnlen'.
91599         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
91600         'rpl_strtod'.
91601         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
91602         'rpl_utime'.
91603
91604 2003-01-31  Bruno Haible  <bruno@clisp.org>
91605
91606         * lib/rename.c: #undef rename before defining rpl_rename.
91607         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
91608
91609 2003-01-30  Bruno Haible  <bruno@clisp.org>
91610
91611         * modules/vasnprintf, modules/vasprintf: New modules.
91612         * MODULES.html.sh (func_all_modules): Add them.
91613
91614 2003-01-30  Bruno Haible  <bruno@clisp.org>
91615
91616         * m4/signed.m4: New file, from GNU gettext.
91617         * m4/longdouble.m4: New file, from GNU gettext.
91618         * m4/wchar_t.m4: New file, from GNU gettext.
91619         * m4/wint_t.m4: New file, from GNU gettext.
91620         * m4/vasnprintf.m4: New file.
91621         * m4/vasprintf.m4: New file.
91622
91623 2003-01-30  Bruno Haible  <bruno@clisp.org>
91624
91625         * lib/printf-args.h: New file, from GNU gettext.
91626         * lib/printf-args.c: New file, from GNU gettext.
91627         * lib/printf-parse.h: New file, from GNU gettext.
91628         * lib/printf-parse.c: New file, from GNU gettext.
91629         * lib/vasnprintf.h: New file, from GNU gettext.
91630         * lib/vasnprintf.c: New file, from GNU gettext.
91631         * lib/asnprintf.c: New file, from GNU gettext.
91632         * lib/vasprintf.h: New file, from GNU gettext with modifications.
91633         * lib/vasprintf.c: New file, from GNU gettext.
91634         * lib/asprintf.c: New file, from GNU gettext.
91635
91636 2003-01-29  Bruno Haible  <bruno@clisp.org>
91637
91638         * modules/stpncpy: New module.
91639         * MODULES.html.sh (func_all_modules): Add it.
91640
91641 2003-01-29  Bruno Haible  <bruno@clisp.org>
91642
91643         * m4/stpncpy.m4: New file.
91644
91645 2003-01-29  Bruno Haible  <bruno@clisp.org>
91646
91647         * lib/stpncpy.h: New file, from GNU gettext with modifications.
91648         * lib/stpncpy.c: New file, from GNU gettext with modifications.
91649
91650 2003-01-28  Bruno Haible  <bruno@clisp.org>
91651
91652         * modules/c-ctype: New module.
91653         * MODULES.html.sh (func_all_modules): Add it.
91654
91655 2003-01-28  Bruno Haible  <bruno@clisp.org>
91656
91657         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
91658         Paul Eggert.
91659         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
91660         Paul Eggert.
91661
91662 2003-01-27  Bruno Haible  <bruno@clisp.org>
91663
91664         * modules/xsetenv: New module.
91665         * MODULES.html.sh (func_all_modules): Add it.
91666
91667 2003-01-27  Bruno Haible  <bruno@clisp.org>
91668
91669         * lib/xsetenv.h: New file, from GNU gettext.
91670         * lib/xsetenv.c: New file, from GNU gettext.
91671
91672 2003-01-23  Jim Meyering  <jim@meyering.net>
91673
91674         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
91675         from working on systems without dirfd (at least Irix and OSF1/Tru64).
91676
91677 2003-01-23  Bruno Haible  <bruno@clisp.org>
91678
91679         * modules/minmax: New module.
91680         * MODULES.html.sh (func_all_modules): Add it.
91681
91682 2003-01-23  Bruno Haible  <bruno@clisp.org>
91683
91684         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
91685         Eggert.
91686
91687 2003-01-22  Bruno Haible  <bruno@clisp.org>
91688
91689         * modules/exit: New module.
91690         * MODULES.html.sh (func_all_modules): Add it.
91691
91692 2003-01-22  Bruno Haible  <bruno@clisp.org>
91693
91694         * lib/exit.h: New file, from GNU gettext.
91695
91696 2003-01-19  Bruno Haible  <bruno@clisp.org>
91697
91698         * gnulib-tool: Recognize option --extract-maintainer.
91699         (func_get_maintainer): New function.
91700         * modules/*: Add Maintainer entry.
91701
91702 2003-01-16  Jim Meyering  <jim@meyering.net>
91703
91704         * m4/regex.m4: The `regex' struct is both input and output.
91705         Initialize it before each use.  Patch by Tim Waugh.
91706
91707 2003-01-16  Bruno Haible  <bruno@clisp.org>
91708
91709         * MODULES.html.sh: Add a table of contents. Add the module name as
91710         leftmost column. Add hyperlinks.
91711
91712 2003-01-15  Bruno Haible  <bruno@clisp.org>
91713
91714         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
91715
91716 2003-01-15  Bruno Haible  <bruno@clisp.org>
91717
91718         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
91719         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
91720         suffix.
91721
91722 2003-01-15  Bruno Haible  <bruno@clisp.org>
91723
91724         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
91725
91726 2003-01-15  Bruno Haible  <bruno@clisp.org>
91727
91728         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
91729         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
91730
91731 2003-01-14  Jim Meyering  <jim@meyering.net>
91732
91733         * lib/same.c (same_name): Tweak a comment.
91734
91735 2003-01-14  Bruno Haible  <bruno@clisp.org>
91736
91737         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
91738         when a string comparison is sufficient.
91739
91740 2003-01-14  Bruno Haible  <bruno@clisp.org>
91741
91742         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
91743         'unsigned int'.
91744
91745 2003-01-14  Bruno Haible  <bruno@clisp.org>
91746
91747         * lib/hash-pjw.c: Add comment about low quality of this function.
91748
91749 2003-01-13  Bruno Haible  <bruno@clisp.org>
91750
91751         * modules/stpcpy: Distribute lib/stpcpy.h.
91752         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
91753
91754 2003-01-13  Bruno Haible  <bruno@clisp.org>
91755
91756         * modules/*: Add a description.
91757         * modules/strpbrk: Fix Makefile.am snippet.
91758         * modules/strtoimax: Fix dependencies.
91759         * modules/strtoumax: Likewise.
91760
91761 2003-01-13  Bruno Haible  <bruno@clisp.org>
91762
91763         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
91764         * modules/alloca (Makefile.am): All object files depend on alloca.h.
91765         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
91766
91767 2003-01-13  Bruno Haible  <bruno@clisp.org>
91768
91769         * gnulib-tool (func_create_testdir): Store config/* files in the main
91770         directory.
91771         * config.rpath: Move to ...
91772         * config/config.rpath: ... here.
91773         * modules/gettext: Contains config/config.rpath, not config.rpath.
91774         * modules/iconv: Likewise.
91775
91776 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91777
91778         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91779         to avoid collisions with libcurses and libreadline.
91780
91781         * m4/getstr.m4: Remove.
91782         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91783
91784 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91785
91786         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91787         to avoid collisions with libcurses and libreadline.
91788
91789         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91790         * lib/getstr.h, getstr.c: Remove.
91791         * lib/getline.c: Include "getline.h", to check interface.
91792         Move body of old getstr.c here: this defines MIN_CHUNK and
91793         declares getdelim2, which is renamed from getstr.
91794         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91795
91796         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91797         All uses changed.
91798         * lib/linebuffer.h: Likewise.
91799         (readline): Remove backward-compatibility macro.
91800
91801 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91802
91803         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91804         to avoid collisions with libcurses and libreadline.
91805         * getstr: Remove.
91806         * MODULES.html.sh: Remove getstr.
91807         * modules/getline: Depend on unlocked-io, not getstr.
91808
91809 2003-01-12  Jim Meyering  <jim@meyering.net>
91810
91811         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91812
91813 2003-01-10  Bruno Haible  <bruno@clisp.org>
91814
91815         * modules/alloca: Change Makefile.am requirements. Simplify Include
91816         requirements. Add lib/alloca_.h to file list.
91817
91818 2003-01-10  Bruno Haible  <bruno@clisp.org>
91819
91820         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91821
91822 2003-01-10  Bruno Haible  <bruno@clisp.org>
91823
91824         * lib/alloca_.h: New file.
91825         * lib/getdate.y: Unconditionally include alloca.h.
91826         * lib/makepath.c: Likewise.
91827         * lib/setenv.c: Likewise.
91828         * lib/userspec.c: Likewise.
91829
91830 2003-01-09  Karl Berry  <karl@gnu.org>
91831
91832         * MODULES.html.sh: include `dirname $0` in PATH, to find
91833         gnulib-tool.
91834
91835 2003-01-09  Bruno Haible  <bruno@clisp.org>
91836
91837         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91838         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91839
91840 2003-01-09  Bruno Haible  <bruno@clisp.org>
91841
91842         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91843
91844 2003-01-09  Bruno Haible  <bruno@clisp.org>
91845
91846         * lib/stdbool.h.in: New file.
91847
91848 2003-01-09  Bruno Haible  <bruno@clisp.org>
91849
91850         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91851         * MODULES.html.sh: Likewise.
91852
91853 2003-01-08  Jim Meyering  <jim@meyering.net>
91854
91855         * lib/full-write.c: Undefine and define-away `const' after inclusion
91856         of errno.h, not before.  Suggestion from Bruno Haible.
91857
91858 2003-01-08  Bruno Haible  <bruno@clisp.org>
91859
91860         * modules/full-read: Depend on full-write.
91861
91862 2003-01-08  Bruno Haible  <bruno@clisp.org>
91863
91864         * lib/safe-read.c: Include specification header first, to ensure its
91865         selfcontainedness.
91866         * lib/full-write.c: Likewise.
91867
91868 2003-01-07  Jim Meyering  <jim@meyering.net>
91869
91870         * lib/full-write.c: Rework so that it may serve to define full_read,
91871         too.
91872         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91873
91874 2003-01-07  Bruno Haible  <bruno@clisp.org>
91875
91876         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91877         <inttypes.h>.
91878         * lib/xstrtol.h: Likewise.
91879         * lib/xstrtoimax.c: Likewise.
91880         * lib/xstrtoumax.c: Likewise.
91881         * lib/human.h: Likewise.
91882
91883         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91884         on systems that have <inttypes.h> but not <stdint.h>.
91885
91886 2003-01-07  Bruno Haible  <bruno@clisp.org>
91887
91888         * MODULES.html.sh: Add copyright notice.
91889         (missed_files): Omit CVS directory entries.
91890         (func_module): Make it work with sed-3.02.
91891         * MODULES.txt: Remove file.
91892
91893 2003-01-06  Jim Meyering  <jim@meyering.net>
91894
91895         * lib/version-etc.c: Update year in translatable copyright string.
91896
91897 2003-01-03  Karl Berry  <karl@gnu.org>
91898
91899         * config/config.{guess,sub}: update from prep.
91900
91901 2003-01-02  Karl Berry  <karl@gnu.org>
91902
91903         * doc/COPYING.DOC: belatedly updated to 1.2.
91904
91905 2003-01-01  Karl Berry  <karl@gnu.org>
91906
91907         * gnulib-tool (func_verify_module): report module name $module in
91908         error message, not $1.
91909         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91910         be created, only if it doesn't exist.
91911         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91912
91913 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91914
91915         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91916
91917 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91918
91919         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91920         memcmp if strcoll doesn't work.
91921
91922 2002-12-31  Bruno Haible  <bruno@clisp.org>
91923
91924         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91925         nonempty.
91926
91927 2002-12-31  Bruno Haible  <bruno@clisp.org>
91928
91929         * lib/memcoll.c (STRCOLL): New macro.
91930         (memcoll): Use it.
91931
91932 2002-12-31  Bruno Haible  <bruno@clisp.org>
91933
91934         * lib/localcharset.h: New file.
91935         * lib/localcharset.c: Include it.
91936         * lib/unicodeio.c: Likewise.
91937
91938 2002-12-31  Bruno Haible  <bruno@clisp.org>
91939
91940         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
91941         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
91942
91943 2002-12-31  Bruno Haible  <bruno@clisp.org>
91944
91945         * lib/getline.h: Include <stddef.h>, for size_t.
91946
91947         * lib/unicodeio.h: Include <stddef.h>, for size_t.
91948         * lib/unicodeio.c: Don't include <stddef.h>.
91949
91950 2002-12-31  Bruno Haible  <bruno@clisp.org>
91951
91952         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
91953         HAVE_TM_ZONE.
91954
91955 2002-12-24  Karl Berry  <karl@gnu.org>
91956
91957         * config/config.guess: update from prep.
91958
91959 2002-12-24  Bruno Haible  <bruno@clisp.org>
91960
91961         General infrasructure.
91962         * m4/README: Rewritten.
91963         * m4/onceonly.m4: New file.
91964         * m4/onceonly_2_57.m4: New file.
91965
91966         Module atexit.
91967         * m4/atexit.m4: New file.
91968
91969         Module strtod.
91970         * m4/strtod.m4: New file.
91971
91972         Module strtol.
91973         * m4/strtol.m4: New file.
91974
91975         Module strtoul.
91976         * m4/strtoul.m4: New file.
91977
91978         Module memchr.
91979         * m4/memchr.m4: New file.
91980
91981         Module memcmp.
91982         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91983         (jm_FUNC_MEMCMP): Invoke it.
91984
91985         Module memcpy.
91986         * m4/memcpy.m4: New file.
91987
91988         Module memmove.
91989         * m4/memmove.m4: New file.
91990
91991         Module memset.
91992         * m4/memset.m4: New file.
91993
91994         Module strcspn.
91995         * m4/strcspn.m4: New file.
91996
91997         Module strpbrk.
91998         * m4/strpbrk.m4: New file.
91999
92000         Module strstr.
92001         * m4/strstr.m4: New file.
92002
92003         Module strerror.
92004         * m4/strerror.m4: New file.
92005
92006         Module mktime.
92007         * m4/mktime.m4: Renamed from jm-mktime.m4.
92008         (gl_PREREQ_MKTIME): New macro.
92009         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
92010
92011         Module malloc.
92012         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
92013         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
92014         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
92015
92016         Module realloc.
92017         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
92018         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
92019         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
92020
92021         Module strftime.
92022         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
92023         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
92024         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
92025         gl_TM_GMTOFF.
92026         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
92027
92028         Module xalloc.
92029         * m4/xalloc.m4: New file.
92030
92031         Module alloca.
92032         * m4/alloca.m4: New file.
92033
92034         Module putenv.
92035         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
92036         (jm_FUNC_PUTENV): Invoke it.
92037
92038         Module setenv.
92039         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
92040         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
92041         when invoked twice.
92042         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
92043         gt_FUNC_SETENV.
92044
92045         Module memrchr.
92046         * m4/memrchr.m4: New file.
92047
92048         Module stpcpy.
92049         * m4/stpcpy.m4: New file.
92050
92051         Module strcase.
92052         * m4/strcase.m4: New file.
92053
92054         Module strdup.
92055         * m4/strdup.m4: New file.
92056
92057         Module strnlen.
92058         * m4/strnlen.m4: New file.
92059
92060         Module strndup.
92061         * m4/strndup.m4: New file.
92062
92063         Module xstrtod.
92064         * m4/xstrtod.m4: New file.
92065
92066         Module xstrtol.
92067         * m4/xstrtol.m4: New file.
92068
92069         Module getdate.
92070         * m4/getdate.m4: New file.
92071
92072         Module unlocked-io.
92073         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
92074         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
92075         * m4/jm-glibc-io.m4n: Remove file.
92076
92077         Module long-options.
92078         * m4/long-options.m4: New file.
92079
92080         Module md5.
92081         * m4/md5.m4: New file.
92082
92083         Module sha.
92084         * m4/sha.m4: New file.
92085
92086         Module getstr.
92087         * m4/getstr.m4: New file.
92088
92089         Module getline.
92090         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
92091         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
92092         <sys/types.h>, for size_t. Use the function name gnu_getline, not
92093         simply getline. Infoke gl_PREREQ_GETLINE.
92094
92095         Module obstack.
92096         * m4/obstack.m4: New file.
92097
92098         Module hash.
92099         * m4/hash.m4: New file.
92100
92101         Module readtokens.
92102         * m4/readtokens.m4: New file.
92103
92104         Module strverscmp.
92105         * m4/strverscmp.m4: New file.
92106
92107         Module stdbool.
92108         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
92109         OSF/1.
92110
92111         Module strtoll.
92112         * m4/strtoll.m4: New file.
92113
92114         Module strtoull.
92115         * m4/strtoull.m4: New file.
92116
92117         Module strtoimax.
92118         * m4/strtoimax.m4: New file.
92119
92120         Module strtoumax.
92121         * m4/strtoumax.m4: New file.
92122
92123         Module xstrtoimax.
92124         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
92125         jm_AC_PREREQ_XSTRTOIMAX.
92126         Moved the strtol prerequisites to strtol.m4.
92127         Moved the strtoll prerequisites to strtoll.m4.
92128         Moved the strtoimax prerequisites to strtoimax.m4.
92129
92130         Module xstrtoumax.
92131         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
92132         jm_AC_PREREQ_XSTRTOUMAX.
92133         Moved the strtoul prerequisites to strtoul.m4.
92134         Moved the strtoull prerequisites to strtoull.m4.
92135         Moved the strtoumax prerequisites to strtoumax.m4.
92136
92137         Module chown.
92138         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
92139         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
92140
92141         Module dup2.
92142         * m4/dup2.m4: New file.
92143
92144         Module ftruncate.
92145         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
92146         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
92147
92148         Module getgroups.
92149         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
92150         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
92151
92152         Module gettimeofday.
92153         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
92154         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
92155         gl_PREREQ_GETTIMEOFDAY.
92156
92157         Module mkdir.
92158         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
92159         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
92160
92161         Module mkstemp.
92162         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
92163         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
92164         jm_AC_TYPE_UINTMAX_T.
92165         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
92166
92167         Module stat.
92168         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
92169         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
92170
92171         Module lstat.
92172         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
92173         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
92174
92175         Module timespec.
92176         * m4/timespec.m4 (gl_TIMESPEC): New macro.
92177         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
92178         * m4/st_mtim.m4: Indentation.
92179
92180         Module nanosleep.
92181         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
92182         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
92183         gl_PREREQ_NANOSLEEP.
92184
92185         Module regex.
92186         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
92187         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
92188         (gl_REGEX): New macro.
92189
92190         Module rename.
92191         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
92192         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
92193
92194         Module rmdir.
92195         * m4/rmdir.m4: New file.
92196
92197         Module utime.
92198         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
92199         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
92200         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
92201
92202         Module dirname.
92203         * m4/dirname.m4: New file.
92204
92205         Module getopt.
92206         * m4/getopt.m4: New file.
92207
92208         Module unistd-safer.
92209         * m4/unistd-safer.m4: New file.
92210
92211         Module fnmatch.
92212         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
92213         declaration.
92214         (gl_PREREQ_FNMATCH_EXTRA): New macro.
92215         (gl_FUNC_FNMATCH_POSIX): New macro.
92216         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
92217         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
92218         simply fnmatch.
92219
92220         Module exclude.
92221         * m4/exclude.m4: New file.
92222
92223         Module human.
92224         * m4/human.m4: New file.
92225
92226         Module acl.
92227         * m4/acl.m4: Nop.
92228
92229         Module backupfile.
92230         * m4/backupfile.m4: New file.
92231         * m4/d-ino.m4: Indentation.
92232
92233         Module fsusage.
92234         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
92235         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
92236         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
92237
92238         Module dirfd.
92239         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
92240         requirements.
92241
92242         Module euidaccess.
92243         * m4/euidaccess.m4: New file.
92244
92245         Module file-type.
92246         * m4/file-type.m4: New file.
92247
92248         Module fileblocks.
92249         * m4/fileblocks.m4: New file.
92250
92251         Module filemode.
92252         * m4/filemode.m4: New file.
92253
92254         Module isdir.
92255         * m4/isdir.m4: New file.
92256
92257         Module lchown.
92258         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
92259         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
92260
92261         Module makepath.
92262         * m4/makepath.m4: New file.
92263
92264         Module modechange.
92265         * m4/modechange.m4: New file.
92266
92267         Module mountlist.
92268         * m4/mountlist.m4: New file.
92269         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
92270         Indentation.
92271
92272         Module path-concat.
92273         * m4/path-concat.m4: New file.
92274
92275         Module pathmax.
92276         * m4/pathmax.m4: New file.
92277
92278         Module same.
92279         * m4/same.m4: New file.
92280
92281         Module save-cwd.
92282         * m4/save-cwd.m4: New file.
92283
92284         Module savedir.
92285         * m4/savedir.m4: New file.
92286
92287         Module xgetcwd.
92288         * m4/xgetcwd.m4: New file.
92289         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
92290
92291         Module xreadlink.
92292         * m4/xreadlink.m4: New file.
92293
92294         Module safe-read.
92295         * m4/safe-read.m4: New file.
92296
92297         Module safe-write.
92298         * m4/safe-write.m4: New file.
92299
92300         Module closeout.
92301         * m4/closeout.m4: New file.
92302
92303         Module stdio-safer.
92304         * m4/stdio-safer.m4: New file.
92305
92306         Module getpass.
92307         * m4/getpass.m4: New file.
92308
92309         Module getugroups.
92310         * m4/getugroups.m4: New file.
92311
92312         Module group-member.
92313         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
92314         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
92315
92316         Module idcache.
92317         * m4/idcache.m4: New file.
92318
92319         Module userspec.
92320         * m4/userspec.m4: New file.
92321
92322         Module gettime.
92323         * m4/clock_time.m4: New file.
92324         * m4/gettime.m4: New file.
92325
92326         Module settime.
92327         * m4/settime.m4: New file.
92328
92329         Module posixtm.
92330         * m4/posixtm.m4: New file.
92331
92332         Module gethostname.
92333         * m4/gethostname.m4: New file.
92334
92335         Module canon-host.
92336         * m4/canon-host.m4: New file.
92337
92338         Module gettext.
92339         * m4/codeset.m4: New file, from gettext-0.11.5.
92340         * m4/gettext.m4: New file, from gettext-0.11.5.
92341         * m4/glibc21.m4: New file, from gettext-0.11.5.
92342         * m4/iconv.m4: New file, from gettext-0.11.5.
92343         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92344         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92345         * m4/inttypes.m4: New file, from gettext-0.11.5.
92346         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92347         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92348         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92349         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92350         * m4/lib-link.m4: New file, from gettext-0.11.5.
92351         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92352         * m4/progtest.m4: New file, from gettext-0.11.5.
92353         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92354         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92355         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92356
92357         Module localcharset.
92358         * m4/localcharset.m4: New file.
92359
92360         Module hard-locale.
92361         * m4/hard-locale.m4: New file.
92362
92363         Module mbswidth.
92364         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92365         onceonly macros.
92366         * m4/mbrtowc.m4: Add comment.
92367
92368         Module memcasecmp.
92369         * m4/memcasecmp.m4: New file.
92370
92371         Module memcoll.
92372         * m4/memcoll.m4: New file.
92373
92374         Module unicodeio.
92375         * m4/unicodeio.m4: New file.
92376
92377         Module rpmatch.
92378         * m4/rpmatch.m4: New file.
92379
92380         Module yesno.
92381         * m4/yesno.m4: New file.
92382
92383         Module exitfail.
92384         * m4/exitfail.m4: New file.
92385
92386         Module c-stack.
92387         * m4/c-stack.m4 (gl_C_STACK): New macro.
92388         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92389
92390         Module error.
92391         * m4/error.m4 (gl_ERROR): New macro.
92392         (jm_PREREQ_ERROR): Use onceonly macros.
92393
92394         Module fatal.
92395         * m4/fatal.m4: New file.
92396
92397         Module getloadavg.
92398         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92399         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92400
92401         Module getpagesize.
92402         * m4/getpagesize.m4: New file.
92403
92404         Module getusershell.
92405         * m4/getusershell.m4: New file.
92406
92407         Module physmem.
92408         * m4/physmem.m4: New file.
92409
92410         Module posixver.
92411         * m4/posixver.m4: New file.
92412
92413         Module quotearg.
92414         * m4/quotearg.m4: New file.
92415
92416         Module quote.
92417         * m4/quote.m4: New file.
92418
92419         Module readutmp.
92420         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
92421
92422         Module sig2str.
92423         * m4/sig2str.m4: New file.
92424
92425         Other.
92426         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
92427         ulonglong.m4.
92428         * m4/intmax_t.m4: New file.
92429         * m4/d-type.m4: Indentation.
92430         * m4/jm-macros.m4: Update.
92431         * m4/prereq.m4 (jm_PREREQ): Update.
92432         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
92433         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
92434         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
92435         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
92436         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
92437         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
92438         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
92439         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
92440         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
92441         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
92442         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
92443         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
92444         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
92445         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
92446         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
92447         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
92448         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
92449         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
92450         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
92451
92452 2002-12-24  Bruno Haible  <bruno@clisp.org>
92453
92454         * MODULES.txt: Update according to m4/ changes.
92455
92456         Module gettext.
92457         * config.rpath: New file, from gettext-0.11.5.
92458
92459         * modules/*: New module descriptions.
92460         * gnulib-tool: New file.
92461         * MODULES.html.sh: New file.
92462
92463 2002-12-21  Karl Berry  <karl@gnu.org>
92464
92465         * doc/fdl.texi: update to version 1.2.
92466
92467 2002-12-19  Karl Berry  <karl@gnu.org>
92468
92469         * config/config.guess: update from prep.
92470
92471 2002-12-18  Bruno Haible  <bruno@clisp.org>
92472
92473         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
92474         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
92475
92476 2002-12-17  Bruno Haible  <bruno@clisp.org>
92477
92478         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
92479         stdlib.h, string.h.
92480
92481 2002-12-17  Bruno Haible  <bruno@clisp.org>
92482
92483         * lib/canon-host.c (strdup): Remove unused declaration.
92484
92485         * lib/fsusage.c: Include full_read.h.
92486         (get_fs_usage): Use full_read instead of safe_read.
92487
92488         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
92489
92490 2002-12-12  Karl Berry  <karl@gnu.org>
92491
92492         * config/config.guess: update from prep.
92493
92494 2002-12-11  Bruno Haible  <bruno@clisp.org>
92495
92496         * m4/setenv.m4: New file, from gettext-0.11.5.
92497
92498 2002-12-11  Bruno Haible  <bruno@clisp.org>
92499
92500         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
92501         not unsetenv().
92502         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
92503         modifications:
92504
92505         2002-12-11  Bruno Haible  <bruno@clisp.org>
92506
92507                 * setenv.c (alloca): Fall back to malloc.
92508                 (freea): New macro.
92509                 (setenv): Use freea() to free memory allocated with alloca().
92510
92511         2002-11-13  Bruno Haible  <bruno@clisp.org>
92512
92513                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
92514                 function declarations.
92515                 * unsetenv.c (unsetenv): Likewise.
92516
92517         2002-03-04  Bruno Haible  <bruno@clisp.org>
92518
92519                 Portability to AIX 4.3.3.
92520                 * unsetenv.c: New file, extracted from setenv.c.
92521                 * setenv.c: Move the unsetenv() function to unsetenv.c.
92522
92523         2001-12-20  Bruno Haible  <bruno@clisp.org>
92524
92525                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
92526                 use malloc instead. For SunOS 4.
92527
92528         2001-12-11  Bruno Haible  <bruno@clisp.org>
92529
92530                 * setenv.c: Declare alloca.
92531                 (compar_fn_t): New typedef.
92532                 (KNOWN_VALUE, STORE_VALUE): Use it.
92533
92534         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
92535         setenv.h.
92536
92537 2002-12-10  Paul Eggert  <eggert@twinsun.com>
92538
92539         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
92540         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
92541         Choose values that are less likely to collide with system fnmatch
92542         options.
92543         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
92544         defined (e.g., a pure POSIX system).
92545         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
92546         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
92547
92548 2002-12-06  Paul Eggert  <eggert@twinsun.com>
92549
92550         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
92551         a pain in practice to deal with generated m4 files.  This change
92552         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
92553
92554         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
92555         and jm-glibc-io.m4, as they are no longer a special case.
92556         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
92557         kludge and the auto-generation stuff.  Check only whether the
92558         functions are declared, not whether they exist, since older hosts
92559         that don't declare the functions can't use the optimization anyway.
92560
92561 2002-12-06  Jim Meyering  <jim@meyering.net>
92562
92563         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
92564
92565         Merge in changes from libc's misc/error.c, in preparation
92566         for the merge of gnulib's changes back into libc.
92567
92568         * lib/error.c (_): Define only if not already defined.
92569         Move definition to follow all #include directives.
92570         Include unlocked-io.h only if !_LIBC.
92571         [_LIBC]: Include <libio/libioP.h>.
92572         [USE_IN_LIBIO]: Include <libio/iolibio.h>
92573         (fflush): Tweak definition to use INTUSE.
92574         (putc): Define.
92575
92576 2002-12-05  Paul Eggert  <eggert@twinsun.com>
92577
92578         * lib/alloca.c [defined emacs]: Include "lisp.h".
92579         (xalloc_die) [defined emacs]: New macro.
92580         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
92581         [! defined emacs]: Include <xalloc.h>.
92582         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
92583         (pointer): Typedef to POINTER_TYPE *.
92584         (malloc): Remove decl; we now always use xmalloc.
92585         (alloca): Use old-style definition, since Emacs needs this.
92586         Check for arithmetic overflow when computing combined size.
92587
92588 2002-12-04  Paul Eggert  <eggert@twinsun.com>
92589
92590         Do not generate unlocked-io.h automatically, since it's easier to
92591         maintain it by hand.
92592
92593         * lib/unlocked-io.h: New file, from GNU diffutils,
92594         but with proper copyright notice and attribution.
92595         * lib/gen-uio: Remove.
92596         * lib/Makefile.am: Add copyright notice.
92597         (libfetish_a_SOURCES): Add unlocked-io.h.
92598         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
92599         (DISTCLEANFILES, io_functions): Remove macros.
92600         (EXTRA_DIST): Remove gen_uio.
92601         (unlocked-io.h): Remove rule.
92602
92603 2002-12-04  Jim Meyering  <jim@meyering.net>
92604
92605         Reflect the fact that stat.c and lstat.c are no longer generated.
92606         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
92607         (DISTCLEANFILES): Likewise.
92608         (EXTRA_DIST): Likewise.
92609         (all_local): Don't depend on stat.c or lstat.c.
92610         (stat.c, lstat.c): Remove rules.
92611         (EXTRA_DIST): Remove xstat.in.
92612
92613         * lib/xstat.in: Remove file.  Contents moved into stat.c.
92614         * lib/stat.c: New file.  Contents mostly from xstat.in.
92615         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
92616         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
92617
92618         * lib/safe-read.c: Rework so that it may serve to define safe_write,
92619         too.
92620         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
92621
92622 2002-12-03  Jim Meyering  <jim@meyering.net>
92623
92624         * lib/safe-read.c, safe-write.c: Change variable names and comments,
92625         but not semantics, to minimize the differences between these two files.
92626         (safe_read): Change comment to mention SAFE_READ_ERROR.
92627
92628         * lib/safe-read.c (IS_EINTR): Define.
92629         (safe_read): Use IS_EINTR in place of in-function cpp directives.
92630
92631 2002-12-02  Jim Meyering  <jim@meyering.net>
92632
92633         * lib/safe-read.c (EINTR): Define.
92634         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92635         (INT_MAX): Provide fallback.
92636         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
92637
92638         * lib/safe-read.h (SAFE_READ_ERROR): Define.
92639
92640 2002-12-02  Bruno Haible  <bruno@clisp.org>
92641
92642         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
92643         Define, taken from safe-read.c.
92644         (INT_MAX): Provide fallback.
92645         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
92646         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
92647
92648         * lib/safe-read.c (EINTR): Remove definition.
92649         (safe_read): Don't use EINTR if it is absent.
92650
92651 2002-12-01  Jim Meyering  <jim@meyering.net>
92652
92653         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
92654         zero.
92655         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
92656
92657 2002-11-27  Paul Eggert  <eggert@twinsun.com>
92658
92659         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
92660         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
92661         with `if (! (value < limit)) abort ();', for readability.
92662
92663 2002-11-26  Karl Berry  <karl@gnu.org>
92664
92665         * lib/strdup.c: copy from libc again, with jim's ok.
92666         * lib/.cppi-disable: re-add strdup.c
92667
92668 2002-11-25  Karl Berry  <karl@gnu.org>
92669
92670         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
92671         instead of "strtol.c".
92672
92673 2002-11-25  Karl Berry  <karl@gnu.org>
92674
92675         * config/install-sh: update from automake for variable quoting, $0 in
92676         error msgs, etc.
92677
92678         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
92679         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
92680         entry.
92681
92682 2002-11-25  Jim Meyering  <jim@meyering.net>
92683
92684         * lib/mktime.c: Sync from libc, now that it has the latest fix.
92685
92686 2002-11-24  Karl Berry  <karl@gnu.org>
92687
92688         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
92689         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
92690
92691 2002-11-24  Jim Meyering  <jim@meyering.net>
92692
92693         Update from coreutils:
92694
92695         * lib/mktime.c: Merge in changes from libc.
92696
92697         Avoid a link-time failure on some Linux systems.
92698         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
92699         (otherwise).
92700         (__mon_yday): Declare with the STATIC attribute.
92701         (__mktime_internal): Likewise.
92702         Based on a report from Greg Schafer.
92703
92704 2002-11-23  Jim Meyering  <jim@meyering.net>
92705
92706         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
92707         Use `unsigned', not `int', as type of index.
92708
92709         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
92710
92711         * lib/fsusage.c: Remove unneeded parentheses around operands of
92712         `defined'.
92713
92714 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92715
92716         * lib/quotearg.h: Allow multiple inclusion by surrounding with
92717         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
92718         so that we can be included first.
92719         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
92720         * lib/quotearg.c: Include quotearg.h immediately after config.h.
92721         No need to include stddef.h or sys/types.h any more.
92722         Surround local include files with "", not "<>".
92723         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
92724         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
92725         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
92726         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
92727         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
92728         (ISPRINT): Remove; no longer needed now that we assume C89.
92729
92730         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
92731         Preserve errno.
92732
92733         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
92734         quotearg_char): Use SIZE_MAX rather than
92735         (size_t) -1 when we are talking about "infinity".
92736
92737         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
92738
92739 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92740
92741         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
92742         hint that one should use `if (! x) abort ();' rather than `assert
92743         (x);', and anyway it's one less thing to worry about configuring.
92744         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
92745         hash_rehash, hash_insert): Use abort rather than assert.
92746
92747 2002-11-22  Bruno Haible  <bruno@clisp.org>
92748
92749         * lib/safe-read.h: Assume C89. Add comments.
92750         (safe_read): Change return type to size_t.
92751         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
92752         byte counts > SSIZE_MAX correctly.
92753         * lib/safe-write.h: New file.
92754         * lib/safe-write.c: New file.
92755         * lib/full-read.h: New file.
92756         * lib/full-read.c: New file.
92757         * lib/full-write.h: Assume C89. Add comments.
92758         * lib/full-write.c: Include safe-write.h.
92759         (full_write): Rewritten to use safe_write.
92760         Suggested by Jim Meyering and Paul Eggert.
92761
92762 2002-11-21  Jim Meyering  <jim@meyering.net>
92763
92764         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
92765
92766         Merge in changes from the coreutils.
92767
92768         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92769         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92770         <stdint.h>.
92771         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92772         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92773         int.  Work more efficiently if X is the same width as uintmax_t.
92774         Do not compare X to -1, to avoid bogus compiler warning.
92775         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92776         Don't assume that f_frsize and f_bsize are the same type.
92777
92778         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92779         warning on FreeBSD.
92780
92781         * lib/makepath.c (make_path): Restore umask *before* creating the final
92782         component.
92783         (make_path): Minor reformatting.
92784
92785         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92786         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92787         HAVE_MALLOC/HAVE_REALLOC.
92788
92789         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92790         dummy ones.  At least on GNU/Linux systems, `auto' means something
92791         else.
92792         From Michael Stone.
92793
92794 2002-11-21  Bruno Haible  <bruno@clisp.org>
92795
92796         Remove case insensitive option matching.
92797         * lib/argmatch.h (argcasematch): Remove declaration.
92798         (ARGCASEMATCH): Remove macro.
92799         (__xargmatch_internal): Remove case_sensitive argument.
92800         (XARGMATCH): Update.
92801         (XARGCASEMATCH): Remove macro.
92802         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92803         case_sensitive argument.
92804         (argcasematch): Remove function.
92805         (__xargmatch_internal): Remove case_sensitive argument.
92806         (main): Use XARGMATCH instead of XARGCASEMATCH.
92807
92808         * lib/xmalloc.c: Change compile-time error message. Add comment about
92809         required autoconf version.
92810
92811 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92812
92813         Merge argmatch cleanups from Bison.  Assume C89.
92814
92815         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92816         Include stdlib.h, for EXIT_FAILURE.
92817         Always include <string.h>, since we assume C89.
92818         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92819         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92820         Include <stddef.h> instead, since it's all we need for size_t.
92821         (PARAMS): Remove.  All uses removed.
92822         (ARRAY_CARDINALITY): Do not bother to #undef.
92823         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92824         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92825         Remove unnecessary parentheses.
92826         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92827         Insert necessary parentheses.
92828         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92829         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92830
92831 2002-11-19  Bruno Haible  <bruno@clisp.org>
92832
92833         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92834         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92835
92836         * lib/mbswidth.h (PARAMS): Remove macro.
92837         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92838         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92839
92840         * lib/gcd.h (PARAMS): Remove macro.
92841         (gcd): Use ANSI C function declarations.
92842         * lib/gcd.c (gcd): Likewise.
92843
92844 2002-11-15  Bruno Haible  <bruno@clisp.org>
92845
92846         * lib/strcspn.c: Include <stddef.h>.
92847         (strcspn): Use ANSI C function declaration. Change return type to
92848         size_t. Use NULL.
92849         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92850         (strpbrk): Use NULL.
92851         * lib/strpbrk.h (PARAMS): Remove macro.
92852         (strpbrk): Use ANSI C function declaration.
92853         * lib/strstr.c: Don't include <sys/types.h>.
92854         * lib/strstr.h (PARAMS): Remove macro.
92855         (strstr): Use ANSI C function declarations.
92856
92857 2002-11-14  Karl Berry  <karl@gnu.org>
92858
92859         * config/mkinstalldirs: `do' on separate line, instead of
92860         `for var; do'.
92861
92862 2002-11-06  Bruno Haible  <bruno@clisp.org>
92863
92864         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92865         * lib/gcd.c (gcd): Likewise.
92866
92867 2002-11-05  Bruno Haible  <bruno@clisp.org>
92868
92869         * lib/gcd.h: New file, from gettext-0.11.5.
92870         * lib/gcd.c: New file, from gettext-0.11.5.
92871
92872 2002-11-05  Bruno Haible  <bruno@clisp.org>
92873
92874         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92875         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92876         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92877         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92878
92879         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92880         <libintl.h>.
92881         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92882         <libintl.h>.
92883
92884         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92885         * lib/human.c: Include gettext.h instead of <libintl.h>.
92886         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92887         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92888         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92889         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92890         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92891         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92892         (textdomain): Remove definition.
92893         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92894
92895         * lib/long-options.c: Remove include of <libintl.h> and definition of
92896         _.
92897         * lib/same.c: Remove include of <libintl.h> and definition of _.
92898
92899 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92900
92901         * lib/config.charset: A few additions for Solaris.
92902
92903 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92904
92905         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92906         * lib/localcharset.c (locale_charset): Declare as extern "C".
92907
92908 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92909
92910         * lib/config.charset: msdos in uk_UA uses CP1125.
92911
92912 2002-11-04  Bruno Haible  <bruno@clisp.org>
92913
92914         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92915         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92916         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92917         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92918         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92919
92920 2002-11-04  Bruno Haible  <bruno@clisp.org>
92921
92922         * lib/localcharset.c (locale_charset): Don't return an empty string.
92923
92924 2002-11-04  Bruno Haible  <bruno@clisp.org>
92925
92926         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92927         aliases.
92928
92929 2002-11-04  Bruno Haible  <bruno@clisp.org>
92930
92931         * lib/config.charset: Update for newest glibc. Add canonical names
92932         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92933
92934 2002-11-04  Bruno Haible  <bruno@clisp.org>
92935
92936         * lib/config.charset: Add support for NetBSD.
92937
92938 2002-11-04  Bruno Haible  <bruno@clisp.org>
92939
92940         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
92941
92942 2002-11-01  Bruno Haible  <bruno@clisp.org>
92943
92944         * configure.in: Add AC_CONFIG_AUX_DIR call.
92945         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
92946         test/Makefile.
92947         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
92948
92949 2002-09-28  Karl Berry  <karl@gnu.org>
92950
92951         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
92952         installed automake until the next release, since changes have been
92953         made.
92954
92955 2002-09-25  Karl Berry  <karl@gnu.org>
92956
92957         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
92958         * lib/getopt*: copy from libc/posix.
92959         * lib/gettext.h: copy from gettext.
92960         * lib/.cppi-disable: add strdup.c, gettext.h.
92961
92962 2002-09-25  Karl Berry  <karl@gnu.org>
92963
92964         * config/srclist.txt: enable gettext.h check.
92965         * config/config.{guess,sub}: update from prep.
92966         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
92967                 from automake 1.6.3.
92968         See srclist*.
92969
92970 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
92971
92972         * regex.c (PATFETCH): Remove the translating fetch.
92973         (PATFETCH_RAW): Rename to PATFETCH.
92974         (set_image_of_range): New fun.
92975         (SET_RANGE_TABLE_WORK_AREA): Use it.
92976         (regex_compile): Don't translate the pattern chars so eagerly.
92977         Only do it when inserting an `exactn' bytecode or when handling
92978         a char-range.
92979         (mutually_exclusive_p): Avoid empty statement.
92980
92981 2002-07-06  Jim Meyering  <meyering@lucent.com>
92982
92983         * m4/README: Don't mention Makefile.am.in.
92984         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92985
92986 2002-07-01  Jim Meyering  <meyering@lucent.com>
92987
92988         * lib/c-stack.c: Include sys/time.h.
92989         From Volker Borchert.
92990
92991 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92992
92993         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92994
92995 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92996
92997         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92998         New macro.  Use it uniformly instead of
92999         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
93000         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
93001         reported by Vin Shelton.
93002
93003 2002-06-22  Paul Eggert  <eggert@twinsun.com>
93004
93005         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
93006         Do not assume SA_SIGINFO behavior.
93007         Bug reported by Jim Meyering on NetBSD 1.5.2.
93008
93009 2002-06-22  Jim Meyering  <meyering@lucent.com>
93010
93011         * m4/c-stack.m4: New file, from diffutils-2.8.2.
93012         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
93013
93014         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
93015         now that configure.ac uses AC_GNU_SOURCE.
93016         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
93017         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
93018
93019         Update to latest tools.  Suggestions from Paul Eggert.
93020         * m4/stdbool.m4: New file, from diffutils-2.8.2.
93021         * m4/gnu-source.m4: Update from diffutils-2.8.2.
93022         * m4/fnmatch.m4: Likewise.
93023         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
93024         to AC_HEADER_STDBOOL
93025
93026 2002-06-22  Jim Meyering  <meyering@lucent.com>
93027
93028         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
93029         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
93030
93031 2002-06-22  Jim Meyering  <meyering@lucent.com>
93032
93033         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
93034
93035         * lib/exitfail.c, exitfail.h: Likewise.
93036         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
93037
93038         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
93039         of fnmatch.h.
93040         (EXTRA_DIST): Add fnmatch_loop.c.
93041         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
93042
93043         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
93044         * lib/fnmatch.c: Update from diffutils-2.8.2.
93045         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
93046         * lib/fnmatch.h: Remove file.
93047
93048 2002-06-21  Jim Meyering  <meyering@lucent.com>
93049
93050         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
93051         * m4/mbrtowc.m4: Likewise.
93052
93053         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
93054         * m4/mbswidth.m4: Reflect name change:
93055         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
93056         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93057
93058         * m4/lib-link.m4: Update from gettext-0.11.2.
93059         * m4/gettext.m4: Likewise.
93060
93061         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
93062         From Alfred M. Szmidt.
93063
93064 2002-06-18  Paul Eggert  <eggert@twinsun.com>
93065
93066         * lib/file-type.h: Report an error if neither S_ISREG nor
93067         S_IFREG is defined, instead of using a test specific to glibc
93068         2.2.  This should be safe, since POSIX requires S_ISREG and
93069         Unix Version 7 had S_IFREG.  We don't need to check for
93070         <sys/types.h> since we don't use any symbols that it defines.
93071
93072 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
93073
93074         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
93075         $@-t, so that each temporary file name is unique and valid in the first
93076         8 characters, for operation under DOS.
93077
93078 2002-06-15  Paul Eggert  <eggert@twinsun.com>
93079
93080         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
93081
93082 2002-06-15  Jim Meyering  <meyering@lucent.com>
93083
93084         Work even with DJGPP 2.03, which lacks support for symlinks.
93085         From Richard Dawe.
93086         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
93087         is defined.
93088         * lib/lchown.c (S_ISLNK): Likewise.
93089
93090 2002-06-15  Jim Meyering  <meyering@lucent.com>
93091
93092         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
93093         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
93094         have been included before this file.
93095
93096 2002-06-14  Jim Meyering  <meyering@lucent.com>
93097
93098         * lib/file-type.h: Use the version from diffutils-2.8.2.
93099         * lib/file-type.c: Likewise.
93100
93101 2002-06-07  Jim Meyering  <meyering@lucent.com>
93102
93103         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
93104         They're needed at least for NetBSD 1.5.2.
93105         ($statxfs_includes): Include those same headers.
93106         ($statxfs_includes): Include sys/vfs.h if available.
93107         ($statxfs_includes): Likewise for sys/statvfs.h.
93108         Check for the following members in both structs statfs and statvfs:
93109         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
93110
93111 2002-06-01  Jim Meyering  <meyering@lucent.com>
93112
93113         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
93114         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
93115
93116 2002-05-28  Jim Meyering  <meyering@lucent.com>
93117
93118         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
93119         Reported by Volker Borchert.
93120
93121 2002-05-27  Jim Meyering  <meyering@lucent.com>
93122
93123         Fix a problem seen only on nonconforming systems whereby ls.c's
93124         use of localtime, and then of gettimeofday would cause trouble:
93125         the localtime call used to initialize rpl_gettimeofday's save
93126         mechanism would clobber ls's current local time information so
93127         that in any long listing the first file would always be listed
93128         with date 1970-01-01.  Analysis by Volker Borchert.
93129
93130         * lib/gettimeofday.c (localtime): Undefine.
93131         (rpl_localtime): New function.
93132
93133 2002-05-27  Jim Meyering  <meyering@lucent.com>
93134
93135         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
93136         localtime.
93137
93138         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
93139         use the replacement function; it wouldn't resolve at link time.
93140         Reported by Volker Borchert.
93141
93142 2002-05-22  Jim Meyering  <meyering@lucent.com>
93143
93144         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
93145         file-type.h.
93146         * lib/file-type.h: New file.
93147         * lib/file-type.c (file_type): New file/function.  Extracted from
93148         diffutils.
93149
93150 2002-04-30  Jim Meyering  <meyering@lucent.com>
93151
93152         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
93153
93154 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93155
93156         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
93157
93158 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93159
93160         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
93161         Do not check for alloca.h (no longer used) or stdbool.h (was never
93162         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
93163
93164 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93165
93166         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
93167
93168 2002-04-29  Jim Meyering  <meyering@lucent.com>
93169
93170         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
93171         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
93172         Use AC_FUNC_STRNLEN here instead.
93173
93174         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
93175         With autoconf-2.53a, it's part of AC_PROG_CC.
93176
93177 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93178
93179         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
93180         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
93181
93182 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93183
93184         * lib/sig2str.h, lib/sig2str.c: New files.
93185         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
93186
93187 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93188
93189         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
93190         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
93191         of 127, since 64 is the largest conceivable number for ancient
93192         nonstandard hosts.
93193         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
93194
93195 2002-04-28  Jim Meyering  <meyering@lucent.com>
93196
93197         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
93198
93199 2002-04-24  Jim Meyering  <meyering@lucent.com>
93200
93201         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
93202         (jm_PREREQ): Use it.
93203
93204         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
93205         mach/mach.h fcntl.h.
93206         Check for this function: setlocale.
93207
93208 2002-04-24  Jim Meyering  <meyering@lucent.com>
93209
93210         * lib/gettext.h: New file, from Gettext.
93211         * lib/Makefile.am (INCLUDES): Remove -I../intl.
93212         (libfetish_a_SOURCES): Add gettext.h.
93213
93214 2002-04-16  Jim Meyering  <meyering@lucent.com>
93215
93216         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
93217         ut_pid, ut_id, ut_exit.
93218
93219 2002-04-16  Jim Meyering  <meyering@lucent.com>
93220
93221         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
93222         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
93223         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
93224
93225 2002-04-12  Jim Meyering  <meyering@lucent.com>
93226
93227         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
93228         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
93229         existence of the getmntinfo function.  Needed for Darwin 5.3.
93230
93231         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
93232         This is necessary at least on Darwin 5.3.
93233
93234         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
93235         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
93236         strnlen.o in the library, and that makes some versions of ranlib
93237         object.
93238
93239 2002-04-12  Jim Meyering  <meyering@lucent.com>
93240
93241         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
93242
93243 2002-04-09  Jim Meyering  <meyering@lucent.com>
93244
93245         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
93246         to be more precise.  Rather than saying we're checking whether the
93247         function `works', say what we're testing.
93248         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
93249         Reported by Bruno Haible.
93250
93251 2002-03-10  Jim Meyering  <meyering@lucent.com>
93252
93253         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
93254         Suggestion from Santiago Vila.
93255
93256 2002-03-08  Jim Meyering  <meyering@lucent.com>
93257
93258         * lib/rename.c: Mention that this wrapper is needed also on
93259         mips-dec-ultrix4.4 systems.
93260
93261 2002-03-02  Jim Meyering  <meyering@lucent.com>
93262
93263         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
93264         not HAVE_CLOCK_SETTIME.
93265
93266 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93267
93268         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
93269         Check for clock_settime.
93270
93271 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93272
93273         * lib/nanosleep.h: Rename to....
93274         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
93275
93276         * lib/gettime.c: New file.
93277         * lib/settime.c: New file.
93278         * lib/stime.c: Remove.
93279
93280         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
93281         timespec.h.  Remove nanosleep.h.
93282
93283 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93284
93285         * m4/acl.m4: New file.
93286         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
93287         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
93288
93289 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93290
93291         * lib/acl.c, lib/acl.h: New files.
93292         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
93293
93294 2002-02-24  Jim Meyering  <meyering@lucent.com>
93295
93296         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
93297         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
93298         cause trouble.  Reported by Nelson Beebe.
93299
93300 2002-02-23  Paul Eggert  <eggert@twinsun.com>
93301
93302         * lib/path-concat.c (xpath_concat): Reorder code to pacify
93303         compilers that don't know that xalloc_die never returns.
93304
93305 2002-02-20  Jim Meyering  <meyering@lucent.com>
93306
93307         * lib/getdate.c: Regenerate using bison-1.33.
93308
93309 2002-02-17  Jim Meyering  <meyering@lucent.com>
93310
93311         * config/config.guess (main): Don't use `head -1'; it's no longer
93312         portable. Use `sed 1q' instead.
93313
93314 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
93315
93316         * m4/codeset.m4: Upgrade to gettext-0.11.
93317         * m4/gettext.m4: Upgrade to gettext-0.11.
93318         * m4/glibc21.m4: Upgrade to gettext-0.11.
93319         * m4/iconv.m4: Upgrade to gettext-0.11.
93320         * m4/isc-posix.m4: Upgrade to gettext-0.11.
93321         * m4/lcmessage.m4: Upgrade to gettext-0.11.
93322         * m4/lib-ld.m4: New file, from gettext-0.11.
93323         * m4/lib-link.m4: New file, from gettext-0.11.
93324         * m4/lib-prefix.m4: New file, from gettext-0.11.
93325         * m4/progtest.m4: Upgrade to gettext-0.11.
93326
93327 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93328
93329         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
93330         (jm_PREREQ): Use it.
93331
93332 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93333
93334         * lib/posixver.c, lib/posixver.h: New files.
93335         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93336
93337 2002-02-02  Paul Eggert  <eggert@twinsun.com>
93338             Bruno Haible  <bruno@clisp.org>
93339
93340         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
93341         (fwrite_success_callback): New declaration.
93342         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
93343         print_unicode_char. Call failure callback instead of error.
93344         (fwrite_success_callback): New function.
93345         (exit_failure_callback): New function.
93346         (fallback_failure_callback): New function.
93347         (print_unicode_char): Call unicode_to_mb.
93348
93349 2002-01-26  Jim Meyering  <meyering@lucent.com>
93350
93351         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93352         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93353
93354 2002-01-26  Jim Meyering  <meyering@lucent.com>
93355
93356         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93357
93358 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93359
93360         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93361
93362 2002-01-22  Jim Meyering  <meyering@lucent.com>
93363
93364         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93365         Otherwise, some versions of automake would omit the rule that makes
93366         Makefile from Makefile.in.
93367
93368 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93369
93370         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93371         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93372         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93373         (memcoll): Set errno to zero if there is no error.
93374
93375         * lib/quotearg.c (quotearg_buffer_restyled):
93376         Fix bug with quoting buffers containing NUL when backslashing escapes.
93377         This bug was exposed by the other changes in this patch.
93378         (quotearg_n_options): New arg ARGSIZE.
93379         All callers changed.
93380         (quoting_options_from_style): New function.
93381         (quotearg_n_style): Use it.
93382         (quotearg_n_style_mem): New function.
93383
93384         * lib/quotearg.h (quotearg_n_style_mem): New function.
93385
93386 2002-01-19  Jim Meyering  <meyering@lucent.com>
93387
93388         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93389         Remove useless quotes: DF_PROG="df".
93390         * m4/strnlen.m4: New file.
93391
93392 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93393
93394         * lib/backupfile.c (ISDIGIT): Comment fix.
93395         * lib/getdate.y (ISDIGIT): Likewise.
93396         * lib/posixtm.c (ISDIGIT, year): Likewise.
93397         * lib/strverscmp.c (ISDIGIT): Likewise.
93398         * lib/userspec.c (ISDIGIT): Likewise.
93399
93400 2002-01-16  Jim Meyering  <meyering@lucent.com>
93401
93402         * lib/getdate.y: Add three semicolons, each just before a closing
93403         brace. Bison (as of version 1.31) no longer papers over that mistake.
93404
93405 2002-01-05  Jim Meyering  <meyering@lucent.com>
93406
93407         * lib/version-etc.c (version_etc_copyright): Update copyright year.
93408
93409 2001-12-19  Paul Eggert  <eggert@twinsun.com>
93410
93411         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
93412         not silently exit merely because the output buffer happens to
93413         have nothing pending.
93414
93415 2001-12-18  Paul Eggert  <eggert@twinsun.com>
93416
93417         See the big note in ../ChangeLog.
93418         * lib/human.c (suffixes): Prefer K to k for 1024.
93419         (generate_suffix_backwards): New function.
93420         (human_readable_inexact): Use it.
93421         * lib/xstrtol.c (__xstrtol): If there is no number but there
93422         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
93423         Accept 'K' as well as 'k'.
93424
93425 2001-12-15  Jim Meyering  <meyering@lucent.com>
93426
93427         * lib/regex.h (__restrict_arr): Update from libc.
93428
93429         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
93430         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
93431         (STREQ): Define.
93432
93433 2001-12-14  Jim Meyering  <meyering@lucent.com>
93434
93435         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
93436         Suggestion from Bruno Haible.
93437
93438 2001-12-10  Jim Meyering  <meyering@lucent.com>
93439
93440         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
93441         xrealloc, Instead, include "xalloc.h".
93442         (initbuffer): Don't cast xmalloc return value to char*.
93443         (readline): Reword comment.
93444         Don't cast xrealloc return value to char*
93445         Return NULL, not 0.
93446
93447 2001-12-09  Jim Meyering  <meyering@lucent.com>
93448
93449         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
93450         about `signed and unsigned type in conditional expression'.
93451         * lib/posixtm.c (posix_time_parse): Likewise.
93452
93453         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
93454
93455         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
93456         to avoid a pedantic warning.
93457
93458         * lib/getstr.c: Don't include assert.h.
93459         (getstr): Remove warning-evoking assertions.
93460         Return -1 if offset parameter is out of bounds.
93461         Change the type of a local from int to size_t.
93462
93463         * lib/strftime.c (my_strftime_localtime_r): Include this function
93464         definition in the `#if ! HAVE_TM_GMTOFF' block.
93465
93466         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
93467         Include xalloc.h instead.
93468
93469 2001-12-02  Jim Meyering  <meyering@lucent.com>
93470
93471         * lib/tempname.c: Don't declare getenv, thus reverting the change of
93472         2001-11-18.  It's no longer necessary, now that stdlib.h is always
93473         included.
93474
93475         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
93476         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
93477
93478 2001-11-30  Akim Demaille  <akim@epita.fr>
93479
93480         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
93481         before being defined.
93482
93483 2001-11-27  Paul Eggert  <eggert@twinsun.com>
93484
93485         * lib/quotearg.h (quotearg_n, quotearg_n_style):
93486         First arg is int, not unsigned.
93487         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
93488         (SIZE_MAX, UINT_MAX): New macros.
93489         (quotearg_n_options): Abort if N is negative.
93490         Avoid overflow check on hosts where size_t is 64 bits and int
93491         is 32 bits, as overflow is impossible there.
93492         Fix off-by-one typo that caused unnecessary reallocation.
93493
93494 2001-11-27  Jim Meyering  <meyering@lucent.com>
93495
93496         * lib/tempname.c: Merge with version from libc.
93497         * lib/regex.c: Likewise.
93498
93499         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
93500         systems for which STDC_HEADERS is 0, it was not included, resulting in
93501         a warning about an integer-to-pointer conversion problem with getenv.
93502         Reported by Volker Borchert.
93503
93504 2001-11-26  Jim Meyering  <meyering@lucent.com>
93505
93506         * lib/gtod.h: Remove file.
93507         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
93508         * lib/gettimeofday.c: Don't include gtod.h.
93509         (GTOD_init): Remove function.
93510         (rpl_gettimeofday): Do its job here instead, rather than aborting.
93511         Suggestion from Volker Borchert.
93512
93513 2001-11-23  Jim Meyering  <meyering@lucent.com>
93514
93515         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
93516         it.
93517         * lib/hash.c (struct hash_table): Define it here instead.
93518
93519 2001-11-22  Jim Meyering  <meyering@lucent.com>
93520
93521         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
93522
93523 2001-11-20  Jim Meyering  <meyering@lucent.com>
93524
93525         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
93526         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
93527
93528 2001-11-19  Jim Meyering  <meyering@lucent.com>
93529
93530         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
93531         directory.  Use "conftestXXXXXX" as the template.
93532         Suggestion from Paul Eggert.
93533
93534         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
93535         immediately, so the test doesn't mistakenly hit the max-open-files
93536         limit.
93537
93538 2001-11-18  Paul Eggert  <eggert@twinsun.com>
93539
93540         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
93541         (TEMPORARIES): New macro.
93542         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
93543         removes an artificial limitation (e.g. HP-UX 10.20, where
93544         TMP_MAX is 17576).
93545
93546 2001-11-18  Jim Meyering  <meyering@lucent.com>
93547
93548         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
93549
93550 2001-11-18  Jim Meyering  <meyering@lucent.com>
93551
93552         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
93553         on SunOS 4.
93554
93555         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
93556         files will be created before anything else.
93557
93558 2001-11-17  Paul Eggert  <eggert@twinsun.com>
93559
93560         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
93561         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
93562
93563 2001-11-17  Jim Meyering  <meyering@lucent.com>
93564
93565         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
93566         Prompted by a report from Bob Proulx.
93567
93568         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
93569         Instead, require UTILS_FUNC_MKSTEMP.
93570
93571 2001-11-17  Jim Meyering  <meyering@lucent.com>
93572
93573         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
93574         Now, that's done as part of AC_FUNC_STRTOD.
93575
93576 2001-11-17  Jim Meyering  <meyering@lucent.com>
93577
93578         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
93579         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
93580         rather than group writable.  Patch by Juan F. Codagnone.
93581
93582         * lib/readtokens.c: Remove explicit declarations of xmalloc and
93583         xrealloc, Instead, include "xalloc.h".
93584
93585         * lib/mountlist.c: Include unlocked-io.h after all system headers.
93586         Remove explicit declarations of xmalloc, xrealloc,
93587         and xstrdup.  Instead, include "xalloc.h".
93588
93589         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
93590         unlocked-io.h.
93591         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
93592         Likewise.
93593         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
93594
93595         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
93596         Reported by Padraig Brady.
93597
93598         * lib/mkstemp.c: #undef mkstemp.
93599         Include config.h.
93600         (rpl_mkstemp): Rename from mkstemp.
93601         Protoize.
93602
93603 2001-11-16  Jim Meyering  <meyering@lucent.com>
93604
93605         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
93606         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
93607         determine the amount of total physical memory, use pstat_getstatic.
93608         HPUX-11 doesn't define _SC_PHYS_PAGES.
93609         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
93610         If sysconf couldn't be used to determine the amount of available
93611         physical memory, use both pstat_getstatic and pstat_getdynamic.
93612         Based on a patch from Bob Proulx.
93613
93614 2001-11-10  Jim Meyering  <meyering@lucent.com>
93615
93616         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
93617         (jm_PREREQ): Use it.
93618
93619 2001-11-09  Jim Meyering  <meyering@lucent.com>
93620
93621         * m4/jm-macros.m4: Require autoconf-2.52f.
93622         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
93623         Use these AC_-prefixed names, not the AM_-prefixed ones.
93624
93625         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
93626
93627 2001-11-05  Jim Meyering  <meyering@lucent.com>
93628
93629         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
93630
93631 2001-11-04  Jim Meyering  <meyering@lucent.com>
93632
93633         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
93634         $DEFS.
93635
93636 2001-11-03  Jim Meyering  <meyering@lucent.com>
93637
93638         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
93639         of AC_DEFUN.
93640
93641         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
93642         know the name of the variable in the macro definition.
93643
93644 2001-11-03  Jim Meyering  <meyering@lucent.com>
93645
93646         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
93647         in argmatch_to_argument call.
93648
93649         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
93650         argument.
93651
93652         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
93653         e.g., a fault due to an attempt to free a NULL pointer.
93654
93655 2001-11-01  Jim Meyering  <meyering@lucent.com>
93656
93657         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
93658         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
93659
93660 2001-11-01  Jim Meyering  <meyering@lucent.com>
93661
93662         * lib/dirfd.c, lib/dirfd.h: New files.
93663         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
93664
93665         * lib/hash.c (hash_print) [TESTING]: Clean up.
93666
93667 2001-10-22  Paul Eggert  <eggert@twinsun.com>
93668
93669         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
93670         to avoid a warning if -Wall.
93671
93672 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
93673
93674         * README: New file
93675         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
93676         (per RMS's instructions, this is now the canonical source)
93677         * lgpl/, gpl/: New directories.
93678
93679 2001-10-21  Paul Eggert  <eggert@twinsun.com>
93680
93681         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
93682
93683 2001-10-21  Jim Meyering  <meyering@lucent.com>
93684
93685         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
93686         this code would end up calling gettext even in packages built
93687         with --disable-nls.
93688         * lib/getopt.c (_): Likewise.
93689         * lib/regex.c (_): Likewise.
93690
93691 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93692
93693         * m4/error.m4 (jm_PREREQ_ERROR):
93694         Do not invoke AC_CHECK_FUNCS with strerror_r, as
93695         AC_FUNC_STRERROR_R does that.
93696         Check for strerror declaration.
93697
93698         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
93699         are supposed to have them these days.
93700         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
93701         Merge changes from latest Autoconf CVS.
93702         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
93703         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
93704         POSIX decided to standardize on the int flavor of strerror_r.
93705
93706 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93707
93708         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
93709         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
93710         Use strerror_r that is only a macro, even if it is not a function.
93711         (strerror): Check for HAVE_DECL_STRERROR before declaring.
93712         (private_strerror): Use prototypes, not old-style function definition.
93713         (print_errno_message): New function.
93714         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
93715         char*-flavored one.
93716         (error_tail, error, error_at_line): Use it.
93717
93718 2001-10-11  Jim Meyering  <meyering@lucent.com>
93719
93720         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
93721         and quote_n (1, ... to avoid clobbering a buffer.
93722
93723 2001-10-05  Jim Meyering  <meyering@lucent.com>
93724
93725         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
93726         hash-pjw.h.
93727         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
93728         * lib/hash-pjw.h: New file.
93729
93730 2001-09-30  Jim Meyering  <meyering@lucent.com>
93731
93732         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
93733         `struct fsstat' has the `f_fstypename' member.
93734         Use that to define FS_TYPE, which is now used to make
93735         the getfsstat link test tighter.
93736
93737 2001-09-30  Jim Meyering  <meyering@lucent.com>
93738
93739         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
93740         Include <sys/ucred.h>, for Apple Darwin.
93741         Include sys/mount.h and sys/fs_types.h only if available.
93742         (FS_TYPE): Define.
93743         (read_filesystem_list): Use FS_TYPE.
93744
93745 2001-09-29  Paul Eggert  <eggert@twinsun.com>
93746
93747         * lib/exclude.c (excluded_filename): 0 -> false, since it's
93748         a boolean context.
93749
93750 2001-09-29  Jim Meyering  <meyering@lucent.com>
93751
93752         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93753         [one-argument getmntent function]): Include stdio.h before mntent.h.
93754         SunOS 4.1.x needs it for the declaration of `FILE'.
93755         Patch by Volker Borchert.
93756
93757         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93758         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
93759         sys/fs_types.h, and make the link-test for getfsstat guard #include
93760         directives with appropriate #if HAVE_*_H tests so that we can
93761         detect getfsstat on Apple Darwin1.3.7 systems.
93762         Reported by Nelson Beebe.
93763         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
93764
93765 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93766
93767         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93768         #defines strtoimax.  Also treat the other strto* functions
93769         like strtoimax.
93770
93771         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93772         Check for strtoul and strtoumax,
93773         as those declarations are made even in the signed case.
93774         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93775         Likewise, for strtol and strtoimax.
93776
93777 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93778
93779         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93780         #defines strtoimax.  Also treat the other strto* functions
93781         like strtoimax.
93782
93783         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93784         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93785         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93786
93787 2001-09-26  Jim Meyering  <meyering@lucent.com>
93788
93789         Most macros in unlocked-io.h had the wrong number of arguments.
93790         * lib/gen-uio: New script.
93791         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93792         * lib/unlocked-io.hin: Remove file.
93793         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93794         rather than trying to embed it here.
93795         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93796         Reported by Padraig Brady.
93797
93798 2001-09-25  Volker Borchert  <bt@teknon.de>
93799
93800         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93801         `result'.
93802
93803 2001-09-24  Jim Meyering  <meyering@lucent.com>
93804
93805         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93806
93807 2001-09-23  Jim Meyering  <meyering@lucent.com>
93808
93809         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93810         instead of the mere test for existence of mntent.h.  The latter
93811         would get a false-positive on AIX 3.4 systems.
93812         In the outer getmntent if-block, don't die if neither of the getmntent
93813         tests succeeds.  Instead, just fall through and continue with the
93814         remaining tests.
93815
93816 2001-09-23  Jim Meyering  <meyering@lucent.com>
93817
93818         * lib/mountlist.c: Remove useless parentheses in #if directives.
93819         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93820         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93821
93822 2001-09-22  Jim Meyering  <meyering@lucent.com>
93823
93824         * m4/gettext.m4: New file.  From gettext.
93825         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93826         * m4/progtest.m4: Likewise
93827         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93828         * m4/glibc21.m4: Likewise.
93829
93830         * m4/libintl.m4: Remove.  No longer used.
93831
93832 2001-09-22  Jim Meyering  <meyering@lucent.com>
93833
93834         * lib/localcharset.c: Update from latest gettext.
93835         * lib/config.charset: Likewise.
93836
93837 2001-09-20  Jim Meyering  <meyering@lucent.com>
93838
93839         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93840         strtoimax.
93841         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93842         strtoumax.
93843
93844 2001-09-20  Jim Meyering  <meyering@lucent.com>
93845
93846         * lib/xstrtol.c (strtoimax): Guard declaration with
93847         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93848         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93849         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93850         (strtoumax): Likewise, for completeness (it wasn't necessary).
93851
93852 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93853
93854         * lib/strtoimax.c (HAVE_LONG_LONG):
93855         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93856         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93857         to work around bug in IBM C compiler.
93858
93859 2001-09-17  Jim Meyering  <meyering@lucent.com>
93860
93861         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93862         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93863         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93864         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93865         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93866         whenever the right hand side need not be expanded by the shell.
93867
93868 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93869
93870         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93871         library.  It's not correct, as some older glibcs are buggy.
93872         fnmatch wasn't fixed until glibc 2.2.
93873
93874         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93875         special shell magic here.
93876
93877 2001-09-16  Jim Meyering  <meyering@lucent.com>
93878
93879         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93880         * m4/jm-macros.m4: Require it.
93881
93882 2001-09-16  Jim Meyering  <meyering@lucent.com>
93883
93884         * lib/mkdir.c: New file.
93885
93886 2001-09-15  Jim Meyering  <meyering@lucent.com>
93887
93888         * m4/jm-macros.m4: Check for help2man.
93889
93890 2001-09-11  Jim Meyering  <meyering@lucent.com>
93891
93892         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93893         The body, by Paul Eggert, was moved here from configure.in.
93894         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93895
93896 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93897
93898         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93899         (jm_PREREQ): Use it.
93900
93901 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93902
93903         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93904         Use ssize_t, not int, to store result of readlink.
93905         Check for ssize_t overflow as well as size_t overflow,
93906         as POSIX says the result of readlink is implementation-defined
93907         when ssize_t overflows.
93908         Remove unnecessary cast to char*.
93909         Use free+malloc instead of realloc, as the storage doesn't need
93910         to be preserved and it's clearer and can be more efficient that way.
93911         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93912         * lib/xreadlink.h (xreadlink): Update prototype.
93913
93914 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93915
93916         * lib/xgetcwd.c: Revert some of the previous change; intead,
93917         fix the HAVE_GETCWD_NULL code to behave more like the
93918         !HAVE_GETCWD_NULL code used to.
93919
93920         Include "xalloc.h".
93921         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93922         invoke xalloc_die.
93923
93924 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93925
93926         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93927         sys/param.h, as pathmax.h includes them.
93928
93929 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93930
93931         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93932         (jm_PREREQ_XGETCWD): New macro.
93933
93934         * m4/getcwd.m4: New file.
93935
93936 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93937
93938         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
93939         like the HAVE_GETCWD_NULL code.
93940         Include pathmax.h if not HAVE_GETCWD.
93941         Do not include xalloc.h.
93942         (INITIAL_BUFFER_SIZE): New symbol.
93943         Do not use xmalloc / xrealloc, since the caller is responsible for
93944         handling errors.  Preserve errno around `free' during failure.
93945         Do not overrun buffer when using getwd.
93946
93947 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93948
93949         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
93950         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
93951         getcwd (NULL, 0).
93952
93953 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93954
93955         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
93956         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
93957         spotted by Jim Meyering.
93958
93959 2001-09-03  Jim Meyering  <meyering@lucent.com>
93960
93961         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
93962         failure.
93963
93964 2001-09-02  Jim Meyering  <meyering@lucent.com>
93965
93966         * lib/error.c: Update from GNU libc.
93967
93968 2001-09-01  Jim Meyering  <meyering@lucent.com>
93969
93970         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
93971         Used by df.
93972
93973 2001-09-01  Jim Meyering  <meyering@lucent.com>
93974
93975         * lib/xreadlink.c: New file.
93976         * lib/xreadlink.h: New file.
93977         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
93978         xreadlink.h.
93979
93980         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93981         doesn't conflict with sparc Solaris 7's definition in
93982         /usr/include/sys/int_types.h.
93983
93984         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93985         files.
93986         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93987         and strncasecmp as r-values.  Unixware didn't have declarations.
93988
93989 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93990
93991         * lib/xstrtol.h: Add copyright notice.
93992         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93993         LONGINT_INVALID_SUFFIX_CHAR.
93994
93995 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93996
93997         * lib/xstrtol.c (strtoimax): New decl.
93998
93999 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94000
94001         * lib/xgetcwd.c: Don't include pathmax.h.
94002         Include stdlib.h and unistd.h if available.
94003         Include xalloc.h.
94004         (xmalloc, xstrdup, free): Remove decls.
94005         (xgetcwd): Don't assume sizes fit in unsigned.
94006         Check for overflow when computing sizes.
94007         Simplify reallocation code.
94008
94009 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94010
94011         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
94012         a directory's st_size can have an arbitrary value, so the old
94013         usage could waste an arbitrary amount of memory.  All uses
94014         changed.
94015         * lib/savedir.h: Update prototype.
94016
94017 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94018
94019         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
94020
94021         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
94022         old strtoimax.c.
94023
94024         Also, make the following further changes to make this file's
94025         configuration more similar to that of strtol.c:
94026         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
94027         (strtoumax, uintmax_t, strtoull, strtol): Remove.
94028         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
94029         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
94030         changed to signed values.
94031
94032         And make the following changes as well:
94033         Fix copyright notice, as 1999 was missing.
94034         (verify): New macro.
94035         (strtoimax): Check sizes at compile-time, not run-time.
94036         Prefer strtol to strtoll if both work.
94037         (main): Remove; it was not that useful and was a pain to maintain.
94038
94039         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
94040
94041 2001-08-31  Jim Meyering  <meyering@lucent.com>
94042
94043         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
94044         Use an initial, malloc'd, buffer of length 128 rather than
94045         a statically allocated one of length 1024.
94046
94047 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94048
94049         Simplify code, partly by assuming autoconf 2.52 semantics.
94050
94051         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
94052
94053         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
94054         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
94055         All uses removed.
94056         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
94057         Move AC_REQUIRE to next-to-top level, to avoid confusion.
94058         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
94059         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
94060         jm_AC_HEADER_INTTYPES_H.
94061         * m4/jm-macros.m4 (jm_MACROS): Likewise.
94062
94063         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
94064
94065         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94066         Quote first arg of AC_DEFUN.
94067         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
94068         since they are needed to parse the include file even if we need
94069         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
94070         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
94071         but with opposite signedness.
94072
94073 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94074
94075         Merge 'exclude' changes from tar 1.13.22.
94076         This fixes one or two unlikely storage allocation overflow bugs,
94077         but doesn't change user-visible behavior otherwise.
94078
94079 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94080
94081         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
94082         (jm_PREREQ_EXCLUDE): New macro.
94083
94084 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94085
94086         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
94087         tm to be declared.
94088
94089 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94090
94091         * lib/hash.c: Remove '2001' from copyright notice.
94092
94093 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94094
94095         * lib/full-write.h: New file.
94096         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
94097         * lib/full-write.c: Correct credits, as cccp.c no longer
94098         exists and anyway it was so heavily changed from the old cccp
94099         code as to be unrecognizable.  Include full-write.h.
94100         (full_write): Return size_t, with short writes meaning failure.
94101         All callers changed.  This fixes a bug with large buffers
94102         on 64-bit hosts.
94103         * lib/utime.c: Include full-write.h.
94104
94105 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94106
94107         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
94108         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
94109         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
94110         Include if available.
94111         (<xalloc.h>): Include
94112         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
94113         (verify): New macro.  Use it to verify that EXCLUDE macros do not
94114         collide with FNM macros.
94115         (struct patopts): New struct.
94116         (struct exclude): Use it, as exclude patterns now come with options.
94117         (new_exclude): Support above changes.
94118         (new_exclude, add_exclude_file):
94119         Initial size must now be a power of two to simplify overflow checking.
94120         (free_exclude, fnmatch_no_wildcards): New function.
94121         (excluded_filename): No longer requires options arg, as the options
94122         are determined by add_exclude.  Now returns bool, not int.
94123         (excluded_filename, add_exclude):
94124         Add support for the fancy new exclusion options.
94125         (add_exclude, add_exclude_file): Now takes int options arg.
94126         Check for arithmetic overflow when computing sizes.
94127         (add_exclude_file): xrealloc might modify errno, so don't
94128         realloc until after errno might be used.
94129
94130         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
94131         New macros.
94132         (free_exclude): New decl.
94133         (add_exclude, add_exclude_file): Now takes int options arg.
94134         (excluded_filename): No longer requires options arg, as the options
94135         are determined by add_exclude.  Now returns bool, not int.
94136
94137 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94138
94139         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
94140
94141 2001-08-27  Jim Meyering  <meyering@lucent.com>
94142
94143         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
94144
94145         * lib/version-etc.c (N_): Remove definition.
94146         Revert most of last change.
94147         Instead, simply don't mark the `Copyright...' string for translation.
94148         Based on advice from Paul Eggert.
94149
94150         * lib/strtoxmax.c: Tweak comment.
94151
94152 2001-08-26  Jim Meyering  <meyering@lucent.com>
94153
94154         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
94155
94156         * m4/xstrtoimax.m4: New file.
94157         * m4/xstrtoumax.m4: Add comments explaining why we
94158         AC_REPLACE_FUNCS(strtol).
94159
94160 2001-08-26  Jim Meyering  <meyering@lucent.com>
94161
94162         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
94163         of copyright with `%s' so translators don't get an untranslated
94164         message in 2002.
94165         (COPYRIGHT_YEAR): Define.
94166         (version_etc): Use fprintf rather than fputs.
94167         Suggestion from Ulrich Drepper.
94168
94169         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
94170
94171         * lib/strtoll.c: New file, from GNU libc.
94172         * lib/xstrtoimax.c: New file.
94173
94174         * lib/xstrtol.h: Add xstrtoimax.
94175         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
94176         * lib/strtoimax.c: New file.  Likewise, but first define
94177         STRTOUXMAX_SIGNED.
94178
94179         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
94180         ...
94181         * lib/strtoxmax.c: ... then renamed to this.
94182
94183 2001-08-18  Paul Eggert  <eggert@twinsun.com>
94184
94185         * m4/inttypes.m4: Add AC_PREREQ(2.13).
94186         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
94187         (jm_AC_TYPE_INTMAX_T): New macro.
94188         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
94189
94190         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
94191
94192         * m4/longlong.m4: Renamed from ulonglong.m4.
94193         * m4/inttypes.m4: Renamed from inttypes_h.m4.
94194         * m4/uintmax_t.m4: Removed.
94195
94196 2001-08-13  Paul Eggert  <eggert@twinsun.com>
94197
94198         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
94199         Port to Solaris 8, where 'sed' requires a space after the 'r'
94200         command, and where sh dislikes "$/".  Clean up the spacing a bit.
94201         Redirect output to $tmp just once.
94202
94203 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
94204
94205         * lib/addext.c (<errno.h>): Include.
94206         (errno): Declare if not defined.
94207         (addext): Work correctly when pathconf returns -1 and leaves
94208         errno alone because there is no limit.  Also, work even if
94209         pathconf returns a value greater than SIZE_MAX.
94210
94211 2001-08-12  Jim Meyering  <meyering@lucent.com>
94212
94213         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
94214         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
94215         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
94216         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
94217         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
94218         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
94219         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
94220         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
94221         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
94222         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
94223         utime.m4, utimes.m4, xstrtoumax.m4:
94224         Quote the first argument in each use of AC_DEFUN.
94225
94226 2001-08-12  Jim Meyering  <meyering@lucent.com>
94227
94228         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
94229         Simply `return getcwd (NULL, 0);'.
94230         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
94231         Use 1300 as initial value for length, not PATH_MAX.
94232
94233         * lib/pathmax.h: Clean up cpp syntax.
94234
94235 2001-08-12  Jim Meyering  <meyering@lucent.com>
94236
94237         * lib/gettimeofday.c: New file.
94238         * lib/gtod.h: New file.
94239         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
94240
94241 2001-08-05  Jim Meyering  <meyering@lucent.com>
94242
94243         * m4/jm-macros.m4: Require autoconf-2.52.
94244
94245 2001-08-04  Jim Meyering  <meyering@lucent.com>
94246
94247         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
94248         stmt, to get in sync with glibc.
94249
94250 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94251
94252         The following changes are from gettext 0.10.39 as maintained by
94253         Bruno Haible.
94254
94255         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
94256         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
94257         with inverted sense.  All uses changed.
94258
94259         * lib/mbswidth.c: Don't include <limits.h>.
94260         Include <stdlib.h> and <string.h> unconditionally.
94261         (iswcntrl, mbsinit, ISCNTRL): New macros.
94262         (mbsnwidth): Use K&R style function declarations.
94263         Don't bother checking for MB_LEN_MAX == 1, since the compiler
94264         can optimize it when MB_CUR_MAX == 1.
94265         The width of control characters is zero, not 1.
94266
94267 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94268
94269         The following changes are from gettext 0.10.39 as maintained by
94270         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
94271
94272         * m4/codeset.m4: Upgrade to serial AM1.
94273         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
94274         all uses changed.  Quote first arg of AC_DEFUN.
94275         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
94276
94277         * m4/iconv.m4: Upgrade to serial AM2.
94278         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
94279         Add --with-libconv-prefix.
94280         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
94281         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
94282         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
94283         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
94284         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
94285
94286         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
94287         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
94288         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
94289         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
94290         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
94291         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
94292         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
94293         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
94294         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94295
94296         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
94297         string.h any more.
94298
94299         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
94300         not the default value.
94301
94302         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
94303         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
94304         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
94305         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
94306         Also check for iswcntrl, used for wcwidth fallback.
94307         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
94308         to Autoconf 2.13.
94309
94310 2001-08-03  Jim Meyering  <meyering@lucent.com>
94311
94312         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
94313         as it was in the original.  Reported by Paul Eggert.
94314
94315 2001-07-16  Jim Meyering  <meyering@lucent.com>
94316
94317         * m4/gettimeofday.m4: New file.
94318         Prompted by a report from Bernhard Baehr.
94319
94320 2001-07-15  Jim Meyering  <meyering@lucent.com>
94321
94322         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
94323         stuff. Now it's in ../Makefile.cfg.
94324
94325 2001-07-15  Jim Meyering  <meyering@lucent.com>
94326
94327         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
94328         (BUILT_SOURCES): Add unlocked-io.h.
94329         (io_functions): Define.
94330         (unlocked-io.h): New rule.
94331         (DISTCLEANFILES): Add unlocked-io.h.
94332         (all-local): Depend on unlocked-io.h, to ensure it is created.
94333
94334         * lib/unlocked-io.hin: New file
94335
94336         * lib/regex.c: Update from glibc.
94337
94338 2001-07-05  Jim Meyering  <meyering@lucent.com>
94339
94340         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
94341         recommendation.
94342         (libfetish_a_SOURCES): Put all .h files here instead.
94343         Remove a thus-exposed (better checks in automake) duplicate and
94344         two unnecessary .h files.
94345
94346 2001-07-04  Jim Meyering  <meyering@lucent.com>
94347
94348         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94349         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94350         distcheck failure.
94351
94352 2001-07-02  Jim Meyering  <meyering@lucent.com>
94353
94354         The following changes were prompted by suggestions from Bruno Haible.
94355
94356         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94357         is now generated.
94358         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94359         definition of EXTRA_DIST.
94360         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94361         ensure that the generated file is created/updated whenever the list
94362         of $(unlocked_functions) is changed.
94363         (jm-glibc-io.m4): New rule.
94364         (unlocked-io.h): New rule -- currently unused.
94365
94366 2001-06-24  Jim Meyering  <meyering@lucent.com>
94367
94368         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94369         unmatched right bracket, rather than kludging it with an extra,
94370         falsely-matching quote in a comment.  Patch by Akim Demaille.
94371
94372 2001-06-11  Jim Meyering  <meyering@lucent.com>
94373
94374         * lib/regex.c: Update from GNU libc.
94375
94376 2001-05-27  Jim Meyering  <meyering@lucent.com>
94377
94378         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94379         Check for ut_type in struct utmp.
94380
94381 2001-05-27  Jim Meyering  <meyering@lucent.com>
94382
94383         * lib/readutmp.h (UT_TYPE): Define.
94384
94385 2001-05-24  Jim Meyering  <meyering@lucent.com>
94386
94387         * lib/argmatch.c: Include "quote.h".
94388         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94389         quote function.  Reported by Göran Uddeborg.
94390
94391 2001-05-22  Jim Meyering  <meyering@lucent.com>
94392
94393         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94394         now that we use the package-supplied version unconditionally.
94395         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94396
94397 2001-05-21  Jim Meyering  <meyering@lucent.com>
94398
94399         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94400         shell syntax errors.
94401
94402 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94403
94404         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
94405
94406 2001-05-20  Paul Eggert  <eggert@twinsun.com>
94407
94408         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
94409         Don't bother to check library strftime, since
94410         we'll be using our own my_strftime function anyway.
94411         Define my_strftime instead of strftime.
94412
94413 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
94414
94415         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
94416         which is not yet declared.
94417
94418 2001-05-15  Jim Meyering  <meyering@lucent.com>
94419
94420         * m4/regex.m4: Use proper quoting so brackets appear in the test
94421         program.
94422         Reported by, and with help from, Bruno Haible.
94423
94424 2001-05-13  Jim Meyering  <meyering@lucent.com>
94425
94426         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
94427         undefined.
94428
94429 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94430
94431         dirname code cleanup.  base_name now behaves more compatibly
94432         with POSIX basename when given file names that have trailing
94433         slashes, and similarly for dir_name.  Add new primitives
94434         base_len and dir_len.  Put the directory-name-related decls
94435         into dirname.h.
94436
94437         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94438         * lib/backupfile.c (base_name): Likewise.
94439         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
94440         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
94441         * lib/makepath.c (strip_trailing_slashes): Likewise.
94442         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
94443         ISSLASH): Likewise.
94444         * lib/rename.c (strip_trailing_slashes): Likewise.
94445         * lib/same.c (base_name): Likewise.
94446         * lib/stripslash.c (ISSLASH): Likewise.
94447
94448         * lib/addext.c: Include <dirname.h> after size_t is defined.
94449         * lib/backupfile.c: Likewise.
94450
94451         * lib/addext.c (addext): Use base_len to trim redundant
94452         trailing slashes instead of doing it ourselves.
94453         But do not trim the last slash if it is not redundant.
94454
94455         * lib/backupfile.c (find_backup_file_name,
94456         max_backup_version): Use base_len instead of rolling it ourselves.
94457         Handle the case of "" and (on DOS) "C:" correctly.
94458
94459         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
94460         needed. Include <string.h>, <dirname.h>.
94461         (base_name): Allow file names ending in slashes, other than names
94462         that are all slashes.  In this case, return the basename followed
94463         by the slashes.  This is more general, and can be used in places
94464         where the original base_name purposely had an assertion failure.
94465         (base_len): New function.
94466
94467         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
94468         Do not include <assert.h>; no longer needed.
94469         Include xalloc.h.
94470         (memrchr): Remove decl.
94471         (dir_name_r): Remove.
94472         (dir_len): Renamed from dirlen.  All callers changed.
94473         Rewrite in terms of base_name, for simplicity and consistency.
94474         (dir_name): Never return NULL.  All callers changed.
94475         Do not include <stdlib.h> in test program; no longer needed.
94476         return 0; is fine for test program.
94477
94478         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
94479         New macros.
94480         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
94481
94482         * lib/path-concat.c (path_concat): Use base_len to compute
94483         base length, not strlen; this means we cannot rely on memcpy
94484         to null-terminate.
94485
94486         * lib/same.c (STREQ): Remove.
94487         (same_name): Handle the case where the basename ends in trailing '/'.
94488
94489         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
94490         a slash was stripped.  Do not strip the last slash after a
94491         file system prefix.
94492
94493 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94494
94495         * lib/Makefile.am (libfetish_a_SOURCES):
94496         Add strftime.c, since we now compile it on all hosts.
94497
94498         * lib/strftime.c (my_strftime):
94499         Define to nstrftime if emacs, but only if my_strftime is not defined.
94500         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
94501         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
94502         Add one more extra argument: a nanoseconds value.
94503         All uses changed.
94504         (ns): New macro.
94505         (my_strftime function): Add %N format.
94506         (emacs_strftimeu): Renamed from emacs_strftime,
94507         with extra ut argument.
94508
94509 2001-05-09  Paul Eggert  <eggert@twinsun.com>
94510
94511         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
94512
94513 2001-04-21  Jim Meyering  <meyering@lucent.com>
94514
94515         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
94516         doesn't interfere.
94517
94518 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94519
94520         * m4/ftruncate.m4: Check for chsize.
94521         Link with ftruncate.o unconditionally if ftruncate is missing.
94522         This was required when cross-compiling to i586-mingw32msvc.
94523
94524 2001-04-08  Jim Meyering  <meyering@lucent.com>
94525
94526         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
94527         recomputed; that's necessary when the offset spans a DST transition.
94528         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
94529
94530 2001-04-02  Jim Meyering  <meyering@lucent.com>
94531
94532         * lib/regex.h, regex.c: Update from GNU libc.
94533
94534 2001-03-24  Jim Meyering  <meyering@lucent.com>
94535
94536         * m4/jm-macros.m4: Require autoconf-2.49d.
94537
94538 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
94539
94540         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
94541
94542 2001-03-19  Paul Eggert  <eggert@twinsun.com>
94543
94544         * lib/version-etc.c (version_etc_copyright): Update to 2001.
94545
94546 2001-03-17  Jim Meyering  <meyering@lucent.com>
94547
94548         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
94549         now that the version in autoconf is equivalent.
94550         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
94551
94552         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
94553         Suggestion from Akim Demaille.
94554
94555         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
94556         (jm_PREREQ_TEMPNAME): New function.
94557
94558 2001-03-16  Paul Eggert  <eggert@twinsun.com>
94559
94560         * lib/tempname.c (uint64_t): Define to uintmax_t if
94561         not defined, and if UINT64_MAX is not defined.
94562         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
94563         Reported by John David Anglin.
94564
94565 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
94566
94567         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
94568         resolve alias if codeset is empty.
94569         * lib/config.charset (BeOS): Use wildcard syntax.
94570
94571 2001-03-13  Jim Meyering  <meyering@lucent.com>
94572
94573         * lib/path-concat.c (path_concat)
94574         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
94575         concatenating e.g., `C:' and `foo'.
94576         From Bruno Haible.
94577
94578 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94579
94580         * lib/localcharset.c (locale_charset): Don't use
94581         setlocale(LC_CTYPE,NULL). Don't return NULL.
94582         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
94583
94584 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94585
94586         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
94587         support for DOS/DJGPP.
94588
94589 2001-03-01  Paul Eggert  <eggert@twinsun.com>
94590
94591         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
94592         lacks mkstemp.  Compile our own tempname.c if we compile our own
94593         mkstemp.c, as mkstemp relies on tempname.
94594
94595 2001-03-01  Jim Meyering  <meyering@lucent.com>
94596
94597         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
94598         AH_VERBATIM really does output its argument verbatim.
94599
94600 2001-02-28  Paul Eggert  <eggert@twinsun.com>
94601
94602         * lib/Makefile.am (libfetish_a_SOURCES):
94603         Add dup-safer.c, fopen-safer.c.
94604         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
94605
94606         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
94607         * lib/unistd-safer.h: New files.
94608
94609 2001-02-25  Paul Eggert  <eggert@twinsun.com>
94610
94611         The mkstemp replacement is taken from glibc 2.2.2, with some
94612         portability fixes for use outside glibc, as follows:
94613
94614         * lib/tempname.c (struct_stat64): New macro.
94615         (direxists, __gen_tempname): Use it.
94616         This avoids a portability problem with Solaris 8.
94617
94618         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
94619         (<stddef.h>, <stdint.h>, <string.h>):
94620         Include only if STDC_HEADERS || _LIBC.
94621         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
94622         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
94623         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
94624         (__set_errno): Define this macro if <errno.h> doesn't.
94625         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
94626         Define these macros if <stdio.h> doesn't.
94627         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
94628         Define these macros if <sys/stat.h>
94629         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
94630         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
94631         __xstat64): Define if not _LIBC.
94632         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
94633         (__gen_tempname): Invoke gettimeofday only if
94634         HAVE_GETTIMEOFDAY || _LIBC;
94635         otherwise, fall back on plain "time".
94636         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
94637
94638         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
94639
94640         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
94641
94642 2001-02-18  Paul Eggert  <eggert@twinsun.com>
94643
94644         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
94645
94646 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94647
94648         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
94649         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
94650         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
94651         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94652
94653 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94654
94655         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
94656         Remove workaround macros for hosts that have mbrtowc but not
94657         mbstate_t, as we now insist on proper declarations for both
94658         before using mbrtowc.
94659
94660 2001-02-17  Jim Meyering  <meyering@lucent.com>
94661
94662         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
94663         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
94664         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
94665         UnixWare 7.1.1.
94666
94667         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
94668         rather than AC_CACHE_VAL.
94669
94670 2001-02-17  Jim Meyering  <meyering@lucent.com>
94671
94672         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
94673         around included file name.
94674
94675         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
94676
94677         * lib/strftime.c: Update from GNU libc (the only changes were to
94678         comments).
94679
94680 2001-02-17  Jim Meyering  <meyering@lucent.com>
94681
94682         * lib/regex.c: Update from libc.
94683
94684 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
94685
94686         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
94687         clash.
94688
94689 2001-02-16  Paul Eggert  <eggert@twinsun.com>
94690
94691         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
94692         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
94693         Reported by Mark Hounschell via Paul Eggert.
94694
94695 2001-02-07  Jim Meyering  <meyering@lucent.com>
94696
94697         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
94698
94699 2001-02-05  Jim Meyering  <meyering@lucent.com>
94700
94701         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
94702         it includes the patch required for `large file' support with at least
94703         HP-UX's 10.20 /bin/cc.
94704
94705 2001-02-03  Jim Meyering  <meyering@lucent.com>
94706
94707         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
94708         AS_IF, now that it works once again (mysteriously).
94709         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94710
94711 2001-01-30  Jim Meyering  <meyering@lucent.com>
94712
94713         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
94714         * m4/chown.m4: Rename conftestchown to conftest.chown.
94715         * m4/rename.m4: s/conftestdir/conftest.d1/ and
94716         s/conftestdir2/conftest.d2/.
94717         * m4/utimes.m4: s/conftestdata/conftest.data/
94718         Inspired by Pavel Roskin's change in autoconf.
94719
94720 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
94721
94722         * lib/config.charset: Update for FreeBSD 4.2.
94723
94724 2001-01-27  Jim Meyering  <meyering@lucent.com>
94725
94726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
94727         a use of AS_IF.
94728         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94729
94730 2001-01-26  Jim Meyering  <meyering@lucent.com>
94731
94732         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
94733         quotearg.c includes it.
94734
94735 2001-01-26  Jim Meyering  <meyering@lucent.com>
94736
94737         * lib/quotearg.c: Include stddef.h.
94738         * lib/quote.c: Include stddef.h.
94739         Reported by Axel Kittenberger.
94740
94741         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
94742         line in double quotes so that it evokes a better diagnostic.
94743         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
94744         Reported by Axel Kittenberger.
94745
94746 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
94747
94748         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
94749         as if it was a `charset'.
94750
94751 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94752
94753         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
94754         has const.
94755
94756 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94757
94758         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
94759         to avoid a warning.  Add back 'const' to inptr.
94760
94761 2001-01-20  Jim Meyering  <meyering@lucent.com>
94762
94763         Be sure that headers are checked before used in code compiled
94764         for the type checks.
94765         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
94766         In place of that, invoke jm_CHECK_ALL_TYPES.
94767         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94768         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94769         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94770         The check for ssize_t was mistakenly run before the test for unistd.h.
94771
94772         The configure-time check for stdbool.h was missing.
94773         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94774         (jm_PREREQ_HASH): New function.
94775
94776 2001-01-17  Jim Meyering  <meyering@lucent.com>
94777
94778         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94779         for autoconf-2.49c.
94780         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94781
94782 2001-01-16  Jim Meyering  <meyering@lucent.com>
94783
94784         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94785         From Bruno Haible.
94786
94787 2001-01-14  Jim Meyering  <meyering@lucent.com>
94788
94789         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94790         foo and bar.  Create conftestdir/ in the script, not in the C code.
94791         Remove directories in the script, not in the C code.
94792         Remove conftestdir{,2} before trying to create the directory.
94793         Make the entire configure script fail if the mkdir fails.
94794
94795 2001-01-14  Jim Meyering  <meyering@lucent.com>
94796
94797         * lib/rename.c: New file.  From Volker Borchert.
94798         Include stdlib.h, string.h or strings.h, and xalloc.h.
94799         Use strip_trailing_slashes rather than open-coding it.
94800
94801 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94802
94803         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94804
94805 2001-01-03  Jim Meyering  <meyering@lucent.com>
94806
94807         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94808         of local `inptr' to avoid warning with some system declarations of
94809         iconv.
94810
94811 2001-01-02  Volker Borchert  <bt@teknon.de>
94812
94813         * m4/rename.m4: New file.
94814         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94815
94816 2001-01-01  Jim Meyering  <meyering@lucent.com>
94817
94818         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94819         even on systems with utmpx.h.  It's necessary for the declaration of
94820         utmp's ut_user member.  Reported by Andreas Jaeger.
94821
94822         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94823         available. They are required for the declarations of getgrgid and
94824         getpwuid resp.
94825         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94826         Reported by Andreas Jaeger.
94827
94828 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94829
94830         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94831         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94832         so `make install' also works in VPATH builds.
94833
94834 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94835
94836         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94837         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94838         can be used in subdirectories.
94839
94840 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94841
94842         * lib/modechange.c: Do not assume that mode_t uses the
94843         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94844         the other-execute bit of FOO even if S_IXOTH != 1.
94845
94846         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94847         WOTH, XOTH, ALLM): New macros.
94848         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94849          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94850         Use them.
94851         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94852         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94853         (mode_compile):
94854         No need to use uintmax_t; unsigned long is long enough.
94855         Don't bother to get suffix since we don't use it.
94856
94857 2000-12-26  Jim Meyering  <meyering@lucent.com>
94858
94859         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94860         better with autoheader.
94861
94862 2000-12-24  Jim Meyering  <meyering@lucent.com>
94863
94864         * lib/hash.c (is_prime): Return explicit boolean values.
94865         (hash_get_first): Return NULL to appease Irix5.6's 89.
94866         Reported by Nelson Beebe.
94867
94868 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94869
94870         * lib/localcharset.c (locale_charset): Add support for Win32.
94871
94872 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94873
94874         * lib/physmem.h, lib/physmem.c: New files.
94875
94876         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94877         (noinst_HEADERS): Add physmem.h.
94878
94879         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94880         't' for compatibility with Solaris 8 sort.
94881
94882 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94883
94884         * lib/config.charset: Add support for BeOS.
94885
94886 2000-12-17  Jim Meyering  <meyering@lucent.com>
94887
94888         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94889         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94890
94891 2000-12-16  Jim Meyering  <meyering@lucent.com>
94892
94893         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94894         N and M) would have treated it like `chown N:N FILE'.
94895
94896         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94897
94898 2000-12-16  Jim Meyering  <meyering@lucent.com>
94899
94900         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94901         SHELLS_FILE to a file name that's useful on djgpp systems.
94902         Include stdlib.h.
94903         (ADDITIONAL_DEFAULT_SHELLS): Define.
94904         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94905         Based mostly on a patch from Prashant TR.
94906
94907 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94908
94909         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94910         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94911         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94912
94913 2000-12-08  Andreas Schwab  <schwab@suse.de>
94914
94915         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94916         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94917
94918 2000-12-07  Jim Meyering  <meyering@lucent.com>
94919
94920         * lib/stripslash.c (ISSLASH): Define.
94921         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94922         `/'.
94923         From Prashant TR.
94924
94925         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94926         (dir_name_r): Declare this function as static.
94927         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94928         manifest itself on a name containing a mix of slashes and
94929         backslashes.
94930         Make this function work with names starting with a DOS-style
94931         drive letter and colon prefix.
94932         (dir_name): Append `.' if necessary.
94933         Based mostly on patches from Prashant TR and Eli Zaretskii.
94934
94935         * lib/dirname.h (dir_name_r): Remove prototype.
94936
94937 2000-12-06  Paul Eggert  <eggert@twinsun.com>
94938
94939         * m4/off_t-format.m4: Remove this file.
94940         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
94941
94942 2000-12-06  Jim Meyering  <meyering@lucent.com>
94943
94944         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
94945         replacement strtoull, we may well need the replacement strtoul, too.
94946         Check for declarations of strtoul and strtoull.
94947         Check for strtol.  Mainly as a cue to cause automake to include
94948         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
94949         Check for limits.h -- strtol.c needs it.
94950
94951 2000-12-05  Jim Meyering  <meyering@lucent.com>
94952
94953         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
94954
94955 2000-12-04  Jim Meyering  <meyering@lucent.com>
94956
94957         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94958         Also include memory.h, stdlib.h, unistd.h if appropriate.
94959         Reported by Andreas Jaeger (conflicting declaration of malloc).
94960
94961 2000-12-02  Jim Meyering  <meyering@lucent.com>
94962
94963         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
94964         * m4/jm-macros.m4 (jm_MACROS): require it.
94965
94966 2000-12-02  Jim Meyering  <meyering@lucent.com>
94967
94968         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
94969
94970 2000-12-01  Paul Eggert  <eggert@twinsun.com>
94971
94972         * lib/memrchr.c: Include <config.h> before any system include file.
94973
94974 2000-11-30  Jim Meyering  <meyering@lucent.com>
94975
94976         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
94977
94978 2000-11-30  Jim Meyering  <meyering@lucent.com>
94979
94980         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94981
94982 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94983
94984         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94985
94986 2000-11-26  Jim Meyering  <meyering@lucent.com>
94987
94988         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94989
94990 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94991
94992         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94993         size of (size_t) -1; it's not portable.
94994
94995 2000-11-17  Jim Meyering  <meyering@lucent.com>
94996
94997         * lib/strstr.c: Update from GNU libc.
94998
94999 2000-11-17  Akim Demaille  <akim@epita.fr>
95000
95001         * lib/obstack.h: Formatting changes.
95002         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
95003         prevent type checking.
95004         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
95005         cast the value to (void *): assigning a `foo *' to a `void *'
95006         variable is valid.
95007         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
95008
95009 2000-11-16  Jim Meyering  <meyering@lucent.com>
95010
95011         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
95012
95013 2000-11-11  Jim Meyering  <meyering@lucent.com>
95014
95015         * lib/error.c: Add a couple #includes, merging from GNU libc version.
95016
95017 2000-11-10  Jim Meyering  <meyering@lucent.com>
95018
95019         * lib/obstack.h: Update from GNU libc.
95020         * lib/obstack.c: Likewise.
95021
95022 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
95023
95024         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
95025
95026 2000-11-06  Paul Eggert  <eggert@twinsun.com>
95027
95028         * lib/getusershell.c (setusershell): Use rewind rather than
95029         fseek/fseeko, to avoid configuration hassles with fseeko.
95030         Don't bother opening SHELLS_FILE if shellstream is NULL;
95031         it's not necessary.
95032
95033 2000-11-05  Jim Meyering  <meyering@lucent.com>
95034
95035         * lib/makepath.h (make_dir): Declare.
95036         * lib/makepath.c (make_dir): Remove `static' attribute.
95037         Tweak a comment.
95038
95039 2000-11-04  Jim Meyering  <meyering@lucent.com>
95040
95041         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
95042
95043 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
95044
95045         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
95046         last one in a bucket, advance to the next bucket.
95047
95048 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
95049
95050         * lib/fnmatch.c: Do not comment out all the code if we are using
95051         the GNU C library, because in some cases we are replacing buggy
95052         code in the GNU C library itself.
95053
95054 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
95055
95056         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
95057         (regex_compile): Catch bogus \(\1\).
95058
95059 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95060
95061         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
95062         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
95063         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
95064
95065 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95066
95067         * lib/error.h, getline.h, modechange.h:
95068         Remove "2000" from Copyright line, as the file hasn't been
95069         changed this year other than in the copyright notice.
95070
95071         * lib/xalloc.h: Add "2000" to Copyright line, as this file
95072         was changed this year.
95073
95074 2000-10-29  Jim Meyering  <meyering@lucent.com>
95075
95076         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
95077         renaming.
95078         * m4/ls-mntd-fs.m4: Likewise
95079
95080 2000-10-29  Jim Meyering  <meyering@lucent.com>
95081
95082         * lib/xstat.in: Fix grammar in comment.
95083
95084 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
95085
95086         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
95087         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
95088         doesn't define __restrict_arr.
95089
95090 2000-10-28  Jim Meyering  <meyering@lucent.com>
95091
95092         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
95093         (jm_PREREQ_MEMCHR): New function.
95094
95095 2000-10-28  Jim Meyering  <meyering@lucent.com>
95096
95097         * lib/memchr.c: Update from libc.
95098         Adjust for portability:
95099         [HAVE_STDLIB_H]: Include stdlib.h.
95100         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
95101         Undef __memchr, too.
95102         [!weak_alias]: Define __memchr to memchr.
95103
95104         * lib/regex.c: Update from libc.
95105         * lib/regex.h: Likewise.
95106         * lib/getopt1.c: Likewise.
95107         * lib/memcmp.c: Likewise.
95108
95109         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
95110         Avoid using fseek, when possible -- it's broken by design.
95111         Patch by Ulrich Drepper.
95112
95113 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
95114
95115         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
95116         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
95117         Giving in to popular pressure to shut up the compiler with casts.
95118
95119 2000-10-26  Jim Meyering  <meyering@lucent.com>
95120
95121         * lib/strftime.c: Update from libc.
95122
95123 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
95124
95125         * regex.c: More `unsigned char' -> `re_char' changes.
95126         Also change several `int' into `re_wchar_t'.
95127         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
95128         (PUSH_FAILURE_POINTER): Don't cast any more.
95129         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
95130         We want GCC to complain, since this piece of code makes
95131         re_match non-reentrant, which *should* be fixed.
95132         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
95133         (EXTEND_BUFFER): Use RETALLOC.
95134         (SET_LIST_BIT): Don't cast.
95135         (re_wchar_t): New type.
95136         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
95137         that those two functions will always properly return.
95138         (IMMEDIATE_QUIT_CHECK): Cast to void.
95139         (analyse_first): Use recursion rather than an explicit stack.
95140         (re_compile_fastmap): Can't fail anymore.
95141         (re_search_2): Don't check re_compile_fastmap for failure.
95142         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
95143         Now also sets the new value (passed in a new argument).
95144         (re_match_2_internal): Use it.
95145         Also, use a new var `reg' of type size_t when looping through regs
95146         rather than reuse the inappropriate `mcnt'.
95147
95148 2000-10-25  Jim Meyering  <meyering@lucent.com>
95149
95150         * lib/obstack.c: Update from libc.
95151
95152 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
95153
95154         * regex.c (regex_compile): Change the way of handling a range from
95155         a char less than 256 to a char not less than 256.
95156
95157 2000-10-24  Andrew Innes  <andrewi@gnu.org>
95158
95159         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
95160         NT-Emacs only.
95161         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
95162         so that re_search functions only quit when callers expect them to.
95163
95164 2000-10-23  Jim Meyering  <meyering@lucent.com>
95165
95166         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
95167         wrong.  That set_locale call must not have any side effects.
95168         From Paul Eggert.
95169
95170 2000-10-22  Jim Meyering  <meyering@lucent.com>
95171
95172         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
95173         [CYCLIC]: Remove now-unused definition.
95174
95175         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
95176         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
95177         Suggestion from Ulrich Drepper.
95178
95179 2000-10-21  Jim Meyering  <meyering@lucent.com>
95180
95181         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
95182         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
95183         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
95184
95185 2000-10-21  Jim Meyering  <meyering@lucent.com>
95186
95187         * lib/dirname.c (memrchr): Declare if necessary.
95188         (dir_name): Remove the restriction that there be no
95189         trailing slashes.  Now, this code skips past them, effectively
95190         ignoring them.
95191         [TEST_DIRNAME] (main): New unit tests.
95192
95193         * lib/memrchr.c: New file from GNU libc.
95194         Undef __memrchr, too.
95195         [!weak_alias]: Define __memrchr to memrchr.
95196         Guard weak_alias use with `#ifdef weak_alias'.
95197
95198 2000-10-21  Jim Meyering  <meyering@lucent.com>
95199
95200         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
95201         (dir_name): Use dir_name_r.
95202         * lib/dirname.h (dir_name_r): Declare it.
95203
95204 2000-10-17  Jim Meyering  <meyering@lucent.com>
95205
95206         * lib/quote.h (PARAMS): Define and use.
95207         Reported by Akim Demaille.
95208
95209         * lib/getopt.c: Update from libc.
95210
95211 2000-10-16  Jim Meyering  <meyering@lucent.com>
95212
95213         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
95214         setlocale.
95215         From Jan Fedak.
95216
95217 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
95218
95219         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
95220
95221 2000-09-25  Jim Meyering  <meyering@lucent.com>
95222
95223         * lib/md5.h (rol): Define (from GnuPG).
95224
95225         * lib/sha.c: Give credit (GnuPG) where due.
95226         (M): Use rol rather than open-coding it.
95227         Add a FIXME comment.
95228
95229 2000-09-21  Jim Meyering  <meyering@lucent.com>
95230
95231         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
95232         Reported by Michael Stone.
95233
95234 2000-09-20  Jim Meyering  <meyering@lucent.com>
95235
95236         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
95237         (noinst_HEADERS): Add sha.h.
95238         Based on code from Scott G. Miller and from GnuPG.
95239
95240 2000-09-18  Jim Meyering  <meyering@lucent.com>
95241
95242         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
95243         LIBS. Otherwise, everyone ends up linking with -lelf for some
95244         configurations.
95245         Reported by Mike Stone.
95246
95247 2000-09-15  Jim Meyering  <meyering@lucent.com>
95248
95249         * lib/regex.c: Update from libc.
95250
95251 2000-09-10  Jim Meyering  <meyering@lucent.com>
95252
95253         * lib/getopt.c (_getopt_internal): Update from glibc.
95254
95255 2000-09-09  Jim Meyering  <meyering@lucent.com>
95256
95257         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
95258         think it should be used as a general replacement for isascii.
95259         * lib/fnmatch.c: Likewise.
95260         * lib/mbswidth.c: Likewise
95261         * lib/regex.c: Likewise.
95262
95263         Don't use atoi.
95264         * lib/userspec.c: Include sys/param.h and limits.h.
95265         Include xstrtol.h.
95266         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95267         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
95268         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
95269         UID, GID.  Check range.
95270
95271 2000-09-06  Jim Meyering  <meyering@lucent.com>
95272
95273         * lib/getopt.c (_getopt_internal): Update from glibc.
95274
95275 2000-08-30  Jim Meyering  <meyering@lucent.com>
95276
95277         * lib/strftime.c: Merge in changes from GNU libc.
95278
95279 2000-08-26  Jim Meyering  <meyering@lucent.com>
95280
95281         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
95282         * m4/fpending.m4: New file.
95283
95284 2000-08-26  Jim Meyering  <meyering@lucent.com>
95285
95286         * lib/closeout.c: Include "__fpending.h".
95287         (close_stdout_status): Return right away if there's nothing to flush.
95288
95289         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
95290         * lib/__fpending.c: New file.
95291         * lib/__fpending.h: New file.
95292
95293 2000-08-20  Jim Meyering  <meyering@lucent.com>
95294
95295         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
95296         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
95297         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
95298
95299 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
95300
95301         Improve fileutils installation on systems where running
95302         programs (like install) can't be unlinked.
95303         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
95304         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
95305
95306 2000-08-07  Paul Eggert  <eggert@twinsun.com>
95307
95308         Standardize on "memory exhausted" instead of "Memory exhausted"
95309         or "virtual memory exhausted".
95310         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
95311         "virtual memory exhausted".
95312         * lib/same.c (same_name): Invoke xalloc_die instead of printing
95313         our own message.
95314         * lib/userspec.c (parse_user_spec): Likewise.
95315         * lib/bumpalloc.h: comment fix
95316         * lib/same.c, userspec.c: Include xalloc.h.
95317
95318         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
95319         not char *const and pointing to a constant array.
95320         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
95321         (xrealloc): Comment fix.
95322
95323         * lib/userspec.c (parse_user_spec):
95324         Don't translate a message until just before returning,
95325         to avoid unnecessary translation.
95326
95327 2000-08-07  Jim Meyering  <meyering@lucent.com>
95328
95329         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
95330         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
95331         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
95332         getgroups.c, gethostname.c, getopt.h, group-member.c,
95333         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
95334         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
95335         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
95336         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
95337         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
95338         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
95339         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
95340         yesno.c: Back out Copyright date changes for each file with no change
95341         this year.  This eases coordination with other programs using the same
95342         source code modules.  From Paul Eggert.
95343
95344 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95345
95346         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95347         not char, for compatibility with glibc 2.1.3 strftime.c.
95348
95349 2000-08-03  Greg McGary  <greg@mcgary.org>
95350
95351         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95352         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95353         (EXTEND_BUFFER): Use them.
95354
95355 2000-08-01  Jim Meyering  <meyering@lucent.com>
95356
95357         * lib/dirname.c (ISSLASH): Define.
95358         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95359         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95360         both `\' and `/' may be use as path separators.
95361         Based on a patch from Prashant TR.
95362
95363 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95364
95365         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95366         slot vector a constant, since it might get modified.
95367
95368 2000-07-31  Jim Meyering  <meyering@lucent.com>
95369
95370         * lib/xmalloc.c: Use `virtual memory exhausted', not
95371         `Memory exhausted'.
95372         * lib/obstack.c (print_and_abort): Likewise.
95373
95374 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95375
95376         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95377         buffer, so that the caller can always quote one small
95378         component of a "memory exhausted" message in slot 0.
95379         From a suggestion by Jim Meyering.
95380
95381 2000-07-30  Jim Meyering  <meyering@lucent.com>
95382
95383         * lib/makepath.c (make_path): Quote the other instance, too.
95384
95385         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95386         (STATIC_BUF_SIZE): Define.
95387         (quotearg_n_options): Use only statically allocated storage when
95388         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95389         than STATIC_BUF_SIZE.
95390
95391 2000-07-29  Jim Meyering  <meyering@lucent.com>
95392
95393         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95394         * lib/dirname.c (dir_name): Likewise.
95395
95396         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95397         `/'.
95398
95399         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95400         (dir_name): Assert that there are no trailing slashes.
95401
95402 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
95403
95404         * lib/mbswidth.h (mbswidth): Add a flags argument.
95405         (mbswidth): New declaration.
95406         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
95407         * lib/mbswidth.c (mbswidth): Add a flags argument.
95408         (mbsnwidth): New function.
95409
95410 2000-07-24  Jim Meyering  <meyering@lucent.com>
95411
95412         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
95413
95414 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95415
95416         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
95417
95418 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95419
95420         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
95421         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
95422         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
95423         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
95424         invoke multibyte primitives.
95425
95426 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95427
95428         * lib/quotearg.c:
95429         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
95430         so that mbstate_t is always defined.
95431
95432         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
95433         be 1 in at least one GCC installation, and this configuration
95434         error is likely to be common.  Ignoring MB_LEN_MAX hurts
95435         performance on hosts that have mbrtowc but have only unibyte
95436         locales, but I assume these hosts are rare.
95437
95438 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95439
95440         * lib/mbswidth.c (_XOPEN_SOURCE):
95441         Don't define; this causes problems on Solaris 7.
95442         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
95443
95444 2000-07-23  Jim Meyering  <meyering@lucent.com>
95445
95446         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
95447         too: getgrgid, getpwuid, getuid.
95448
95449 2000-07-23  Jim Meyering  <meyering@lucent.com>
95450
95451         * lib/basename.c (base_name): Add an assertion.
95452
95453 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
95454
95455         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
95456         shadow its mbsinit function.
95457
95458 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95459
95460         * lib/mbswidth.h: New file.
95461         * lib/mbswidth.c: New file.
95462         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
95463         (noinst_HEADERS): Add mbswidth.h.
95464
95465 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95466
95467         * lib/config.charset: Add support for FreeBSD. Improve support for
95468         HP-UX and IRIX 6.
95469
95470 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
95471
95472         * m4/mbswidth.m4: New file.
95473         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
95474
95475 2000-07-15  Jim Meyering  <meyering@lucent.com>
95476
95477         * lib/makepath.c: Include quote.h.
95478         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
95479         corresponding argument in a `quote (...)' call.
95480         Give better diagnostics.
95481
95482         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
95483         (noinst_HEADERS): Add quote.h.
95484
95485         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
95486         from tar's src/misc.c.
95487         * lib/quote.h: New file.  Prototypes for same.
95488
95489 2000-07-14  Paul Eggert  <eggert@twinsun.com>
95490
95491         From a suggestion by Bruno Haible.
95492         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
95493         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
95494         to decide whether to define the BeOS workaround macro;
95495         this adjusts to the change to AC_MBSTATE_T.
95496
95497 2000-07-14  Jim Meyering  <meyering@lucent.com>
95498
95499         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
95500         jm_AC_TYPE_UINTMAX_T.
95501
95502 2000-07-13  Paul Eggert  <eggert@twinsun.com>
95503
95504         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
95505
95506         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
95507         quotearg_buffer_restyled): Add support for
95508         clocale_quoting_style.  Undo previous change to
95509         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
95510         and "{RIGHT QUOTATION MARK}" msgids.
95511
95512 2000-07-10  Paul Eggert  <eggert@twinsun.com>
95513
95514         From a suggestion by Bruno Haible.
95515         * m4/mbstate_t.m4 (AC_MBSTATE_T):
95516         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
95517         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
95518         and mbstate_t, to a single-part test that simply defines mbstate_t.
95519         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
95520         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
95521
95522 2000-07-10  Jim Meyering  <meyering@lucent.com>
95523
95524         * m4/strerror_r.m4: Mirror the correction made in autoconf.
95525
95526         * m4/gnu-source.m4: Output to confdefs.h directly.
95527         Suggestion from Akim Demaille.
95528
95529 2000-07-09  Paul Eggert  <eggert@twinsun.com>
95530
95531         The old behavior of quoting `like this' doesn't look good with
95532         newer, ISO-style fonts.  See:
95533         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
95534
95535         Instead, quote "like this" by default.  Let the translator
95536         tailor the locale-specific quoting behavior by providing
95537         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
95538
95539         * lib/quotearg.c (N_): New macro.
95540         (gettext_default): New function.
95541         (quotearg_buffer_restyled): Use
95542         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
95543         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
95544
95545 2000-07-09  Jim Meyering  <meyering@lucent.com>
95546
95547         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
95548         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
95549
95550         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
95551         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
95552
95553 2000-07-09  Jim Meyering  <meyering@lucent.com>
95554
95555         * lib/Most files: Update copyright dates to include 2000.
95556
95557 2000-07-08  Jim Meyering  <meyering@lucent.com>
95558
95559         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
95560         if not defined.
95561         (xgethostname): Remove now-unnecessary #ifdef.
95562         Move declaration of `err' into loop where it's used.
95563
95564 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95565         and Bruno Haible  <haible@clisp.cons.org>
95566
95567         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
95568         only if the test for an object-type mbstate_t fails.  This
95569         prevents us from mistakenly reporting that mbstate_t is a
95570         system object type after we "#define mbstate_t int" to work
95571         around its lack.
95572
95573 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95574         and Bruno Haible  <haible@clisp.cons.org>
95575
95576         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
95577
95578 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95579
95580         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
95581         to strerror_r.
95582         Include <ctype.h> for use of isalpha.
95583
95584 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95585
95586         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
95587         by allocating a larger buffer. Test the gethostname return value for
95588         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
95589         returns an error and ENAMETOOLONG isn't defined.
95590
95591 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95592
95593         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
95594         dimension.
95595
95596 2000-07-04  Jim Meyering  <meyering@lucent.com>
95597
95598         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
95599         of the deprecated AC_CHECKING.
95600
95601 2000-07-04  Jim Meyering  <meyering@lucent.com>
95602
95603         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
95604         Reported by Bruno Haible.
95605
95606 2000-07-04  Jim Meyering  <meyering@lucent.com>
95607
95608         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
95609         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
95610         lacks mbrtowc.
95611
95612 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95613
95614         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
95615         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
95616
95617 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95618         and Bruno Haible  <haible@clisp.cons.org>
95619
95620         * lib/quotearg.c (mbrtowc):
95621         Assign to *pwc, and return 1 only if result is nonzero.
95622         (iswprint): Use ISPRINT when substituting our own mbrtowc.
95623
95624 2000-07-03  Jim Meyering  <meyering@lucent.com>
95625
95626         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
95627
95628 2000-07-03  Jim Meyering  <meyering@lucent.com>
95629
95630         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
95631         This is necessary to get a definition of e.g., UTMP_FILE on
95632         HP-UX 10.20.
95633         From Bob Proulx.
95634
95635 2000-07-02  Jim Meyering  <meyering@lucent.com>
95636
95637         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
95638
95639         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
95640         AC_LIBOBJ(function_name).
95641         * m4/chown.m4: Likewise.
95642         * m4/fnmatch.m4: Likewise.
95643         * m4/ftruncate.m4: Likewise.
95644         * m4/getgroups.m4: Likewise.
95645         * m4/getline.m4: Likewise.
95646         * m4/group-member.m4: Likewise.
95647         * m4/jm-macros.m4: Likewise.
95648         * m4/lstat.m4: Likewise.
95649         * m4/malloc.m4: Likewise.
95650         * m4/memcmp.m4: Likewise.
95651         * m4/nanosleep.m4: Likewise.
95652         * m4/putenv.m4: Likewise.
95653         * m4/realloc.m4: Likewise.
95654         * m4/regex.m4: Likewise.
95655         * m4/stat.m4: Likewise.
95656         * m4/strftime.m4: Likewise.
95657
95658 2000-07-02  Jim Meyering  <meyering@lucent.com>
95659
95660         * lib/quotearg.c (mbstate_t): Don't define here.
95661
95662 2000-07-02  Jim Meyering  <meyering@lucent.com>
95663
95664         * lib/nanosleep.c (SIGCONT): Define if not already defined.
95665
95666 2000-07-01  Jim Meyering  <meyering@lucent.com>
95667
95668         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
95669
95670 2000-07-01  Jim Meyering  <meyering@lucent.com>
95671
95672         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
95673         problem.
95674
95675 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95676
95677         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
95678         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
95679
95680 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95681
95682         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
95683         per change in ../m4/ls-mntd-fs.m4.
95684         (read_filesystem_list): Ignore symbolic links.
95685
95686 2000-06-29  Jim Meyering  <meyering@lucent.com>
95687
95688         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
95689         for declaration of strcmp.
95690
95691         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
95692
95693         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
95694         Avoid warning by casting result to `char *' to remove `const'.
95695
95696 2000-06-28  Jim Meyering  <meyering@lucent.com>
95697
95698         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
95699         included by quotearg.c, for which we perform this test.  From
95700         Bruno Haible.
95701
95702 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95703
95704         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
95705         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
95706         <utmpx.h> exists, put readutmp.o into LIBOBJS.
95707
95708 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95709
95710         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
95711
95712 2000-06-26  Paul Eggert  <eggert@twinsun.com>
95713
95714         savedir now sets errno on failure and invokes xmalloc to get memory.
95715         Fix a couple of other minor bugs while we're at it.
95716
95717         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
95718         (NAMLEN): Remove macro.
95719         (malloc, realloc): Remove decls.
95720         (stpcpy): Likewise.
95721         ("xalloc.h"): Include.
95722         (NAME_SIZE_DEFAULT): New macro.
95723         (savedir): Use xmalloc / xrealloc to allocate memory.
95724         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
95725         Skip "" directory entries.
95726         Use strlen to calculate directory entry length, since the old method
95727         is rarely used these days and isn't worth supporting.
95728         Don't use a pointer after freeing it.
95729         Check for integer overflow when calculating allocation size.
95730         Use memcpy to copy entries, instead of stpcpy.
95731         Set errno properly when returning NULL.
95732         Check for readdir error.
95733
95734 2000-06-26  Jim Meyering  <meyering@lucent.com>
95735
95736         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
95737
95738 2000-06-25  Jim Meyering  <meyering@lucent.com>
95739
95740         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
95741         Linux header bug when _XOPEN_SOURCE is defined to 500.
95742
95743 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95744
95745         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
95746         deficiency.
95747
95748 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95749
95750         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
95751         Include xalloc.h.
95752         Don't include <stdlib.h>.  Don't declare malloc, realloc.
95753
95754 2000-06-24  Jim Meyering  <meyering@lucent.com>
95755
95756         * m4/strerror_r.m4: Revive this file -- to try out an experimental
95757         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
95758         for which strerror does return char*, but which lacks a conveniently
95759         accessible declaration of the function.  If the compile-test says
95760         strerror_r doesn't work, then resort to a `run'-test that works on
95761         BeOS and segfaults on DEC Unix.
95762
95763 2000-06-24  Jim Meyering  <meyering@lucent.com>
95764
95765         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
95766
95767 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95768
95769         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95770         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95771
95772 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95773
95774         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95775         (mbrtowc, mbstate_t): Define substitutes if
95776         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95777         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95778         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95779
95780 2000-06-23  Jim Meyering  <meyering@lucent.com>
95781
95782         * m4/afs.m4: Add missing AC_MSG_RESULT.
95783         Reported by Bruno Haible.
95784
95785         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95786         Suggestion from Bruno Haible.
95787
95788 2000-06-23  Jim Meyering  <meyering@lucent.com>
95789
95790         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95791
95792 2000-06-21  Jim Meyering  <meyering@lucent.com>
95793
95794         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95795
95796 2000-06-21  Jim Meyering  <meyering@lucent.com>
95797
95798         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95799         (noinst_HEADERS): Add getstr.h.
95800
95801         * lib/getline.c (getstr): Move into a separate file.
95802         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95803         the following changes: new parameter, delim2; both delim[12]
95804         parameters have type `int', not `char'.  The latter would lose
95805         with 8-bit delimiters.
95806         * lib/getstr.h: New file.
95807
95808 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95809
95810         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95811         than 1024, return a memory chunk of least possible size, instead
95812         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95813         Use free/xmalloc instead of xrealloc to avoid copying for very long
95814         paths.
95815
95816 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95817
95818         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95819         the empty string.
95820
95821 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95822
95823         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95824         address, not strdup.  Include <stdlib.h> and don't declare free().
95825
95826 2000-06-19  Jim Meyering  <meyering@lucent.com>
95827
95828         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95829
95830 2000-06-18  Jim Meyering  <meyering@lucent.com>
95831
95832         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95833
95834         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95835         `checking whether...' message to be consistent with that of the
95836         lstat test.
95837
95838 2000-06-18  Jim Meyering  <meyering@lucent.com>
95839
95840         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95841         Besides, these days every porting target provides a mkdir function.
95842
95843         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95844         needed. (this snippet comes from src/system.h).
95845
95846 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95847
95848         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95849
95850 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95851
95852         * lib/human.c (adjust_value): New function.
95853         (human_readable_inexact): Apply rounding style even when
95854         printing approximate values.
95855
95856 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95857
95858         * lib/human.c (human_readable_inexact): Allow an input block
95859         size that is not a multiple of the output block size, and vice versa.
95860         Reported by Piergiorgio Sartor.
95861
95862 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95863
95864         * lib/getdate.y (get_date): Apply relative times after time
95865         zone indicator, not before.  Reported by Todd A. Jacobs.
95866
95867 2000-06-13  Jim Meyering  <meyering@lucent.com>
95868
95869         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95870
95871         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95872
95873 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95874
95875         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95876
95877 2000-06-12  Jim Meyering  <meyering@lucent.com>
95878
95879         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95880         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95881         optional argument.
95882         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95883         the optional argument, `lib'.
95884
95885 2000-06-08  Jim Meyering  <meyering@lucent.com>
95886
95887         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95888
95889 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95890
95891         Rewrite largefile configuration so that we don't need to run
95892         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95893         AC_CANONICAL_HOST in configure.in -- jmm]
95894
95895         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95896         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95897         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95898         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95899         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95900         All uses changed.
95901         Instead of inspecting the output of getconf, try to compile the
95902         test program without and with the macro definition.
95903         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95904         for getconf.  Instead, check for the needed flags by compiling
95905         test programs.
95906
95907 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95908
95909         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95910
95911 2000-06-04  Jim Meyering  <meyering@lucent.com>
95912
95913         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95914         SunOS 4.1.4 for which gid_t is an unsigned type.
95915
95916 2000-06-03  Jim Meyering  <meyering@lucent.com>
95917
95918         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95919         now that autoconf requires that.
95920
95921         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95922         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95923         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95924
95925 2000-06-03  Jim Meyering  <meyering@lucent.com>
95926
95927         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95928
95929 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95930
95931         * m4/glibc21.m4: New file.
95932         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95933
95934 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95935
95936         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95937         newer, don't install charset.alias.
95938         * lib/config.charset: Change the Linux/glibc rules so they become empty
95939         on glibc-2.1 or newer.
95940
95941 2000-06-02  Jim Meyering  <meyering@lucent.com>
95942
95943         * lib/mountlist.c: Back out last change.  Instead, do this...
95944         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
95945         me_dummy member using the same `ignore'-testing code.
95946         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
95947         fs_type strings.
95948         From Mark D. Roth.
95949
95950 2000-05-29  Jim Meyering  <meyering@lucent.com>
95951
95952         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
95953         mounts with the `ignore' attribute.  Based on a patch from
95954         Mark D. Roth.
95955
95956 2000-05-28  Jim Meyering  <meyering@lucent.com>
95957
95958         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
95959         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95960         * m4/stat.m4: Likewise.
95961         * m4/lstat.m4: Likewise.
95962         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
95963
95964         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
95965         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
95966
95967 2000-05-26  Jim Meyering  <meyering@lucent.com>
95968
95969         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
95970
95971 2000-05-24  Jim Meyering  <meyering@lucent.com>
95972
95973         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
95974         autoconf requires that.
95975         * m4/lib-check.m4: Likewise.
95976         * m4/jm-macros.m4: Likewise.
95977         * m4/strftime.m4: Likewise.
95978
95979         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95980         AC_CHECK_DECLS, now that autoconf requires that.
95981
95982 2000-05-22  Jim Meyering  <meyering@lucent.com>
95983
95984         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95985         * m4/lstat.m4: Likewise.
95986
95987 2000-05-22  Jim Meyering  <meyering@lucent.com>
95988
95989         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95990
95991 2000-05-20  Jim Meyering  <meyering@lucent.com>
95992
95993         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95994         (jm_PREREQ): Use it.
95995
95996 2000-05-18  Jim Meyering  <meyering@lucent.com>
95997
95998         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95999         back, too, since it may have been modified by allocate_entry.
96000         (hash_delete): Rewrite to use neither the assignment operator
96001         nor the comma operator in an if-expression.
96002
96003 2000-05-15  Paul Eggert  <eggert@twinsun.com>
96004
96005         * lib/closeout.c:
96006         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
96007         Remove; no longer needed.
96008         "quotearg.h": Add include.
96009         (file_name): Do not bother to explicitly initialize to NULL; it's less
96010         efficient on some hosts.
96011         (close_stdout_status): Remove test as to whether stdout was already
96012         closed; it breaks for the case "echo x | sort >&-".
96013         Quote file name colons.
96014         Do not assume that _("write error") lacks format strings.
96015
96016 2000-05-15  Jim Meyering  <meyering@lucent.com>
96017
96018         * lib/version-etc.c (version_etc_copyright): Update the copyright
96019         string used in all --version output.
96020
96021 2000-05-14  Jim Meyering  <meyering@lucent.com>
96022
96023         * lib/closeout.c (close_stdout_set_file_name): New function.
96024         (close_stdout_status): Use new file-scoped global.
96025         Return right away if fstat says the stdout file descriptor is invalid.
96026         * lib/closeout.h (close_stdout_set_file_name): Declare.
96027
96028 2000-05-10  Jim Meyering  <meyering@lucent.com>
96029
96030         * lib/closeout.c [default_exit_status]: New file-scoped variable.
96031         (close_stdout_set_status): New function.
96032         * lib/closeout.h (close_stdout_set_status): Declare.
96033
96034 2000-05-09  Jim Meyering  <meyering@lucent.com>
96035
96036         * m4/gettext.m4: Rename this...
96037         * m4/libintl.m4: ...to this.
96038
96039 2000-05-08  Jim Meyering  <meyering@lucent.com>
96040
96041         * lib/long-options.c: Don't include closeout.h.
96042         (parse_long_options): Don't call close_stdout for --version.
96043
96044 2000-05-06  Paul Eggert  <eggert@twinsun.com>
96045
96046         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
96047         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
96048         2.1.3 bug.  This avoids a clash when files like regex.c define
96049         _GNU_SOURCE.
96050
96051 2000-05-06  Jim Meyering  <meyering@lucent.com>
96052
96053         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
96054         (AC_REPLACE_FUNCS): Add strnlen.
96055
96056         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
96057         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
96058
96059         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
96060         AC_SEARCH_LIBS call for nanosleep.
96061         (LIB_NANOSLEEP): Set and AC_SUBST.
96062
96063 2000-05-06  Jim Meyering  <meyering@lucent.com>
96064
96065         * lib/strnlen.c: Undefine __strnlen and strnlen.
96066         [!weak_alias]: Define __strnlen to strnlen.
96067
96068         * lib/atexit.c: New file, from libiberty.
96069
96070 2000-05-06  Jim Meyering  <meyering@lucent.com>
96071
96072         * lib/closeout.c (close_stdout_status): Also check for errors on the
96073         stderr stream.
96074
96075 2000-05-05  Jim Meyering  <meyering@lucent.com>
96076
96077         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
96078         AC_SEARCH_LIBS call for clock_gettime.
96079         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
96080
96081         * m4/search-libs.m4: Update from autoconf.
96082
96083         su doesn't work on Solaris 2.6.
96084         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
96085         <shadow.h>.  Reported by Dragos Harabor.
96086
96087 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
96088
96089         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
96090         memcpy instead of xmalloc, xrealloc, path_concat.
96091         (locale_charset): Treat empty environment variables as absent.
96092         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
96093
96094 2000-05-04  Jim Meyering  <meyering@lucent.com>
96095
96096         * lib/getopt.c: Update from glibc.
96097         * lib/obstack.c: Likewise.
96098         * lib/obstack.h: Likewise.
96099         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
96100         file
96101
96102         * lib/regex.h: Likewise.
96103         * lib/strndup.c: Likewise.
96104         * lib/strnlen.c: New file, from glibc.
96105
96106 2000-05-03  Jim Meyering  <meyering@lucent.com>
96107
96108         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
96109
96110 2000-05-02  Paul Eggert  <eggert@twinsun.com>
96111
96112         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
96113         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
96114         compile-time test, rather than inspecting host and OS, to
96115         decide whether to define _LARGEFILE_SOURCE.
96116
96117 2000-05-01  Jim Meyering  <meyering@lucent.com>
96118
96119         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
96120
96121         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
96122         Based on a patch from Bruno Haible.
96123
96124 2000-05-01  Jim Meyering  <meyering@lucent.com>
96125
96126         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
96127
96128 2000-04-29  Jim Meyering  <meyering@lucent.com>
96129
96130         * lib/path-concat.c: Declare strdup only if it's not defined.
96131         * lib/canon-host.c: Likewise.
96132
96133 2000-04-28  Jim Meyering  <meyering@lucent.com>
96134
96135         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
96136         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
96137         is included first, then limits.h is included by locale.h by libintl.h.
96138         From John David Anglin.
96139
96140 2000-04-25  Jim Meyering  <meyering@lucent.com>
96141
96142         * lib/makepath.c (S_IRWXUGO): Define.
96143         (make_path): Always perform explicit chmod if MODE specifies any
96144         of the `special' permission bits.  Prompted by a bug report against
96145         install from Mate Wierdl and Joost van Baal.
96146
96147 2000-04-18  Jim Meyering  <meyering@lucent.com>
96148
96149         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
96150         (jm_PREREQ): Use it.
96151
96152 2000-04-18  Jim Meyering  <meyering@lucent.com>
96153
96154         * lib/README: New file.
96155
96156         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
96157         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
96158
96159 2000-04-17  Jim Meyering  <meyering@lucent.com>
96160
96161         Get it right :-)
96162         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
96163         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
96164         Suggestion from Akim Demaille.
96165
96166 2000-04-17  Jim Meyering  <meyering@lucent.com>
96167
96168         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
96169         the definition of it to rpl_strftime also defined-away the system's
96170         declaration.
96171
96172 2000-04-15  Jim Meyering  <meyering@lucent.com>
96173
96174         Use `C' to denote so-called `contiguous' files, the same way
96175         that tar does.
96176         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
96177         (ftypelet): Use S_ISCTG.
96178         From Michael Deutschmann.
96179
96180 2000-04-14  Jim Meyering  <meyering@lucent.com>
96181
96182         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
96183         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
96184         clobbered.
96185
96186 2000-04-14  Jim Meyering  <meyering@lucent.com>
96187
96188         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
96189
96190 2000-04-13  Jim Meyering  <meyering@lucent.com>
96191
96192         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
96193         AH_VERBATIM to insert required #ifndef into config.h.in.
96194         Suggestion from Akim Demaille.
96195
96196 2000-04-12  Jim Meyering  <meyering@lucent.com>
96197
96198         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
96199         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
96200         Christian Krackowizer.
96201
96202         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
96203         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
96204         (AC_SYS_LARGEFILE): Require.
96205         (AM_C_PROTOTYPES): Require.
96206
96207 2000-04-08  Jim Meyering  <meyering@lucent.com>
96208
96209         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
96210         names don't conflict.  Reported by Eli Zaretskii.
96211
96212 2000-04-07  Jim Meyering  <meyering@lucent.com>
96213
96214         * lib/putenv.c: Move inclusion of errno.h so it follows that of
96215         sys/types.h, to work around system header problems on AIX 3.2.5.
96216         From Bruno Haible.
96217
96218 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
96219
96220         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
96221         bug.  Deal with the different error behavior of Irix iconv.
96222
96223 2000-04-05  Paul Eggert  <eggert@twinsun.com>
96224
96225         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
96226         IRIX if the installer said otherwise.
96227
96228 2000-04-05  Jim Meyering  <meyering@lucent.com>
96229
96230         Portability tweaks required for ultrix4.3.
96231         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
96232         (jm_CHECK_DECLS): Add getutent to the list of functions.
96233         (_jm_DECL_HEADERS): Add utmpx.h.
96234         From John David Anglin.
96235
96236         * m4/strftime.m4: Back out the 2000-04-02 change.
96237         Instead of that change, simply undefine putenv in the test program.
96238
96239 2000-04-05  Jim Meyering  <meyering@lucent.com>
96240
96241         Portability tweaks required for ultrix4.3.
96242         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
96243         getutent.
96244         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
96245         * lib/canon-host.c: Declare strdup.
96246         * lib/path-concat.c: Likewise.
96247         From John David Anglin.
96248
96249 2000-04-04  Jim Meyering  <meyering@lucent.com>
96250
96251         Be more DOS 8.3-friendly.
96252         * lib/ref-add.sin: Renamed from ref-add.sed.in.
96253         * lib/ref-del.sin: Renamed from ref-del.sed.in.
96254         * lib/Makefile.am: Reflect renaming.
96255         Reported by Eli Zaretskii.
96256
96257         Use a temporary file name that won't clash with `charset.alias'
96258         in the DOS 8.3 name space.
96259         * lib/Makefile.am (charset_tmp): Define.
96260         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
96261         (uninstall-local): Likewise.
96262         Reported by Eli Zaretskii.
96263
96264 2000-04-03  Jim Meyering  <meyering@lucent.com>
96265
96266         * m4/gettext.m4: Fix typo in comment.
96267
96268         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
96269         textutils/configure.in).  Suggestion from Paul Eggert.
96270         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
96271
96272 2000-04-02  Paul Eggert  <eggert@twinsun.com>
96273
96274         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
96275         variable in the shell rather than using putenv, which isn't
96276         portable.  This avoids the configure-time inter-test dependency
96277         on the potentially-renamed putenv function.
96278
96279 2000-03-30  Paul Eggert  <eggert@twinsun.com>
96280
96281         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
96282         before checking struct stat.st_blksize, so that
96283         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
96284
96285 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96286
96287         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
96288         since strftime.c uses HAVE_STRFTIME to decide whether to use
96289         the underlying strftime.
96290
96291 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96292
96293         * lib/time/strftime.c (my_strftime): Make sure we call the system
96294         strftime, not ourselves, when invoking the underlying strftime.
96295
96296 2000-03-24  Jim Meyering  <meyering@lucent.com>
96297
96298         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
96299         (charset_alias): Define.
96300         (install-exec-local): Factor out common code.
96301         (uninstall-local): Split lines longer than 80.
96302         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
96303         (SUFFIXES): Define.
96304         (.sed.in.sed): New rule.  Don't redirect directly to $@.
96305         (CLEANFILES): Add ref-add.sed and ref-del.sed.
96306
96307 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
96308
96309         * lib/config.charset: Output a line containing "Packages using this
96310         file".
96311         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
96312         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
96313         ref-del.sed): New rules.
96314
96315 2000-03-17  Jim Meyering  <meyering@lucent.com>
96316
96317         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
96318         Otherwise, include <strings.h>
96319
96320 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
96321
96322         * lib/unicodeio.c (utf8_wctomb): New function.
96323         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
96324         format instead of in UCS-4 with platform dependent endianness.
96325
96326 2000-03-10  Jim Meyering  <meyering@lucent.com>
96327
96328         * m4/lib-check.m4: Look for getspnam in -lgen, too.
96329         From Marco Franzen.
96330
96331 2000-03-07  Paul Eggert  <eggert@twinsun.com>
96332
96333         * lib/savedir.c (savedir): Work even if directory size is
96334         negative; this can happen with some screwy NFS configurations.
96335
96336 2000-03-06  Jim Meyering  <meyering@lucent.com>
96337
96338         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
96339         if it's NULL (because we ran out of memory).  From Bruno Haible.
96340
96341 2000-03-05  Jim Meyering  <meyering@lucent.com>
96342
96343         * lib/localcharset.c ("path-concat.h"): Include.
96344         (get_charset_aliases): Use path_concat instead of ANSI string
96345         concatenation.
96346
96347         * lib/unicodeio.h (PARAMS): Define.
96348         Use it to guard prototype.
96349
96350 2000-03-04  Jim Meyering  <meyering@lucent.com>
96351
96352         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96353         for lib/localcharset.c.
96354
96355 2000-03-04  Jim Meyering  <meyering@lucent.com>
96356
96357         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96358         installing into it.
96359         (uninstall-local): Uncomment this rule so `make distcheck' works
96360         once again.
96361
96362         * lib/unicodeio.c (<errno.h>): Include it.
96363         (errno): Declare if not defined.
96364
96365         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96366
96367         * lib/config.charset: New version, incorporating remarks from a linux
96368         i18n mailing list.  From Bruno Haible.
96369
96370 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96371
96372         * m4/codeset.m4: New file.
96373         * m4/iconv.m4: New file.
96374         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96375
96376 2000-03-03  Jim Meyering  <meyering@lucent.com>
96377
96378         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96379
96380 2000-03-02  Jim Meyering  <meyering@lucent.com>
96381
96382         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96383         the messages come out on separate lines.
96384
96385         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96386         rather than jm_CHECK_DECLARATIONS.
96387         * m4/decl.m4: Remove now-unused file.
96388
96389         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96390         geteuid.
96391
96392 2000-03-02  Jim Meyering  <meyering@lucent.com>
96393
96394         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96395
96396 2000-03-01  Jim Meyering  <meyering@lucent.com>
96397
96398         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96399         * lib/unicodeio.c: Likewise.
96400
96401 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
96402
96403         * lib/config.charset: New file.
96404         * lib/localcharset.c: New file.
96405         * lib/unicodeio.h, lib/unicodeio.c: New files.
96406         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
96407         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
96408         (noinst_HEADERS): Add unicodeio.h.
96409         (all-local, install-exec-local, charset.alias): New targets.
96410
96411 2000-02-28  Paul Eggert  <eggert@twinsun.com>
96412
96413         * lib/quotearg.c (ALERT_CHAR): New macro.
96414         (quotearg_buffer_restyled): Use it.
96415
96416 2000-02-27  Jim Meyering  <meyering@lucent.com>
96417
96418         * m4/check-decl.m4: Add getenv to the list.
96419
96420 2000-02-27  Jim Meyering  <meyering@lucent.com>
96421
96422         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
96423         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
96424
96425         * lib/backupfile.c: Guard inclusion of stdlib.h with
96426         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
96427         Declare malloc if needed.
96428
96429         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
96430         `#ifndef HAVE_DECL..'
96431         now that autoconf always defines the HAVE_DECL_ symbols.
96432         * lib/human.c: Likewise.
96433         * lib/same.c: Likewise.
96434         * lib/strtoumax.c: Likewise.
96435
96436         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
96437         declaration check was not run.
96438         * lib/hash.c: Likewise.
96439         * lib/human.c: Likewise.
96440         * lib/same.c: Likewise.
96441         * lib/strtoumax.c: Likewise.
96442
96443         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
96444         `.', then first look up the entire `.'-containing string as a login
96445         name.
96446
96447 2000-02-23  Jim Meyering  <meyering@lucent.com>
96448
96449         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
96450         in place of my hack.
96451
96452 2000-02-18  Paul Eggert  <eggert@twinsun.com>
96453
96454         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
96455         (textint): New typedef.
96456         (parser_control): Member year changed from int to textint.
96457         All uses changed.
96458         (YYSTYPE): Removed; replaced by %union with int and textint members.
96459         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
96460         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
96461         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
96462         (tSNUMBER, tUNUMBER): Now of type <textintval>.
96463         (date, number, to_year): Use width of number in digits, not its value,
96464         to determine whether it's a 2-digit year, or a 2-digit time.
96465         (yylex): Store number of digits of numeric tokens.
96466         Reported by John Kendall.
96467
96468         (parser_control): Changed from struct parser_control to typedef (for
96469         consistency).  All uses changed.
96470
96471         (tID): Removed; not used.
96472         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
96473
96474 2000-02-14  Paul Eggert  <eggert@twinsun.com>
96475
96476         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
96477         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
96478
96479 2000-02-12  Jim Meyering  <meyering@lucent.com>
96480
96481         * lib/userspec.c (ISDIGIT): Define it.
96482         (isdigit): Remove definition.
96483         (is_number): Use ISDIGIT, not isdigit.
96484         <libintl.h>: Include.
96485         (_ and N_): Define.
96486         (parse_user_spec): Mark translatable strings.
96487
96488 2000-02-10  Jim Meyering  <meyering@lucent.com>
96489
96490         With these changes, nanosleep.[ch] are finally enough like the other
96491         lib/* replacement files to compile on a few more losing systems.
96492
96493         * lib/nanosleep.h: Don't include config.h.
96494         Remove prototype from declaration of nanosleep.
96495         (PARAMS): Remove now-unneeded definition.
96496         * lib/nanosleep.c: #undef nanosleep.
96497         (rpl_nanosleep): Rename from nanosleep.
96498
96499 2000-02-10  Jim Meyering  <meyering@lucent.com>
96500
96501         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
96502         gnu_nanosleep to rpl_nanosleep.
96503
96504 2000-02-09  Jim Meyering  <meyering@lucent.com>
96505
96506         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
96507         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
96508
96509 2000-02-08  Akim Demaille  <akim@epita.fr>
96510
96511         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
96512         `[' and `]' and remove uses of `changequote'.
96513         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
96514         (AC_SYS_LARGEFILE): Likewise.
96515         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
96516         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
96517         of changequote.
96518         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
96519         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
96520         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
96521         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
96522
96523 2000-02-05  Jim Meyering  <meyering@lucent.com>
96524
96525         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
96526         Remove explicit use of AC_HEADER_TIME.  It is required by
96527         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
96528         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
96529         in autoconf whereby the expansion of the latter ended up preceding
96530         the expansion of its prerequisite, AC_HEADER_TIME.
96531         Reported by Volker Borchert.
96532
96533 2000-02-03  Jim Meyering  <meyering@lucent.com>
96534
96535         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
96536
96537 2000-02-03  Jim Meyering  <meyering@lucent.com>
96538
96539         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
96540         rather than with `#if HAVE_UTMPNAME'.
96541
96542 2000-02-02  Jim Meyering  <meyering@lucent.com>
96543
96544         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
96545         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
96546         Reported by Eli Zaretskii.
96547
96548 2000-02-01  Jim Meyering  <meyering@lucent.com>
96549
96550         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
96551
96552 2000-01-31  Jim Meyering  <meyering@lucent.com>
96553
96554         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
96555         functions.  Add the time.h and sys/time.h headers along with the
96556         AC_REQUIRE'ment of AC_HEADER_TIME.
96557
96558 2000-01-31  Jim Meyering  <meyering@lucent.com>
96559
96560         * lib/nanosleep.h (nanosleep): Guard declaration with
96561         `#if ! HAVE_DECL_NANOSLEEP'.
96562         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
96563         the declaration in that vendor's sys/timers.h.
96564         Reported by Christian Krackowizer.
96565
96566         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
96567         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
96568         (ISPRINT): Likewise.
96569         Reported by Tom Tromey.
96570
96571 2000-01-30  Jim Meyering  <meyering@lucent.com>
96572
96573         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
96574
96575         * m4/prereq.m4 (utmp_includes): Define.
96576         Check for ut_user and ut_name members in both struct utmpx
96577         and struct utmp.
96578
96579 2000-01-30  Jim Meyering  <meyering@lucent.com>
96580
96581         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
96582         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
96583         header files where only utmpx.ut_user is declared.
96584
96585         * lib/readutmp.h (UT_USER): Define.
96586
96587 2000-01-29  Jim Meyering  <meyering@lucent.com>
96588
96589         * m4/lib-check.m4: New file containing library-related checks from
96590         fileutils and sh-utils (textutils had none).
96591
96592 2000-01-28  Jim Meyering  <meyering@lucent.com>
96593
96594         * m4/perl.m4: Change format of warning message to look more like that
96595         from the missing script.  Suggestion from François Pinard.
96596
96597 2000-01-25  Jim Meyering  <meyering@lucent.com>
96598
96599         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
96600         well as time.h in the compile check.
96601         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
96602         Fix typo in cross-compiling case: s/yes/no/.
96603
96604 2000-01-23  Jim Meyering  <meyering@lucent.com>
96605
96606         * m4/jm-macros.m4: Move df-related tests here from
96607         fileutils/configure.in
96608
96609         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
96610         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
96611
96612         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
96613         s/space/ac_fsusage_space/.
96614         (jm_FILE_SYSTEM_USAGE): Take two parameters.
96615
96616         * m4/ftruncate.m4: New file (derived from part of
96617         fileutils/configure.in).
96618         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
96619         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
96620
96621         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
96622         AC_SUBST these here, rather than just in sh-util/configure.in, so
96623         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
96624         all the same.
96625         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
96626         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
96627         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
96628         (AC_SUBST(POW_LIBM)): Likewise.
96629         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
96630
96631 2000-01-23  Jim Meyering  <meyering@lucent.com>
96632
96633         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
96634         obstack.c.
96635
96636 2000-01-22  Jim Meyering  <meyering@lucent.com>
96637
96638         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
96639
96640         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
96641
96642         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
96643         configure.in
96644         (AC_CHECK_HEADERS): Likewise for sh-utils.
96645         (AC_CHECK_HEADERS): Likewise for textutils.
96646         Merge the three lists of headers.
96647
96648         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
96649         from fileutils' configure.in.
96650
96651         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
96652         code. Moved tests into their own function (_jm_DECL_HEADERS) in
96653         check-decl.m4.
96654
96655         * m4/check-decl.m4: Use #if rather than #ifdef.
96656         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
96657         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
96658         (_jm_DECL_HEADERS): Define new function.
96659         (jm_CHECK_DECLARATIONS): Require it.
96660
96661 2000-01-22  Jim Meyering  <meyering@lucent.com>
96662
96663         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
96664         [! HAVE_DECL_STRTOULL]: Declare strtoull.
96665         Required for some AIX systems.  Reported by Christian Krackowizer.
96666         [TESTING] (main): New function.
96667
96668         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
96669         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
96670         letters.
96671
96672         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
96673         iswprint.
96674
96675         * lib/strverscmp.c (ISDIGIT): Define.
96676         (strverscmp): Use ISDIGIT, not isdigit.
96677
96678 2000-01-19  Jim Meyering  <meyering@lucent.com>
96679
96680         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
96681         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
96682         defines `struct timespec' in <sys/time.h>
96683
96684         * m4/c-bs-a.m4: Remove uses of changequote altogether.
96685         Thanks to Akim for explaining.
96686
96687 2000-01-17  Paul Eggert  <eggert@twinsun.com>
96688
96689         * lib/nanosleep.c (nanosleep):
96690         Don't use SA_INTERRUPT to decide whether to call sigaction, as
96691         POSIX.1 doesn't require SA_INTERRUPT and some systems
96692         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
96693         it's been part of POSIX.1 since day 1 (in 1988).
96694
96695 2000-01-17  Jim Meyering  <meyering@lucent.com>
96696
96697         * lib/interlock: Remove unused file.  Reported by François Pinard.
96698
96699 2000-01-16  Paul Eggert  <eggert@twinsun.com>
96700
96701         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
96702         alert, backslash, formfeed, and vertical tab unnecessarily in
96703         shell quoting style.
96704
96705 2000-01-16  Jim Meyering  <meyering@lucent.com>
96706
96707         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
96708         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
96709         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
96710         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
96711
96712 2000-01-16  Jim Meyering  <meyering@lucent.com>
96713
96714         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
96715         because the latter didn't work.
96716
96717 2000-01-15  Jim Meyering  <meyering@lucent.com>
96718
96719         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
96720         (AC_REPLACE_FUNCS): Add memcpy and memset.
96721         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
96722         Add strpbrk.
96723         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
96724
96725 2000-01-12  Jim Meyering  <meyering@lucent.com>
96726
96727         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
96728         (jm_PREREQ): Use it.
96729         (jm_PREREQ_READUTMP): New macro.
96730         (jm_PREREQ): Use it.
96731
96732 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96733
96734         Quote multibyte characters correctly.
96735         * m4/c-bs-a.m4: New file.
96736         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
96737         (jm_PREREQ): Use it.
96738
96739 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96740
96741         * m4/uintmax_t.m4: Port to autoconf 2.13.
96742
96743 2000-01-08  Jim Meyering  <meyering@ascend.com>
96744
96745         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
96746         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
96747
96748 2000-01-04  Jim Meyering  <meyering@ascend.com>
96749
96750         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
96751         jm_STRUCT_DIRENT_D_TYPE.
96752         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
96753         jm_STRUCT_DIRENT_D_INO.
96754         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
96755         jm_STRUCT_UTIMBUF.
96756         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
96757         renamings.
96758         * m4/utime.m4: Likewise.
96759
96760         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
96761         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
96762
96763 2000-01-03  Paul Eggert  <eggert@twinsun.com>
96764
96765         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
96766         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96767
96768 2000-01-02  Jim Meyering  <meyering@ascend.com>
96769
96770         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96771         remember if this is necessary.
96772
96773 1999-12-26  Jim Meyering  <meyering@ascend.com>
96774
96775         * m4/jm-macros.m4: Use it here.
96776         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96777
96778 1999-12-23  Jim Meyering  <meyering@ascend.com>
96779
96780         * m4/jm-macros.m4: Check for clock_gettime (moved from
96781         fileutils/configure.in)
96782         Check for gettimeofday.
96783
96784 1999-12-20  Jim Meyering  <meyering@ascend.com>
96785
96786         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96787         autoconf-2.14a-1999-12-20.
96788
96789 1999-12-19  Jim Meyering  <meyering@ascend.com>
96790
96791         * m4/lstat-slash.m4: New file.
96792         * m4/jm-macros.m4: Use the new macro:
96793         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96794
96795 1999-12-07  Jim Meyering  <meyering@ascend.com>
96796
96797         * m4/perl.m4: Require that File::Compare be available, too.
96798         Too many systems seem to lack it.
96799
96800         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96801         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96802
96803 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96804
96805         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96806         problem with the QNX 4.25 shell, which doesn't propagate exit
96807         status of failed commands inside shell assignments.
96808
96809 1999-11-17  Jim Meyering  <meyering@ascend.com>
96810
96811         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96812
96813 1999-11-07  Jim Meyering  <meyering@ascend.com>
96814
96815         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96816
96817 1999-11-06  Jim Meyering  <meyering@ascend.com>
96818
96819         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96820         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96821
96822 1999-11-05  Jim Meyering  <meyering@ascend.com>
96823
96824         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96825         configure.in of textutils, fileutils, and sh-utils into this one
96826         (shared between those packages) file.
96827         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96828         AC_STRUCT_ST_BLKSIZE.
96829
96830 1999-11-03  Jim Meyering  <meyering@ascend.com>
96831
96832         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96833         of AC_CHECK_TYPE checks includes unistd.h.
96834         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96835         Suggestion from Akim Demaille.
96836
96837 1999-10-30  Jim Meyering  <meyering@ascend.com>
96838
96839         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96840         m4-quoted string.
96841         * m4/ls-mntd-fs.m4: Likewise.
96842         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96843         * m4/jm-winsz1.m4: Likewise.
96844
96845         * m4/const.m4: Remove file, since the fix made it into the experimental
96846         version of autoconf.
96847         * m4/mktime.m4: Likewise.
96848
96849         * m4/check-type.m4: Remove file, now that the latest version of
96850         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96851
96852         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96853         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96854         AC_CHECK_TYPE.
96855
96856 1999-10-04  Jim Meyering  <meyering@ascend.com>
96857
96858         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96859
96860 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96861
96862         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96863         2.95.1 bug with HP-UX 10.20.
96864
96865 1999-09-17  Jim Meyering  <meyering@ascend.com>
96866
96867         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96868         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96869         due to missing strdup (against sh-utils-2.0).
96870
96871 1999-08-29  Jim Meyering  <meyering@ascend.com>
96872
96873         * m4/jm-macros.m4: Require jm_BISON.
96874         * m4/bison.m4: New file.
96875
96876 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96877
96878         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96879         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96880
96881 1999-08-05  Jim Meyering  <meyering@ascend.com>
96882
96883         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96884         to avoid conflicts with `conftest' on 8+3 filesystems.
96885         Suggestion from Eli Zaretskii.
96886
96887 1999-08-04  Jim Meyering  <meyering@ascend.com>
96888
96889         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96890         fileutils and sh-utils (textutils's getline test was inadequate).
96891         (AM_FUNC_GETLINE): Run this test.
96892         (AC_CHECK_FUNCS): Check for getdelim.
96893         Reported by Bob Proulx.
96894
96895 1999-08-02  Jim Meyering  <meyering@ascend.com>
96896
96897         * m4/jm-macros.m4: Add a comment.
96898
96899 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96900
96901         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96902         <inttypes.h> defines strtoumax as a macro (and not as a
96903         function).
96904
96905 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96906
96907         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96908         that we can shift, multiply and divide unsigned long long
96909         values; Ultrix cc can't do it.
96910
96911 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96912
96913         * m4/mktime.m4: New file, which is a preview of what should appear
96914         in the next public autoconf release.
96915
96916 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96917
96918         * m4/lfs.m4: Remove this file.
96919         * m4/largefile.m4: New file.  It contains the old contents of
96920         lfs.m4, except that all names with prefix AC_LFS have been
96921         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96922         compatible with future autoconf versions.  Also, some minor m4
96923         quoting problems have been fixed.
96924
96925 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96926
96927         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96928         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96929         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96930         and simplify the shell code.
96931
96932 1999-08-01  Jim Meyering  <meyering@ascend.com>
96933
96934         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96935         m4.
96936
96937 1999-07-20  Jim Meyering  <meyering@ascend.com>
96938
96939         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
96940
96941 1999-07-15  Jim Meyering  <meyering@ascend.com>
96942
96943         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
96944
96945 1999-05-22  Jim Meyering  <meyering@ascend.com>
96946
96947         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
96948
96949 1999-05-20  Jim Meyering  <meyering@ascend.com>
96950
96951         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
96952         Add a colon after each `then' in case $4 is empty.
96953
96954 1999-05-16  Jim Meyering  <meyering@ascend.com>
96955
96956         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
96957
96958 1999-05-10  Jim Meyering  <meyering@ascend.com>
96959
96960         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
96961
96962         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
96963         AC_FUNC_MKTIME.
96964
96965 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
96966
96967         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
96968
96969 1999-05-04  Paul Eggert  <eggert@twinsun.com>
96970
96971         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
96972         not CPPFLAGS, so that linking works correctly in IRIX.
96973
96974 1999-04-30  Paul Eggert  <eggert@twinsun.com>
96975
96976         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
96977
96978 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96979
96980         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96981         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96982         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96983         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96984         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96985
96986         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96987
96988 1999-04-20  Jim Meyering  <meyering@ascend.com>
96989
96990         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96991         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96992         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96993
96994 1999-04-18  Jim Meyering  <meyering@ascend.com>
96995
96996         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96997         * m4/jm-macros.m4: Use it.
96998
96999 1999-04-06  Jim Meyering  <meyering@ascend.com>
97000
97001         * m4/strftime.m4: Remove test for %f.
97002
97003 1999-03-29  Jim Meyering  <meyering@ascend.com>
97004
97005         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
97006         superset of the AC_TYPE_* checks in the textutils, fileutils,
97007         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
97008         AC_TYPE_PID_T.
97009
97010 1999-03-28  Jim Meyering  <meyering@ascend.com>
97011
97012         * m4/jm-macros.m4: Define GNU_PACKAGE here.
97013         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
97014         replaced e.g., in the *.sh files of the sh-utils.
97015
97016 1999-03-20  Jim Meyering  <meyering@ascend.com>
97017
97018         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
97019         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
97020         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
97021
97022 1999-03-19  Jim Meyering  <meyering@ascend.com>
97023
97024         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
97025
97026 1999-03-12  Jim Meyering  <meyering@ascend.com>
97027
97028         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
97029
97030 1999-03-07  Jim Meyering  <meyering@ascend.com>
97031
97032         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
97033         declared.
97034
97035 1999-02-17  Jim Meyering  <meyering@ascend.com>
97036
97037         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
97038         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
97039
97040 1999-02-07  Jim Meyering  <meyering@ascend.com>
97041
97042         * m4/group-member.m4: New file -- extracted from sh-utils'
97043         configure.in.
97044
97045         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
97046         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
97047
97048 1999-02-06  Jim Meyering  <meyering@ascend.com>
97049
97050         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
97051         * m4/fnmatch.m4: Likewise.
97052         * m4/getgroups.m4: Likewise.
97053         * m4/lstat.m4: Likewise.
97054         * m4/malloc.m4: Likewise.
97055         * m4/putenv.m4: Likewise.
97056         * m4/realloc.m4: Likewise.
97057         * m4/regex.m4: Likewise.
97058         * m4/stat.m4: Likewise.
97059         * m4/strftime.m4: Likewise.
97060         Suggestion from Alain Magloire.
97061
97062         * m4/chown.m4: Use `.$ac_objext', not `.o'.
97063         * m4/fnmatch.m4: Likewise.
97064         * m4/getgroups.m4: Likewise.
97065         * m4/getline.m4: Likewise.
97066         * m4/lstat.m4: Likewise.
97067         * m4/malloc.m4: Likewise.
97068         * m4/memcmp.m4: Likewise.
97069         * m4/putenv.m4: Likewise.
97070         * m4/realloc.m4: Likewise.
97071         * m4/regex.m4: Likewise.
97072         * m4/stat.m4: Likewise.
97073         * m4/strftime.m4: Likewise.
97074         Suggestion from Alain Magloire.
97075
97076         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
97077         an argument.
97078
97079         * m4/regex.m4: Add a run-time Test for proper operation of
97080         re_compile_pattern.
97081
97082 1999-01-31  Jim Meyering  <meyering@ascend.com>
97083
97084         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
97085
97086 1999-01-30  Jim Meyering  <meyering@ascend.com>
97087
97088         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
97089
97090         * m4/jm-mktime.m4: Make this a wrapper around the official
97091         AM_FUNC_MKTIME rather than my private copy, now that the official one
97092         is up to date.
97093         * m4/mktime.m4: Remove file.
97094
97095         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
97096         * m4/uptime.m4: Likewise.
97097         * m4/uintmax_t.m4: Likewise.
97098
97099 1999-01-28  Jim Meyering  <meyering@ascend.com>
97100
97101         * m4/jm-macros.m4: Use jm_AFS.
97102         * m4/afs.m4: New file (from fileutils' configure.in).
97103
97104         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
97105         * m4/chown.m4: Likewise.
97106         * m4/d-ino.m4: Likewise.
97107         * m4/d-type.m4: Likewise.
97108         * m4/fnmatch.m4: Likewise.
97109         * m4/getgroups.m4: Likewise.
97110         * m4/gettext.m4: Likewise.
97111         * m4/jm-mktime.m4: Likewise.
97112         * m4/jm-winsz2.m4: Likewise.
97113         * m4/lcmessage.m4: Likewise.
97114         * m4/ls-mntd-fs.m4: Likewise.
97115         * m4/malloc.m4: Likewise.
97116         * m4/memcmp.m4: Likewise.
97117         * m4/putenv.m4: Likewise.
97118         * m4/realloc.m4: Likewise.
97119         * m4/st_mtim.m4: Likewise.
97120         * m4/strftime.m4: Likewise.
97121
97122 1999-01-16  Jim Meyering  <meyering@ascend.com>
97123
97124         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
97125         (ARGMATCH_DIE_DECL): Define.
97126
97127 1999-01-12  Jim Meyering  <meyering@ascend.com>
97128
97129         * m4/Makefile.am.in: Rewrite to avoid using fmt.
97130         Reported by Lars Hecking.
97131
97132 1999-01-10  Jim Meyering  <meyering@ascend.com>
97133
97134         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
97135         gross kludge.
97136         * m4/inttypes_h.m4: Likewise.
97137         * m4/lstat.m4: Likewise.
97138         * m4/malloc.m4: Likewise.
97139         * m4/readdir.m4: Likewise.
97140         * m4/realloc.m4: Likewise.
97141         * m4/st_dm_mode.m4: Likewise.
97142         * m4/stat.m4: Likewise.
97143         * m4/utimbuf.m4: Likewise.
97144         * m4/utimes.m4: Likewise.
97145
97146         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
97147         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
97148         comments in config.h.in are meaningful.
97149
97150         * m4/jm-macros.m4: Require autoconf-2.13 here.
97151
97152         * m4/regex.m4: By default, don't use the included regex.c on systems
97153         with glibc 2.  Suggestion from Uli Drepper.
97154
97155 1999-01-02  Jim Meyering  <meyering@ascend.com>
97156
97157         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
97158
97159 1998-12-18  Jim Meyering  <meyering@ascend.com>
97160
97161         * m4/Makefile.am.in (Makefile.am): Simplify rule.
97162         Based on a suggestion from Lars Hecking.
97163
97164 1998-11-16  Paul Eggert  <eggert@twinsun.com>
97165
97166         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
97167
97168 1998-11-16  Jim Meyering  <meyering@ascend.com>
97169
97170         * m4/lfs.m4: Double-quote the `uname...` expression.
97171
97172 1998-11-14  Jim Meyering  <meyering@ascend.com>
97173
97174         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
97175         * m4/stat.m4: Likewise.
97176
97177 1998-11-03  Jim Meyering  <meyering@ascend.com>
97178
97179         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
97180         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
97181
97182 1998-10-18  Jim Meyering  <meyering@ascend.com>
97183
97184         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
97185
97186 1998-10-17  Jim Meyering  <meyering@ascend.com>
97187
97188         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
97189         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
97190         calls for those previously hard-coded headers.  Instead, take a new
97191         parameter.
97192         (jm_CHECK_DECLARATIONS): Reflect interface change.
97193         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
97194         (jm_CHECK_DECL_LOCALTIME_R): New macro.
97195
97196         * m4/mktime.m4: Test for spring-forward gap before long-running test.
97197
97198 1998-10-14  Jim Meyering  <meyering@ascend.com>
97199
97200         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
97201         instead of "TZ=America/Vancouver".  From Paul Eggert.
97202
97203 1998-10-11  Jim Meyering  <meyering@ascend.com>
97204
97205         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
97206         This adds a test for a recently added compatibility fix for mktime.c.
97207         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
97208
97209 1998-09-27  Jim Meyering  <meyering@ascend.com>
97210
97211         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
97212
97213         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
97214         ../configure.in, including a change from Gordon Matzigkeit to allow
97215         cross-compiling for the Hurd.
97216
97217         * m4/glibc.m4: New file/macro to test for the GNU C Library
97218         versions 1 and 2.  From Gordon Matzigkeit.
97219         Indent.
97220
97221 1998-09-21  Jim Meyering  <meyering@ascend.com>
97222
97223         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
97224
97225 1998-08-18  Paul Eggert  <eggert@twinsun.com>
97226
97227         Port nanosecond-resolution times to UnixWare 2.1.2 and
97228         pedantic Solaris 2.6.
97229
97230         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
97231         AC_STRUCT_ST_MTIM.
97232         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
97233         Generate name of ns member, instead of just 1 or undef.
97234         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
97235
97236 1998-08-15  Jim Meyering  <meyering@ascend.com>
97237
97238         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
97239         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
97240         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
97241         instead of jm_TYPE_SSIZE_T.
97242
97243 1998-08-12  Jim Meyering  <meyering@ascend.com>
97244
97245         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
97246
97247 1998-08-02  Jim Meyering  <meyering@ascend.com>
97248
97249         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
97250         in acconfig.h manually.
97251
97252 1998-07-31  Paul Eggert  <eggert@twinsun.com>
97253
97254         * m4/st_mtim.m4: New file.
97255
97256 1998-07-28  Jim Meyering  <meyering@ascend.com>
97257
97258         * m4/utimes.m4: Undef stat.
97259
97260 1998-07-25  Jim Meyering  <meyering@ascend.com>
97261
97262         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
97263         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
97264
97265 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
97266
97267         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
97268         uid and gid actually remain unchanged.
97269
97270 1998-07-07  Jim Meyering  <meyering@ascend.com>
97271
97272         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
97273
97274 1998-07-04  Jim Meyering  <meyering@ascend.com>
97275
97276         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
97277         to prove that this macro can be used in packages without regex.c.
97278
97279 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
97280
97281         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
97282         is to be used.
97283
97284 1998-07-03  Jim Meyering  <meyering@ascend.com>
97285
97286         * m4/gettext.m4: Add -lintl if it's found to be necessary.
97287
97288         * m4/gettext.m4: New file -- from gettext-0.10.35.
97289         * m4/lcmessage.m4: Likewise.
97290         * m4/progtest.m4: Likewise.
97291
97292         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
97293         * m4/jm-macros.m4: Require the new macro.
97294
97295 1998-06-29  Jim Meyering  <meyering@ascend.com>
97296
97297         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
97298         for the definition of NGROUPS (used in a system header included
97299         by sys/mount.h).
97300
97301 1998-06-28  Jim Meyering  <meyering@ascend.com>
97302
97303         * m4/ls-mntd-fs.m4: New file.
97304         * m4/fstypename.m4: New file.
97305
97306         * m4/jm-macros.m4: Require the new macro.
97307         * m4/jm-glibc-io.m4: New file.
97308
97309 1998-05-19  Jim Meyering  <meyering@ascend.com>
97310
97311         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
97312         * m4/lchown.m4: New file.
97313
97314         * m4/Makefile.am.in: New file.
97315         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
97316
97317 1998-05-14  Jim Meyering  <meyering@ascend.com>
97318
97319         * m4/Makefile.am (EXTRA_DIST): Add them.
97320         * m4/jm-macros.m4: New file.
97321         * m4/utimbuf.m4: New file.
97322
97323 1998-05-12  Jim Meyering  <meyering@ascend.com>
97324
97325         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
97326
97327 1998-05-11  Jim Meyering  <meyering@ascend.com>
97328
97329         * m4/isc-posix.m4: New file.
97330
97331 1998-05-10  Jim Meyering  <meyering@ascend.com>
97332
97333         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
97334
97335 1998-05-09  Jim Meyering  <meyering@ascend.com>
97336
97337         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
97338         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
97339         with automake.
97340
97341         * m4/ssize_t.m4: New file.
97342         * m4/mktime.m4: Remove file -- the new automake has this now.
97343
97344 1998-04-26  Jim Meyering  <meyering@ascend.com>
97345
97346         * m4/assert.m4: New file.
97347         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97348
97349 1998-04-05  Jim Meyering  <meyering@ascend.com>
97350
97351         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97352         (jm_PREREQ): Use it here.
97353
97354 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97355
97356         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97357         in acconfig.h.
97358
97359 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97360
97361         * m4/prereq.m4: New file.
97362         * m4/error.m4: New file.
97363         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97364
97365 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97366
97367         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97368         cache-check for the same variable -- that defeated the purpose of
97369         the test; the test program was never run.  This was a problem only
97370         on systems with losing getline functions -- HP-UX 10.20 is one.
97371         Reported by Bjorn Helgaas.
97372
97373 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97374
97375         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97376
97377 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97378
97379         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97380
97381         * m4/const.m4: New file.  Use an initializer in this declaration
97382         typedef int charset[2]; const charset x;
97383         Reported by Bob Glickstein.
97384
97385 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97386
97387         * m4/chown.m4: Fix reversed types on -1 args to chown.
97388         From Kaveh Ghazi.
97389
97390 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97391
97392         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97393         Add lseek and memchr.
97394
97395         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97396         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97397         have a 20-character limit on names.
97398
97399 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97400
97401         * m4/inttypes_h.m4: New file.
97402         * m4/uintmax_t.m4: New file.
97403         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
97404
97405
97406         -----
97407
97408         Local Variables:
97409         coding: utf-8
97410         End:
97411
97412         Copyright (C) 1997-2012 Free Software Foundation, Inc.
97413
97414         Copying and distribution of this file, with or without
97415         modification, are permitted provided the copyright notice
97416         and this notice are preserved.